From eac4584eb73f1adb4081bd9e084bd2b82d212273 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Fri, 13 Jun 2014 11:40:38 +0200 Subject: [PATCH 01/29] Contradiction between ./cmake/Target.cmake (make doc command) and ./CMakeLists.txt (if condition). Error when executing "make doc" command with DEO_ONLY=true flag : Built target doc-eo make[4]: *** No rule to make target `doc-edo'. Stop. make[3]: *** [CMakeFiles/doc] Error 2 make[2]: *** [CMakeFiles/doc.dir/all] Error 2 make[1]: *** [CMakeFiles/doc.dir/rule] Error 2 make: *** [doc] Error 2 Now resolved. --- cmake/Target.cmake | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/cmake/Target.cmake b/cmake/Target.cmake index 06fc26162..96c548a27 100644 --- a/cmake/Target.cmake +++ b/cmake/Target.cmake @@ -11,22 +11,28 @@ endif(UNIX) ###################################################################################### if(DOXYGEN_FOUND AND DOXYGEN_EXECUTABLE) - if(SMP) - add_custom_target(doc - COMMAND make doc-eo - COMMAND make doc-edo - COMMAND make doc-mo - COMMAND make doc-moeo - COMMAND make doc-smp - ) + if(NOT EO_ONLY) + if(SMP) + add_custom_target(doc + COMMAND make doc-eo + COMMAND make doc-edo + COMMAND make doc-mo + COMMAND make doc-moeo + COMMAND make doc-smp + ) + else() + add_custom_target(doc + COMMAND make doc-eo + COMMAND make doc-edo + COMMAND make doc-mo + COMMAND make doc-moeo + ) + endif(SMP) else() add_custom_target(doc COMMAND make doc-eo - COMMAND make doc-edo - COMMAND make doc-mo - COMMAND make doc-moeo ) - endif() + endif(NOT EO_ONLY) endif(DOXYGEN_FOUND AND DOXYGEN_EXECUTABLE) ###################################################################################### From 004c63fe8296efdea223f00807ef381eede72eff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Fri, 13 Jun 2014 11:59:46 +0200 Subject: [PATCH 02/29] Contradiction between ./cmake/Target.cmake (make doc command) and ./CMakeLists.txt (if condition). Error when executing "make doc" command with -DEO_ONLY=false flag : make[4]: *** No rule to make target `doc-edo'. Stop. make[3]: *** [CMakeFiles/doc] Error 2 make[2]: *** [CMakeFiles/doc.dir/all] Error 2 make[1]: *** [CMakeFiles/doc.dir/rule] Error 2 make: *** [doc] Error 2 Now resolved. --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f279e5a3e..1e68baf9c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -96,11 +96,11 @@ if(NOT EO_ONLY) add_subdirectory(${MO_SRC_DIR}) ## EDO Module - if(EDO) + #if(EDO) set(EDO_MODULE_NAME "Evolving Distribution Objects") set(CMAKE_SOURCE_DIR ${EDO_SRC_DIR}) add_subdirectory(${EDO_SRC_DIR}) - endif() + #endif() ## MOEO Module set(MOEO_MODULE_NAME "Multi-Objectives EO") From 8ee0745b075ff7013f67a3514179cbe56da0255b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Fri, 13 Jun 2014 15:46:13 +0200 Subject: [PATCH 03/29] Error and problems with smp documentation compilation ("make doc" or "make doc-smp" command with -DSMP=true flag). Here the error : error: Tag file `/home/aharrissart/workspace/thales/paradiseo/build/doc/smp.doxytag' does not exist or is not a file. Skipping it... Some other problems with undocumented parameters... Now resolved. --- smp/doc/CMakeLists.txt | 9 ++++++--- smp/src/MWModel.h | 4 ++-- smp/src/bimap.h | 8 ++++---- smp/src/island.h | 4 ++-- smp/src/topology/abstractTopology.h | 2 +- 5 files changed, 15 insertions(+), 12 deletions(-) diff --git a/smp/doc/CMakeLists.txt b/smp/doc/CMakeLists.txt index 3fa4481eb..c735832cb 100644 --- a/smp/doc/CMakeLists.txt +++ b/smp/doc/CMakeLists.txt @@ -7,12 +7,15 @@ if(DOXYGEN_FOUND) set(SMP_DOC_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE INTERNAL "Documentation directory" FORCE) # Name of the doxygene configuration file set(SMP_DOC_CONFIG_FILE "smp.doxyfile" CACHE INTERNAL "Documentation configuration file") + + CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/index.h ${EO_DOC_DIR}/index.h COPYONLY) + if(DOXYGEN_EXECUTABLE) # Creating the custom target if(UNIX AND NOT ${CMAKE_VERBOSE_MAKEFILE}) add_custom_target(doc-smp - COMMAND ${DOXYGEN_EXECUTABLE} ${SMP_DOC_CONFIG_FILE} - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + COMMAND ${DOXYGEN_EXECUTABLE} ${SMP_DOC_CONFIG_FILE} 2> /dev/null > /dev/null + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) else(UNIX AND NOT ${CMAKE_VERBOSE_MAKEFILE}) add_custom_target(doc-smp COMMAND ${DOXYGEN_EXECUTABLE} ${SMP_DOC_CONFIG_FILE} @@ -20,7 +23,7 @@ if(DOXYGEN_FOUND) endif(UNIX AND NOT ${CMAKE_VERBOSE_MAKEFILE}) endif(DOXYGEN_EXECUTABLE) configure_file("${CMAKE_CURRENT_SOURCE_DIR}/${SMP_DOC_CONFIG_FILE}.cmake" - "${SMP_DOC_DIR}/${SMP_DOC_CONFIG_FILE}") + "${CMAKE_CURRENT_BINARY_DIR}/${SMP_DOC_CONFIG_FILE}") install( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} DESTINATION share${INSTALL_SUB_DIR}/smp COMPONENT doc diff --git a/smp/src/MWModel.h b/smp/src/MWModel.h index cad614851..c3183f06b 100644 --- a/smp/src/MWModel.h +++ b/smp/src/MWModel.h @@ -59,14 +59,14 @@ class MWModel : public EOAlgo /** * Constructor * @param workersNb the number of workers - * @param args... list of parameters according to the constructor of your algorithm + * @param args list of parameters according to the constructor of your algorithm */ template MWModel(unsigned workersNb, Args&... args); /** * Constructor - * @param args... list of parameters according to the constructor of your algorithm + * @param args list of parameters according to the constructor of your algorithm */ template MWModel(Args&... args); diff --git a/smp/src/bimap.h b/smp/src/bimap.h index caf17f25e..024f4d12c 100644 --- a/smp/src/bimap.h +++ b/smp/src/bimap.h @@ -50,8 +50,8 @@ class Bimap public: /** * Add a relation - * @param A right key - * @param B left key + * @param a Right key + * @param b Left key */ void add(A& a, B& b); @@ -69,13 +69,13 @@ class Bimap /** * Remove an association from a right key. - * @param Right key of the association to be removed. + * @param a Right key of the association to be removed. */ void removeFromRight(const A& a); /** * Remove an association from a left key. - * @param Left key of the association to be removed. + * @param b Left key of the association to be removed. */ void removeFromLeft(const B& b); diff --git a/smp/src/island.h b/smp/src/island.h index 752b671ef..546a69efa 100644 --- a/smp/src/island.h +++ b/smp/src/island.h @@ -77,7 +77,7 @@ class Island : private ContWrapper, public AIsland * @param args Parameters to construct the algorithm. */ template - Island(std::function _convertFromBase, std::function _convertToBase, eoPop& pop, IntPolicy& _intPolicy, MigPolicy& _migPolicy, Args&... args); + Island(std::function _convertFromBase, std::function _convertToBase, eoPop& _pop, IntPolicy& _intPolicy, MigPolicy& _migPolicy, Args&... args); /** * Constructor * @param _pop Population of the island @@ -86,7 +86,7 @@ class Island : private ContWrapper, public AIsland * @param args Parameters to construct the algorithm. */ template - Island(eoPop& pop, IntPolicy& _intPolicy, MigPolicy& _migPolicy, Args&... args); + Island(eoPop& _pop, IntPolicy& _intPolicy, MigPolicy& _migPolicy, Args&... args); /** * Start the island. diff --git a/smp/src/topology/abstractTopology.h b/smp/src/topology/abstractTopology.h index fcd311441..061e3aea1 100644 --- a/smp/src/topology/abstractTopology.h +++ b/smp/src/topology/abstractTopology.h @@ -52,7 +52,7 @@ public : * Return a vector containing the index of nearby nodes according to the topology * @param idNode index of the node of which you want the neighbors. */ - virtual std::vector getIdNeighbors(unsigned idIsland) const = 0; + virtual std::vector getIdNeighbors(unsigned idNode) const = 0; /** * Construct or re-construct a topology with the given number of nodes. From c96614ec18f01c9b2614c5868545bfc57fa409cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Fri, 13 Jun 2014 16:37:28 +0200 Subject: [PATCH 04/29] Moving out ./eo/src/serial/ content -> ./eoserial/src/ --- {eo/src/serial => eoserial/src}/CMakeLists.txt | 0 {eo/src/serial => eoserial/src}/Entity.h | 0 {eo/src/serial => eoserial/src}/Parser.cpp | 0 {eo/src/serial => eoserial/src}/Parser.h | 0 {eo/src/serial => eoserial/src}/SerialArray.cpp | 0 {eo/src/serial => eoserial/src}/SerialArray.h | 0 {eo/src/serial => eoserial/src}/SerialObject.cpp | 0 {eo/src/serial => eoserial/src}/SerialObject.h | 0 {eo/src/serial => eoserial/src}/SerialString.cpp | 0 {eo/src/serial => eoserial/src}/SerialString.h | 0 {eo/src/serial => eoserial/src}/Serializable.h | 0 {eo/src/serial => eoserial/src}/Traits.h | 0 {eo/src/serial => eoserial/src}/Utils.h | 0 {eo/src/serial => eoserial/src}/eoSerial.h | 0 {eo/src/serial => eoserial/src}/json_example | 0 15 files changed, 0 insertions(+), 0 deletions(-) rename {eo/src/serial => eoserial/src}/CMakeLists.txt (100%) rename {eo/src/serial => eoserial/src}/Entity.h (100%) rename {eo/src/serial => eoserial/src}/Parser.cpp (100%) rename {eo/src/serial => eoserial/src}/Parser.h (100%) rename {eo/src/serial => eoserial/src}/SerialArray.cpp (100%) rename {eo/src/serial => eoserial/src}/SerialArray.h (100%) rename {eo/src/serial => eoserial/src}/SerialObject.cpp (100%) rename {eo/src/serial => eoserial/src}/SerialObject.h (100%) rename {eo/src/serial => eoserial/src}/SerialString.cpp (100%) rename {eo/src/serial => eoserial/src}/SerialString.h (100%) rename {eo/src/serial => eoserial/src}/Serializable.h (100%) rename {eo/src/serial => eoserial/src}/Traits.h (100%) rename {eo/src/serial => eoserial/src}/Utils.h (100%) rename {eo/src/serial => eoserial/src}/eoSerial.h (100%) rename {eo/src/serial => eoserial/src}/json_example (100%) diff --git a/eo/src/serial/CMakeLists.txt b/eoserial/src/CMakeLists.txt similarity index 100% rename from eo/src/serial/CMakeLists.txt rename to eoserial/src/CMakeLists.txt diff --git a/eo/src/serial/Entity.h b/eoserial/src/Entity.h similarity index 100% rename from eo/src/serial/Entity.h rename to eoserial/src/Entity.h diff --git a/eo/src/serial/Parser.cpp b/eoserial/src/Parser.cpp similarity index 100% rename from eo/src/serial/Parser.cpp rename to eoserial/src/Parser.cpp diff --git a/eo/src/serial/Parser.h b/eoserial/src/Parser.h similarity index 100% rename from eo/src/serial/Parser.h rename to eoserial/src/Parser.h diff --git a/eo/src/serial/SerialArray.cpp b/eoserial/src/SerialArray.cpp similarity index 100% rename from eo/src/serial/SerialArray.cpp rename to eoserial/src/SerialArray.cpp diff --git a/eo/src/serial/SerialArray.h b/eoserial/src/SerialArray.h similarity index 100% rename from eo/src/serial/SerialArray.h rename to eoserial/src/SerialArray.h diff --git a/eo/src/serial/SerialObject.cpp b/eoserial/src/SerialObject.cpp similarity index 100% rename from eo/src/serial/SerialObject.cpp rename to eoserial/src/SerialObject.cpp diff --git a/eo/src/serial/SerialObject.h b/eoserial/src/SerialObject.h similarity index 100% rename from eo/src/serial/SerialObject.h rename to eoserial/src/SerialObject.h diff --git a/eo/src/serial/SerialString.cpp b/eoserial/src/SerialString.cpp similarity index 100% rename from eo/src/serial/SerialString.cpp rename to eoserial/src/SerialString.cpp diff --git a/eo/src/serial/SerialString.h b/eoserial/src/SerialString.h similarity index 100% rename from eo/src/serial/SerialString.h rename to eoserial/src/SerialString.h diff --git a/eo/src/serial/Serializable.h b/eoserial/src/Serializable.h similarity index 100% rename from eo/src/serial/Serializable.h rename to eoserial/src/Serializable.h diff --git a/eo/src/serial/Traits.h b/eoserial/src/Traits.h similarity index 100% rename from eo/src/serial/Traits.h rename to eoserial/src/Traits.h diff --git a/eo/src/serial/Utils.h b/eoserial/src/Utils.h similarity index 100% rename from eo/src/serial/Utils.h rename to eoserial/src/Utils.h diff --git a/eo/src/serial/eoSerial.h b/eoserial/src/eoSerial.h similarity index 100% rename from eo/src/serial/eoSerial.h rename to eoserial/src/eoSerial.h diff --git a/eo/src/serial/json_example b/eoserial/src/json_example similarity index 100% rename from eo/src/serial/json_example rename to eoserial/src/json_example From 10d8587378ca7f31ee4e1b4b46c74adf0e30f8e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Mon, 16 Jun 2014 11:34:32 +0200 Subject: [PATCH 05/29] Comment unused EDO flag (declared in ../CMakeLists.txt file) --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1e68baf9c..e89200e3a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -79,7 +79,7 @@ set( MPI_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-MPI binary dir set(EO_ONLY "false" CACHE BOOL "Only build EO and not the other modules") set(ENABLE_OPENMP "false" CACHE BOOL "Build EO with the OpenMP support (shared-memory parallel evaluators on multi-core)") set(ENABLE_GNUPLOT "false" CACHE BOOL "Build EO with the GNUplot support (real-time convergence plotting)") -set(EDO "false" CACHE BOOL "Build the EDO module") +#set(EDO "false" CACHE BOOL "Build the EDO module") set(EDO_USE_LIB "Eigen3" CACHE STRING "Which linear algebra library to use to build EDO ('UBlas' or 'Eigen3', Eigen3 is recommended)") set(SMP "false" CACHE BOOL "Build the SMP module") set(MPI "false" CACHE BOOL "Build the MPI module") From 9be0bd9711f8a88008356668f767d0d10279593e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Mon, 16 Jun 2014 14:38:02 +0200 Subject: [PATCH 06/29] Add a new CMakeLists.txt file for eoserial compilation. --- eoserial/CMakeLists.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 eoserial/CMakeLists.txt diff --git a/eoserial/CMakeLists.txt b/eoserial/CMakeLists.txt new file mode 100644 index 000000000..e69de29bb From dea830da01e571e978a60e23da6eb1260c6c013a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Mon, 16 Jun 2014 14:50:19 +0200 Subject: [PATCH 07/29] Define new paths to the module sources and the module library. --- CMakeLists.txt | 35 ++++++++++++++++++++++------------- eoserial/CMakeLists.txt | 6 ++++++ 2 files changed, 28 insertions(+), 13 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f279e5a3e..2da94d87a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -56,24 +56,26 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Target.cmake) ###################################################################################### ## Paths to sources of modules -set( EO_SRC_DIR "${CMAKE_SOURCE_DIR}/eo" CACHE INTERNAL "ParadisEO-EO source directory" FORCE) -set( EDO_SRC_DIR "${CMAKE_SOURCE_DIR}/edo" CACHE INTERNAL "ParadisEO-EDO source directory" FORCE) -set( MO_SRC_DIR "${CMAKE_SOURCE_DIR}/mo" CACHE INTERNAL "ParadisEO-MO source directory" FORCE) -set(MOEO_SRC_DIR "${CMAKE_SOURCE_DIR}/moeo" CACHE INTERNAL "ParadisEO-MOEO source directory" FORCE) -set( SMP_SRC_DIR "${CMAKE_SOURCE_DIR}/smp" CACHE INTERNAL "ParadisEO-SMP source directory" FORCE) -set( MPI_SRC_DIR "${CMAKE_SOURCE_DIR}/eo/src/mpi" CACHE INTERNAL "ParadisEO-MPI source directory" FORCE) +set( EO_SRC_DIR "${CMAKE_SOURCE_DIR}/eo" CACHE INTERNAL "ParadisEO-EO source directory" FORCE) +set( EDO_SRC_DIR "${CMAKE_SOURCE_DIR}/edo" CACHE INTERNAL "ParadisEO-EDO source directory" FORCE) +set( MO_SRC_DIR "${CMAKE_SOURCE_DIR}/mo" CACHE INTERNAL "ParadisEO-MO source directory" FORCE) +set( MOEO_SRC_DIR "${CMAKE_SOURCE_DIR}/moeo" CACHE INTERNAL "ParadisEO-MOEO source directory" FORCE) +set( SMP_SRC_DIR "${CMAKE_SOURCE_DIR}/smp" CACHE INTERNAL "ParadisEO-SMP source directory" FORCE) +set( MPI_SRC_DIR "${CMAKE_SOURCE_DIR}/eo/src/mpi" CACHE INTERNAL "ParadisEO-MPI source directory" FORCE) +set(EOSERIAL_SRC_DIR "${CMAKE_SOURCE_DIR}/eoserial" CACHE INTERNAL "ParadisEO-EOSERIAL source directory" FORCE) set(PROBLEMS_SRC_DIR "${CMAKE_SOURCE_DIR}/problems" CACHE INTERNAL "Problems dependant source directory" FORCE) - + set(CMAKE_BASE_SOURCE_DIR ${CMAKE_SOURCE_DIR}) # All libraries are built in /lib/ -set( EO_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-EO binary directory" FORCE) -set( EDO_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-EDO binary directory" FORCE) -set( MO_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-MO binary directory" FORCE) -set(MOEO_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-MOEO binary directory" FORCE) -set( SMP_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-SMP binary directory" FORCE) -set( MPI_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-MPI binary directory" FORCE) +set( EO_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-EO binary directory" FORCE) +set( EDO_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-EDO binary directory" FORCE) +set( MO_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-MO binary directory" FORCE) +set( MOEO_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-MOEO binary directory" FORCE) +set( SMP_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-SMP binary directory" FORCE) +set( MPI_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-MPI binary directory" FORCE) +set(EOSERIAL_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-EOSERIAL binary directory" FORCE) set(EO_ONLY "false" CACHE BOOL "Only build EO and not the other modules") @@ -123,6 +125,13 @@ if(NOT EO_ONLY) include_directories(${MPI_INCLUDE_PATH}) add_subdirectory(${MPI_SRC_DIR}) endif() + + ## EOSERIAL Module + #if(EOSERIAL) + set(EOSERIAL_MODULE_NAME "Serialization Module") + set(CMAKE_SOURCE_DIR ${EOSERIAL_SRC_DIR}) + add_subdirectory(${EOSERIAL_SRC_DIR}) + #endif() endif() ###################################################################################### diff --git a/eoserial/CMakeLists.txt b/eoserial/CMakeLists.txt index e69de29bb..f596760a5 100644 --- a/eoserial/CMakeLists.txt +++ b/eoserial/CMakeLists.txt @@ -0,0 +1,6 @@ +###################################################################################### +### Include subdirectories +###################################################################################### + +#add_subdirectory(doc) +add_subdirectory(src) \ No newline at end of file From d4dd1b52ef1f6c673e6c9d07977748ebfbedc331 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Mon, 16 Jun 2014 15:04:44 +0200 Subject: [PATCH 08/29] Modifications on eoserial/src/CMakeLists.txt file (most of the time for module paths). --- eoserial/src/CMakeLists.txt | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/eoserial/src/CMakeLists.txt b/eoserial/src/CMakeLists.txt index efc9f42e2..a3c6ff19a 100644 --- a/eoserial/src/CMakeLists.txt +++ b/eoserial/src/CMakeLists.txt @@ -9,7 +9,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ### 2) Define the eoserial target ###################################################################################### -set(EOSERIAL_LIB_OUTPUT_PATH ${EO_BIN_DIR}/lib) +set(EOSERIAL_LIB_OUTPUT_PATH ${EOSERIAL_BIN_DIR}/lib) set(LIBRARY_OUTPUT_PATH ${EOSERIAL_LIB_OUTPUT_PATH}) set(EOSERIAL_SOURCES @@ -20,13 +20,17 @@ set(EOSERIAL_SOURCES ) add_library(eoserial STATIC ${EOSERIAL_SOURCES}) -install(TARGETS eoserial ARCHIVE DESTINATION lib COMPONENT libraries) +install(TARGETS eoserial ARCHIVE DESTINATION ${LIB} COMPONENT libraries) + +###################################################################################### +### 4) Look for headers +###################################################################################### file(GLOB HDRS *.h) -install(FILES ${HDRS} DESTINATION include/eo/serial COMPONENT headers) +install(FILES ${HDRS} DESTINATION ${INSTALL_SUB_DIR}/eoserial COMPONENT headers) ###################################################################################### -### 3) Optionnal +### 5) Optionnal ###################################################################################### set(EOSERIAL_VERSION ${GLOBAL_VERSION}) From 9a75fb113e300bee30e17f16f40b2be03b04936f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Mon, 16 Jun 2014 16:05:18 +0200 Subject: [PATCH 09/29] Modification on eo/src/CMakeLists.txt : comment the line which adds serial subdirectory for cmake compilation (subfolder now out of the eo module). --- eo/src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eo/src/CMakeLists.txt b/eo/src/CMakeLists.txt index d38543098..b2b445a93 100644 --- a/eo/src/CMakeLists.txt +++ b/eo/src/CMakeLists.txt @@ -47,7 +47,7 @@ install(DIRECTORY do es ga gp other utils add_subdirectory(es) add_subdirectory(ga) add_subdirectory(utils) -add_subdirectory(serial) +#add_subdirectory(serial) if(ENABLE_PYEO) add_subdirectory(pyeo) From 11a40c56843dba45354f7c95f44e0e45b47ad409 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Mon, 16 Jun 2014 16:56:00 +0200 Subject: [PATCH 10/29] Modifications on MPI files (compilation requires some eoserial module files). --- eo/src/mpi/CMakeLists.txt | 1 + eo/src/mpi/implMpi.h | 2 +- eo/src/utils/eoTimer.h | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/eo/src/mpi/CMakeLists.txt b/eo/src/mpi/CMakeLists.txt index ebf16335a..b33c19f6a 100644 --- a/eo/src/mpi/CMakeLists.txt +++ b/eo/src/mpi/CMakeLists.txt @@ -3,6 +3,7 @@ ###################################################################################### include_directories(${EO_SRC_DIR}/src) +include_directories(${EOSERIAL_SRC_DIR}/src) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ###################################################################################### diff --git a/eo/src/mpi/implMpi.h b/eo/src/mpi/implMpi.h index b7c1cd4ba..8385938a2 100644 --- a/eo/src/mpi/implMpi.h +++ b/eo/src/mpi/implMpi.h @@ -23,7 +23,7 @@ Contact: http://eodev.sourceforge.net # define __EO_IMPL_MPI_HPP__ # include -# include +# include /** * This namespace contains reimplementations of some parts of the Boost::MPI API in C++, so as to be used in diff --git a/eo/src/utils/eoTimer.h b/eo/src/utils/eoTimer.h index 8a1fbb1a8..e9d39affd 100644 --- a/eo/src/utils/eoTimer.h +++ b/eo/src/utils/eoTimer.h @@ -30,7 +30,7 @@ Contact: http://eodev.sourceforge.net # include "utils/eoParallel.h" // eo::parallel -# include "serial/eoSerial.h" // eo::Persistent +# include "eoSerial.h" // eo::Persistent /** * @brief Timer allowing to measure time between a start point and a stop point. From a4f5fd80129321d22f48fe3fb8888c9d480ac081 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Tue, 17 Jun 2014 09:38:11 +0200 Subject: [PATCH 11/29] Moving out ./eo/src/mpi/ content -> ./eompi/src/ --- {eo/src/mpi => eompi/src}/CMakeLists.txt | 0 {eo/src/mpi => eompi/src}/eoMpi.cpp | 0 {eo/src/mpi => eompi/src}/eoMpi.h | 0 {eo/src/mpi => eompi/src}/eoMpiAssignmentAlgorithm.cpp | 0 {eo/src/mpi => eompi/src}/eoMpiAssignmentAlgorithm.h | 0 {eo/src/mpi => eompi/src}/eoMpiNode.cpp | 0 {eo/src/mpi => eompi/src}/eoMpiNode.h | 0 {eo/src/mpi => eompi/src}/eoMultiStart.h | 0 {eo/src/mpi => eompi/src}/eoParallelApply.h | 0 {eo/src/mpi => eompi/src}/eoTerminateJob.h | 0 {eo/src/mpi => eompi/src}/implMpi.cpp | 0 {eo/src/mpi => eompi/src}/implMpi.h | 0 12 files changed, 0 insertions(+), 0 deletions(-) rename {eo/src/mpi => eompi/src}/CMakeLists.txt (100%) rename {eo/src/mpi => eompi/src}/eoMpi.cpp (100%) rename {eo/src/mpi => eompi/src}/eoMpi.h (100%) rename {eo/src/mpi => eompi/src}/eoMpiAssignmentAlgorithm.cpp (100%) rename {eo/src/mpi => eompi/src}/eoMpiAssignmentAlgorithm.h (100%) rename {eo/src/mpi => eompi/src}/eoMpiNode.cpp (100%) rename {eo/src/mpi => eompi/src}/eoMpiNode.h (100%) rename {eo/src/mpi => eompi/src}/eoMultiStart.h (100%) rename {eo/src/mpi => eompi/src}/eoParallelApply.h (100%) rename {eo/src/mpi => eompi/src}/eoTerminateJob.h (100%) rename {eo/src/mpi => eompi/src}/implMpi.cpp (100%) rename {eo/src/mpi => eompi/src}/implMpi.h (100%) diff --git a/eo/src/mpi/CMakeLists.txt b/eompi/src/CMakeLists.txt similarity index 100% rename from eo/src/mpi/CMakeLists.txt rename to eompi/src/CMakeLists.txt diff --git a/eo/src/mpi/eoMpi.cpp b/eompi/src/eoMpi.cpp similarity index 100% rename from eo/src/mpi/eoMpi.cpp rename to eompi/src/eoMpi.cpp diff --git a/eo/src/mpi/eoMpi.h b/eompi/src/eoMpi.h similarity index 100% rename from eo/src/mpi/eoMpi.h rename to eompi/src/eoMpi.h diff --git a/eo/src/mpi/eoMpiAssignmentAlgorithm.cpp b/eompi/src/eoMpiAssignmentAlgorithm.cpp similarity index 100% rename from eo/src/mpi/eoMpiAssignmentAlgorithm.cpp rename to eompi/src/eoMpiAssignmentAlgorithm.cpp diff --git a/eo/src/mpi/eoMpiAssignmentAlgorithm.h b/eompi/src/eoMpiAssignmentAlgorithm.h similarity index 100% rename from eo/src/mpi/eoMpiAssignmentAlgorithm.h rename to eompi/src/eoMpiAssignmentAlgorithm.h diff --git a/eo/src/mpi/eoMpiNode.cpp b/eompi/src/eoMpiNode.cpp similarity index 100% rename from eo/src/mpi/eoMpiNode.cpp rename to eompi/src/eoMpiNode.cpp diff --git a/eo/src/mpi/eoMpiNode.h b/eompi/src/eoMpiNode.h similarity index 100% rename from eo/src/mpi/eoMpiNode.h rename to eompi/src/eoMpiNode.h diff --git a/eo/src/mpi/eoMultiStart.h b/eompi/src/eoMultiStart.h similarity index 100% rename from eo/src/mpi/eoMultiStart.h rename to eompi/src/eoMultiStart.h diff --git a/eo/src/mpi/eoParallelApply.h b/eompi/src/eoParallelApply.h similarity index 100% rename from eo/src/mpi/eoParallelApply.h rename to eompi/src/eoParallelApply.h diff --git a/eo/src/mpi/eoTerminateJob.h b/eompi/src/eoTerminateJob.h similarity index 100% rename from eo/src/mpi/eoTerminateJob.h rename to eompi/src/eoTerminateJob.h diff --git a/eo/src/mpi/implMpi.cpp b/eompi/src/implMpi.cpp similarity index 100% rename from eo/src/mpi/implMpi.cpp rename to eompi/src/implMpi.cpp diff --git a/eo/src/mpi/implMpi.h b/eompi/src/implMpi.h similarity index 100% rename from eo/src/mpi/implMpi.h rename to eompi/src/implMpi.h From 58b00ede5f7ab974c61eb919545ef263a130d3be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Tue, 17 Jun 2014 09:41:01 +0200 Subject: [PATCH 12/29] Add a new CMakeLists.txt file for eompi compilation. --- eompi/CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 eompi/CMakeLists.txt diff --git a/eompi/CMakeLists.txt b/eompi/CMakeLists.txt new file mode 100644 index 000000000..d1a7e3d87 --- /dev/null +++ b/eompi/CMakeLists.txt @@ -0,0 +1,5 @@ +###################################################################################### +### Include subdirectories +###################################################################################### +#add_subdirectory(doc) +add_subdirectory(src) \ No newline at end of file From 1f4d361a22968f2a86f534c1f50d004b45bfc231 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Tue, 17 Jun 2014 11:45:44 +0200 Subject: [PATCH 13/29] Add EOSERIAL component into cmake/module/FindParadiseo.cmake --- cmake/module/FindParadiseo.cmake | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/cmake/module/FindParadiseo.cmake b/cmake/module/FindParadiseo.cmake index 59b85a864..7737a89b3 100644 --- a/cmake/module/FindParadiseo.cmake +++ b/cmake/module/FindParadiseo.cmake @@ -21,6 +21,7 @@ # - moeo # - smp # - peo +# - eoserial # You can use find_package(Paradiseo COMPONENTS ... ) to enable one or several components. If you not specifie component, all components will be load except SMP for compatibility reasons. # # Output @@ -72,6 +73,10 @@ find_path(MOEO_INCLUDE_DIR moeo PATH_SUFFIXES include${INSTALL_SUB_DIR}/moeo moeo/src PATHS ${PARADISEO_SRC_PATHS}) +find_path(EOSERIAL_INCLUDE_DIR eoserial + PATH_SUFFIXES include${INSTALL_SUB_DIR}/eoserial eoserial/src + PATHS ${PARADISEO_SRC_PATHS}) + # Specific for SMP and PEO foreach(COMP ${PARADISEO_LIBRARIES_TO_FIND}) if(${COMP} STREQUAL "smp") @@ -127,6 +132,7 @@ set(PARADISEO_LIB_PATHS_SUFFIXES moeo/tutorial/examples/flowshop/lib #For flowshop library smp/lib peo/lib + eoserial/lib lib lib32 lib64 @@ -158,6 +164,7 @@ if(PARADISEO_FOUND) message(${EDO_INCLUDE_DIR}) message(${MO_INCLUDE_DIR}) message(${MOEO_INCLUDE_DIR}) + message(${EOSERIAL_INCLUDE_DIR}) if(SMP_FOUND) message(${SMP_INCLUDE_DIR}) endif() From 7f88653b1eeaec0e7639838dae221d2729eb5132 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Tue, 17 Jun 2014 14:47:20 +0200 Subject: [PATCH 14/29] Redefine paths to the module sources and the module library and rename "mpi" module into "eompi". --- CMakeLists.txt | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f279e5a3e..c658a286c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -56,24 +56,25 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Target.cmake) ###################################################################################### ## Paths to sources of modules -set( EO_SRC_DIR "${CMAKE_SOURCE_DIR}/eo" CACHE INTERNAL "ParadisEO-EO source directory" FORCE) -set( EDO_SRC_DIR "${CMAKE_SOURCE_DIR}/edo" CACHE INTERNAL "ParadisEO-EDO source directory" FORCE) -set( MO_SRC_DIR "${CMAKE_SOURCE_DIR}/mo" CACHE INTERNAL "ParadisEO-MO source directory" FORCE) -set(MOEO_SRC_DIR "${CMAKE_SOURCE_DIR}/moeo" CACHE INTERNAL "ParadisEO-MOEO source directory" FORCE) -set( SMP_SRC_DIR "${CMAKE_SOURCE_DIR}/smp" CACHE INTERNAL "ParadisEO-SMP source directory" FORCE) -set( MPI_SRC_DIR "${CMAKE_SOURCE_DIR}/eo/src/mpi" CACHE INTERNAL "ParadisEO-MPI source directory" FORCE) +set( EO_SRC_DIR "${CMAKE_SOURCE_DIR}/eo" CACHE INTERNAL "ParadisEO-EO source directory" FORCE) +set( EDO_SRC_DIR "${CMAKE_SOURCE_DIR}/edo" CACHE INTERNAL "ParadisEO-EDO source directory" FORCE) +set( MO_SRC_DIR "${CMAKE_SOURCE_DIR}/mo" CACHE INTERNAL "ParadisEO-MO source directory" FORCE) +set( MOEO_SRC_DIR "${CMAKE_SOURCE_DIR}/moeo" CACHE INTERNAL "ParadisEO-MOEO source directory" FORCE) +set( SMP_SRC_DIR "${CMAKE_SOURCE_DIR}/smp" CACHE INTERNAL "ParadisEO-SMP source directory" FORCE) +set(EOMPI_SRC_DIR "${CMAKE_SOURCE_DIR}/eompi" CACHE INTERNAL "ParadisEO-EOMPI source directory" FORCE) + set(PROBLEMS_SRC_DIR "${CMAKE_SOURCE_DIR}/problems" CACHE INTERNAL "Problems dependant source directory" FORCE) set(CMAKE_BASE_SOURCE_DIR ${CMAKE_SOURCE_DIR}) # All libraries are built in /lib/ -set( EO_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-EO binary directory" FORCE) -set( EDO_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-EDO binary directory" FORCE) -set( MO_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-MO binary directory" FORCE) -set(MOEO_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-MOEO binary directory" FORCE) -set( SMP_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-SMP binary directory" FORCE) -set( MPI_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-MPI binary directory" FORCE) +set( EO_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-EO binary directory" FORCE) +set( EDO_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-EDO binary directory" FORCE) +set( MO_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-MO binary directory" FORCE) +set( MOEO_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-MOEO binary directory" FORCE) +set( SMP_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-SMP binary directory" FORCE) +set(EOMPI_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-EOMPI binary directory" FORCE) set(EO_ONLY "false" CACHE BOOL "Only build EO and not the other modules") @@ -82,7 +83,7 @@ set(ENABLE_GNUPLOT "false" CACHE BOOL "Build EO with the GNUplot support (real-t set(EDO "false" CACHE BOOL "Build the EDO module") set(EDO_USE_LIB "Eigen3" CACHE STRING "Which linear algebra library to use to build EDO ('UBlas' or 'Eigen3', Eigen3 is recommended)") set(SMP "false" CACHE BOOL "Build the SMP module") -set(MPI "false" CACHE BOOL "Build the MPI module") +set(EOMPI "false" CACHE BOOL "Build the MPI module") ## EO Module set(EO_MODULE_NAME "Evolving Object") @@ -114,14 +115,14 @@ if(NOT EO_ONLY) add_subdirectory(${SMP_SRC_DIR}) endif() - ## MPI Module - if(MPI) + ## EOMPI Module + if(EOMPI) find_package(MPI REQUIRED) add_definitions(-DWITH_MPI) set(CMAKE_CXX_COMPILE_FLAGS ${CMAKE_CXX_COMPILE_FLAGS} ${MPI_COMPILE_FLAGS}) set(CMAKE_CXX_LINK_FLAGS ${CMAKE_CXX_LINK_FLAGS} ${MPI_LINK_FLAGS}) - include_directories(${MPI_INCLUDE_PATH}) - add_subdirectory(${MPI_SRC_DIR}) + include_directories(${EOMPI_INCLUDE_PATH}) + add_subdirectory(${EOMPI_SRC_DIR}) endif() endif() From 0b6a519aafb77c0375c579615a6182e815f2c013 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Tue, 17 Jun 2014 14:52:11 +0200 Subject: [PATCH 15/29] Add EOMPI component into cmake/module/FindParadiseo.cmake --- cmake/module/FindParadiseo.cmake | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/cmake/module/FindParadiseo.cmake b/cmake/module/FindParadiseo.cmake index 59b85a864..fd7b1d4ac 100644 --- a/cmake/module/FindParadiseo.cmake +++ b/cmake/module/FindParadiseo.cmake @@ -21,6 +21,7 @@ # - moeo # - smp # - peo +# - eompi # You can use find_package(Paradiseo COMPONENTS ... ) to enable one or several components. If you not specifie component, all components will be load except SMP for compatibility reasons. # # Output @@ -81,14 +82,19 @@ foreach(COMP ${PARADISEO_LIBRARIES_TO_FIND}) PATHS ${PARADISEO_SRC_PATHS}) elseif(${COMP} STREQUAL "peo") set(PEO_FOUND true) - find_path(EDO_INCLUDE_DIR edo - PATH_SUFFIXES include${INSTALL_SUB_DIR}/edo edo/src + find_path(EDO_INCLUDE_DIR peo + PATH_SUFFIXES include${INSTALL_SUB_DIR}/peo peo/src PATHS ${PARADISEO_SRC_PATHS}) elseif(${COMP} STREQUAL "edo") set(EDO_FOUND true) find_path(EDO_INCLUDE_DIR peo PATH_SUFFIXES include${INSTALL_SUB_DIR}/peo peo/src PATHS ${PARADISEO_SRC_PATHS}) + elseif(${COMP} STREQUAL "eompi") + set(EOMPI_FOUND true) + find_path(EOMPI_INCLUDE_DIR eompi + PATH_SUFFIXES include${INSTALL_SUB_DIR}/eompi eompi/src + PATHS ${PARADISEO_SRC_PATHS}) endif() endforeach() @@ -102,6 +108,10 @@ if(PEO_FOUND) set(PARADISEO_INCLUDE_DIR ${PARADISEO_INCLUDE_DIR} ${PEO_INCLUDE_DIR}) endif() +if(EOMPI_FOUND) + set(PARADISEO_INCLUDE_DIR ${PARADISEO_INCLUDE_DIR} ${EOMPI_INCLUDE_DIR}) +endif() + # find the requested modules set(PARADISEO_FOUND true) # will be set to false if one of the required modules is not found From b6ec15c91137be24e333a26a97db0fc94d6945c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Tue, 17 Jun 2014 14:53:23 +0200 Subject: [PATCH 16/29] Modifications on eompi/src/CMakeLists.txt file (module paths). --- eompi/src/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eompi/src/CMakeLists.txt b/eompi/src/CMakeLists.txt index ebf16335a..592672760 100644 --- a/eompi/src/CMakeLists.txt +++ b/eompi/src/CMakeLists.txt @@ -9,7 +9,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ### 2) Define the eompi target ###################################################################################### -set(EOMPI_LIB_OUTPUT_PATH ${EO_BIN_DIR}/lib) +set(EOMPI_LIB_OUTPUT_PATH ${EOMPI_BIN_DIR}/lib) set(LIBRARY_OUTPUT_PATH ${EOMPI_LIB_OUTPUT_PATH}) set(EOMPI_SOURCES @@ -23,7 +23,7 @@ add_library(eompi STATIC ${EOMPI_SOURCES}) install(TARGETS eompi ARCHIVE DESTINATION ${LIB} COMPONENT libraries) file(GLOB HDRS *.h) -install(FILES ${HDRS} DESTINATION include${INSTALL_SUB_DIR}/eo/mpi COMPONENT headers) +install(FILES ${HDRS} DESTINATION include${INSTALL_SUB_DIR}/eompi COMPONENT headers) ###################################################################################### ### 3) Optionnal From 95761470eb26d33c7b0f35d64940107fd4e376b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Tue, 17 Jun 2014 15:07:19 +0200 Subject: [PATCH 17/29] Missing if condition for EOMPI module in cmake/module/FindParadiseo.cmake file --- cmake/module/FindParadiseo.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cmake/module/FindParadiseo.cmake b/cmake/module/FindParadiseo.cmake index fd7b1d4ac..d605b24e4 100644 --- a/cmake/module/FindParadiseo.cmake +++ b/cmake/module/FindParadiseo.cmake @@ -174,6 +174,9 @@ if(PARADISEO_FOUND) if(PEO_FOUND) message(${PEO_INCLUDE_DIR}) endif() + if(EOMPI_FOUND) + message(${EOMPI_INCLUDE_DIR}) + endif() else() # include directory or library not found message(FATAL_ERROR "Could NOT find ParadisEO (missing : ${FIND_PARADISEO_MISSING})") From 9aacf2184ff051e374154909ef4b5e743f722a46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Wed, 18 Jun 2014 09:38:15 +0200 Subject: [PATCH 18/29] Error in cmake/module/FindParadiseo.cmake --- cmake/module/FindParadiseo.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/module/FindParadiseo.cmake b/cmake/module/FindParadiseo.cmake index de8535349..4e62f07dd 100644 --- a/cmake/module/FindParadiseo.cmake +++ b/cmake/module/FindParadiseo.cmake @@ -87,7 +87,7 @@ foreach(COMP ${PARADISEO_LIBRARIES_TO_FIND}) PATHS ${PARADISEO_SRC_PATHS}) elseif(${COMP} STREQUAL "peo") set(PEO_FOUND true) - find_path(EDO_INCLUDE_DIR peo + find_path(PEO_INCLUDE_DIR peo PATH_SUFFIXES include${INSTALL_SUB_DIR}/peo peo/src PATHS ${PARADISEO_SRC_PATHS}) elseif(${COMP} STREQUAL "edo") From 4df7894ae1fd727af7710f7fd7e94e5fc53ba9e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Wed, 18 Jun 2014 09:53:01 +0200 Subject: [PATCH 19/29] Include sources path to eompi module in eo/src/CMakeLists.txt file --- eo/src/CMakeLists.txt | 2 ++ eo/test/mpi/t-mpi-common.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/eo/src/CMakeLists.txt b/eo/src/CMakeLists.txt index b2b445a93..a06f59141 100644 --- a/eo/src/CMakeLists.txt +++ b/eo/src/CMakeLists.txt @@ -2,6 +2,8 @@ ### 1) Include the sources ###################################################################################### +include_directories(${EOMPI_SRC_DIR}/src) +include_directories(${EOSERIAL_SRC_DIR}/src) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ###################################################################################### diff --git a/eo/test/mpi/t-mpi-common.h b/eo/test/mpi/t-mpi-common.h index c862a05c1..e525fe53e 100644 --- a/eo/test/mpi/t-mpi-common.h +++ b/eo/test/mpi/t-mpi-common.h @@ -1,7 +1,7 @@ # ifndef __T_MPI_COMMON_H__ # define __T_MPI_COMMON_H__ -#include +#include /** * @file t-mpi-common.h From f6d5ac3c6b50990e1337d0c9036ea702df05a9de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Wed, 18 Jun 2014 10:07:59 +0200 Subject: [PATCH 20/29] Move out eompi test folder. --- eo/src/eoPopEvalFunc.h | 8 ++++---- {eo/test/mpi => eompi/test}/CMakeLists.txt | 0 {eo/test/mpi => eompi/test}/DISTRIB_XP_README.md | 0 {eo/test/mpi => eompi/test}/experiments.json | 0 {eo/test/mpi => eompi/test}/gen-xp.py | 0 {eo/test/mpi => eompi/test}/t-mpi-common.h | 0 {eo/test/mpi => eompi/test}/t-mpi-distrib-exp.cpp | 2 +- {eo/test/mpi => eompi/test}/t-mpi-eval.cpp | 2 +- {eo/test/mpi => eompi/test}/t-mpi-multipleRoles.cpp | 6 +++--- {eo/test/mpi => eompi/test}/t-mpi-multistart.cpp | 2 +- {eo/test/mpi => eompi/test}/t-mpi-parallelApply.cpp | 6 +++--- {eo/test/mpi => eompi/test}/t-mpi-wrapper.cpp | 6 +++--- {eo/test/mpi => eompi/test}/template-job.cpp | 2 +- 13 files changed, 17 insertions(+), 17 deletions(-) rename {eo/test/mpi => eompi/test}/CMakeLists.txt (100%) rename {eo/test/mpi => eompi/test}/DISTRIB_XP_README.md (100%) rename {eo/test/mpi => eompi/test}/experiments.json (100%) rename {eo/test/mpi => eompi/test}/gen-xp.py (100%) rename {eo/test/mpi => eompi/test}/t-mpi-common.h (100%) rename {eo/test/mpi => eompi/test}/t-mpi-distrib-exp.cpp (99%) rename {eo/test/mpi => eompi/test}/t-mpi-eval.cpp (99%) rename {eo/test/mpi => eompi/test}/t-mpi-multipleRoles.cpp (98%) rename {eo/test/mpi => eompi/test}/t-mpi-multistart.cpp (99%) rename {eo/test/mpi => eompi/test}/t-mpi-parallelApply.cpp (98%) rename {eo/test/mpi => eompi/test}/t-mpi-wrapper.cpp (97%) rename {eo/test/mpi => eompi/test}/template-job.cpp (98%) diff --git a/eo/src/eoPopEvalFunc.h b/eo/src/eoPopEvalFunc.h index 7fcad1467..d9bc77750 100644 --- a/eo/src/eoPopEvalFunc.h +++ b/eo/src/eoPopEvalFunc.h @@ -31,10 +31,10 @@ #include # ifdef WITH_MPI -#include -#include -#include -#include +#include +#include +#include +#include #include #include // ceil diff --git a/eo/test/mpi/CMakeLists.txt b/eompi/test/CMakeLists.txt similarity index 100% rename from eo/test/mpi/CMakeLists.txt rename to eompi/test/CMakeLists.txt diff --git a/eo/test/mpi/DISTRIB_XP_README.md b/eompi/test/DISTRIB_XP_README.md similarity index 100% rename from eo/test/mpi/DISTRIB_XP_README.md rename to eompi/test/DISTRIB_XP_README.md diff --git a/eo/test/mpi/experiments.json b/eompi/test/experiments.json similarity index 100% rename from eo/test/mpi/experiments.json rename to eompi/test/experiments.json diff --git a/eo/test/mpi/gen-xp.py b/eompi/test/gen-xp.py similarity index 100% rename from eo/test/mpi/gen-xp.py rename to eompi/test/gen-xp.py diff --git a/eo/test/mpi/t-mpi-common.h b/eompi/test/t-mpi-common.h similarity index 100% rename from eo/test/mpi/t-mpi-common.h rename to eompi/test/t-mpi-common.h diff --git a/eo/test/mpi/t-mpi-distrib-exp.cpp b/eompi/test/t-mpi-distrib-exp.cpp similarity index 99% rename from eo/test/mpi/t-mpi-distrib-exp.cpp rename to eompi/test/t-mpi-distrib-exp.cpp index 46a4efa57..db65344e8 100644 --- a/eo/test/mpi/t-mpi-distrib-exp.cpp +++ b/eompi/test/t-mpi-distrib-exp.cpp @@ -39,7 +39,7 @@ # include -# include +# include # include "t-mpi-common.h" using namespace eo::mpi; diff --git a/eo/test/mpi/t-mpi-eval.cpp b/eompi/test/t-mpi-eval.cpp similarity index 99% rename from eo/test/mpi/t-mpi-eval.cpp rename to eompi/test/t-mpi-eval.cpp index fb97701d2..c34ab1aab 100644 --- a/eo/test/mpi/t-mpi-eval.cpp +++ b/eompi/test/t-mpi-eval.cpp @@ -32,7 +32,7 @@ Contact: http://eodev.sourceforge.net #include #include "../real_value.h" -#include +#include #include using namespace std; diff --git a/eo/test/mpi/t-mpi-multipleRoles.cpp b/eompi/test/t-mpi-multipleRoles.cpp similarity index 98% rename from eo/test/mpi/t-mpi-multipleRoles.cpp rename to eompi/test/t-mpi-multipleRoles.cpp index 3a525126b..7f10d9453 100644 --- a/eo/test/mpi/t-mpi-multipleRoles.cpp +++ b/eompi/test/t-mpi-multipleRoles.cpp @@ -37,9 +37,9 @@ Contact: http://eodev.sourceforge.net * This test requires exactly 7 hosts. If the size is bigger, an exception will be thrown at the beginning. **/ -# include -# include -# include +# include +# include +# include # include "t-mpi-common.h" diff --git a/eo/test/mpi/t-mpi-multistart.cpp b/eompi/test/t-mpi-multistart.cpp similarity index 99% rename from eo/test/mpi/t-mpi-multistart.cpp rename to eompi/test/t-mpi-multistart.cpp index fb614e8ee..e58091601 100644 --- a/eo/test/mpi/t-mpi-multistart.cpp +++ b/eompi/test/t-mpi-multistart.cpp @@ -1,4 +1,4 @@ -# include +# include using namespace eo::mpi; #include diff --git a/eo/test/mpi/t-mpi-parallelApply.cpp b/eompi/test/t-mpi-parallelApply.cpp similarity index 98% rename from eo/test/mpi/t-mpi-parallelApply.cpp rename to eompi/test/t-mpi-parallelApply.cpp index 559505bd1..6b49c1b84 100644 --- a/eo/test/mpi/t-mpi-parallelApply.cpp +++ b/eompi/test/t-mpi-parallelApply.cpp @@ -39,9 +39,9 @@ Contact: http://eodev.sourceforge.net * beginning; */ -# include -# include -# include +# include +# include +# include # include "t-mpi-common.h" diff --git a/eo/test/mpi/t-mpi-wrapper.cpp b/eompi/test/t-mpi-wrapper.cpp similarity index 97% rename from eo/test/mpi/t-mpi-wrapper.cpp rename to eompi/test/t-mpi-wrapper.cpp index 7e5fa4d2f..dd64b50d4 100644 --- a/eo/test/mpi/t-mpi-wrapper.cpp +++ b/eompi/test/t-mpi-wrapper.cpp @@ -29,9 +29,9 @@ Contact: http://eodev.sourceforge.net * instanciating the store. */ -# include -# include -# include +# include +# include +# include # include "t-mpi-common.h" diff --git a/eo/test/mpi/template-job.cpp b/eompi/test/template-job.cpp similarity index 98% rename from eo/test/mpi/template-job.cpp rename to eompi/test/template-job.cpp index 3d25e9736..949f2325d 100644 --- a/eo/test/mpi/template-job.cpp +++ b/eompi/test/template-job.cpp @@ -1,4 +1,4 @@ -# include +# include using namespace eo::mpi; From b282bb823323c26c917803834670913d8fa85d05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Wed, 18 Jun 2014 10:16:27 +0200 Subject: [PATCH 21/29] Add eompi test folder for compilation. --- eompi/CMakeLists.txt | 6 +++++- eompi/test/CMakeLists.txt | 7 +++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/eompi/CMakeLists.txt b/eompi/CMakeLists.txt index d1a7e3d87..3810af37c 100644 --- a/eompi/CMakeLists.txt +++ b/eompi/CMakeLists.txt @@ -2,4 +2,8 @@ ### Include subdirectories ###################################################################################### #add_subdirectory(doc) -add_subdirectory(src) \ No newline at end of file +add_subdirectory(src) + +if(ENABLE_CMAKE_TESTING) + add_subdirectory(test) +endif(ENABLE_CMAKE_TESTING) \ No newline at end of file diff --git a/eompi/test/CMakeLists.txt b/eompi/test/CMakeLists.txt index 325056da7..9a0f9656c 100644 --- a/eompi/test/CMakeLists.txt +++ b/eompi/test/CMakeLists.txt @@ -8,10 +8,9 @@ ### 1) Include the sources ###################################################################################### -message("EO SOURCE DIR: ${EO_SRC_DIR}") -message("OMPI: ${MPI_DIR}") +message("EOMPI: ${EOMPI_DIR}") -include_directories(${MPI_DIR}/include) +include_directories(${EOMPI_SRC_DIR}/src) include_directories(${EO_SRC_DIR}/src) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) @@ -20,7 +19,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ###################################################################################### link_directories(${EO_BIN_DIR}/lib) -link_directories(${MPI_DIR}/lib) +link_directories(${EOMPI_BIN_DIR}/lib) ###################################################################################### ### 3) Define your targets and link the librairies From 91bba0003546676e13de85449d70bcd7b9ecc10e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Fri, 13 Jun 2014 11:40:38 +0200 Subject: [PATCH 22/29] Contradiction between ./cmake/Target.cmake (make doc command) and ./CMakeLists.txt (if condition). Error when executing "make doc" command with DEO_ONLY=true flag : Built target doc-eo make[4]: *** No rule to make target `doc-edo'. Stop. make[3]: *** [CMakeFiles/doc] Error 2 make[2]: *** [CMakeFiles/doc.dir/all] Error 2 make[1]: *** [CMakeFiles/doc.dir/rule] Error 2 make: *** [doc] Error 2 Now resolved. Contradiction between ./cmake/Target.cmake (make doc command) and ./CMakeLists.txt (if condition). Error when executing "make doc" command with -DEO_ONLY=false flag : make[4]: *** No rule to make target `doc-edo'. Stop. make[3]: *** [CMakeFiles/doc] Error 2 make[2]: *** [CMakeFiles/doc.dir/all] Error 2 make[1]: *** [CMakeFiles/doc.dir/rule] Error 2 make: *** [doc] Error 2 Now resolved. Error and problems with smp documentation compilation ("make doc" or "make doc-smp" command with -DSMP=true flag). Here the error : error: Tag file `/home/aharrissart/workspace/thales/paradiseo/build/doc/smp.doxytag' does not exist or is not a file. Skipping it... Some other problems with undocumented parameters... Now resolved. Comment unused EDO flag (declared in ../CMakeLists.txt file) --- CMakeLists.txt | 6 +++--- cmake/Target.cmake | 30 +++++++++++++++++------------ smp/doc/CMakeLists.txt | 9 ++++++--- smp/src/MWModel.h | 4 ++-- smp/src/bimap.h | 8 ++++---- smp/src/island.h | 4 ++-- smp/src/topology/abstractTopology.h | 2 +- 7 files changed, 36 insertions(+), 27 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f279e5a3e..e89200e3a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -79,7 +79,7 @@ set( MPI_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-MPI binary dir set(EO_ONLY "false" CACHE BOOL "Only build EO and not the other modules") set(ENABLE_OPENMP "false" CACHE BOOL "Build EO with the OpenMP support (shared-memory parallel evaluators on multi-core)") set(ENABLE_GNUPLOT "false" CACHE BOOL "Build EO with the GNUplot support (real-time convergence plotting)") -set(EDO "false" CACHE BOOL "Build the EDO module") +#set(EDO "false" CACHE BOOL "Build the EDO module") set(EDO_USE_LIB "Eigen3" CACHE STRING "Which linear algebra library to use to build EDO ('UBlas' or 'Eigen3', Eigen3 is recommended)") set(SMP "false" CACHE BOOL "Build the SMP module") set(MPI "false" CACHE BOOL "Build the MPI module") @@ -96,11 +96,11 @@ if(NOT EO_ONLY) add_subdirectory(${MO_SRC_DIR}) ## EDO Module - if(EDO) + #if(EDO) set(EDO_MODULE_NAME "Evolving Distribution Objects") set(CMAKE_SOURCE_DIR ${EDO_SRC_DIR}) add_subdirectory(${EDO_SRC_DIR}) - endif() + #endif() ## MOEO Module set(MOEO_MODULE_NAME "Multi-Objectives EO") diff --git a/cmake/Target.cmake b/cmake/Target.cmake index 06fc26162..96c548a27 100644 --- a/cmake/Target.cmake +++ b/cmake/Target.cmake @@ -11,22 +11,28 @@ endif(UNIX) ###################################################################################### if(DOXYGEN_FOUND AND DOXYGEN_EXECUTABLE) - if(SMP) - add_custom_target(doc - COMMAND make doc-eo - COMMAND make doc-edo - COMMAND make doc-mo - COMMAND make doc-moeo - COMMAND make doc-smp - ) + if(NOT EO_ONLY) + if(SMP) + add_custom_target(doc + COMMAND make doc-eo + COMMAND make doc-edo + COMMAND make doc-mo + COMMAND make doc-moeo + COMMAND make doc-smp + ) + else() + add_custom_target(doc + COMMAND make doc-eo + COMMAND make doc-edo + COMMAND make doc-mo + COMMAND make doc-moeo + ) + endif(SMP) else() add_custom_target(doc COMMAND make doc-eo - COMMAND make doc-edo - COMMAND make doc-mo - COMMAND make doc-moeo ) - endif() + endif(NOT EO_ONLY) endif(DOXYGEN_FOUND AND DOXYGEN_EXECUTABLE) ###################################################################################### diff --git a/smp/doc/CMakeLists.txt b/smp/doc/CMakeLists.txt index 3fa4481eb..c735832cb 100644 --- a/smp/doc/CMakeLists.txt +++ b/smp/doc/CMakeLists.txt @@ -7,12 +7,15 @@ if(DOXYGEN_FOUND) set(SMP_DOC_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE INTERNAL "Documentation directory" FORCE) # Name of the doxygene configuration file set(SMP_DOC_CONFIG_FILE "smp.doxyfile" CACHE INTERNAL "Documentation configuration file") + + CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/index.h ${EO_DOC_DIR}/index.h COPYONLY) + if(DOXYGEN_EXECUTABLE) # Creating the custom target if(UNIX AND NOT ${CMAKE_VERBOSE_MAKEFILE}) add_custom_target(doc-smp - COMMAND ${DOXYGEN_EXECUTABLE} ${SMP_DOC_CONFIG_FILE} - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + COMMAND ${DOXYGEN_EXECUTABLE} ${SMP_DOC_CONFIG_FILE} 2> /dev/null > /dev/null + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) else(UNIX AND NOT ${CMAKE_VERBOSE_MAKEFILE}) add_custom_target(doc-smp COMMAND ${DOXYGEN_EXECUTABLE} ${SMP_DOC_CONFIG_FILE} @@ -20,7 +23,7 @@ if(DOXYGEN_FOUND) endif(UNIX AND NOT ${CMAKE_VERBOSE_MAKEFILE}) endif(DOXYGEN_EXECUTABLE) configure_file("${CMAKE_CURRENT_SOURCE_DIR}/${SMP_DOC_CONFIG_FILE}.cmake" - "${SMP_DOC_DIR}/${SMP_DOC_CONFIG_FILE}") + "${CMAKE_CURRENT_BINARY_DIR}/${SMP_DOC_CONFIG_FILE}") install( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} DESTINATION share${INSTALL_SUB_DIR}/smp COMPONENT doc diff --git a/smp/src/MWModel.h b/smp/src/MWModel.h index cad614851..c3183f06b 100644 --- a/smp/src/MWModel.h +++ b/smp/src/MWModel.h @@ -59,14 +59,14 @@ class MWModel : public EOAlgo /** * Constructor * @param workersNb the number of workers - * @param args... list of parameters according to the constructor of your algorithm + * @param args list of parameters according to the constructor of your algorithm */ template MWModel(unsigned workersNb, Args&... args); /** * Constructor - * @param args... list of parameters according to the constructor of your algorithm + * @param args list of parameters according to the constructor of your algorithm */ template MWModel(Args&... args); diff --git a/smp/src/bimap.h b/smp/src/bimap.h index caf17f25e..024f4d12c 100644 --- a/smp/src/bimap.h +++ b/smp/src/bimap.h @@ -50,8 +50,8 @@ class Bimap public: /** * Add a relation - * @param A right key - * @param B left key + * @param a Right key + * @param b Left key */ void add(A& a, B& b); @@ -69,13 +69,13 @@ class Bimap /** * Remove an association from a right key. - * @param Right key of the association to be removed. + * @param a Right key of the association to be removed. */ void removeFromRight(const A& a); /** * Remove an association from a left key. - * @param Left key of the association to be removed. + * @param b Left key of the association to be removed. */ void removeFromLeft(const B& b); diff --git a/smp/src/island.h b/smp/src/island.h index 752b671ef..546a69efa 100644 --- a/smp/src/island.h +++ b/smp/src/island.h @@ -77,7 +77,7 @@ class Island : private ContWrapper, public AIsland * @param args Parameters to construct the algorithm. */ template - Island(std::function _convertFromBase, std::function _convertToBase, eoPop& pop, IntPolicy& _intPolicy, MigPolicy& _migPolicy, Args&... args); + Island(std::function _convertFromBase, std::function _convertToBase, eoPop& _pop, IntPolicy& _intPolicy, MigPolicy& _migPolicy, Args&... args); /** * Constructor * @param _pop Population of the island @@ -86,7 +86,7 @@ class Island : private ContWrapper, public AIsland * @param args Parameters to construct the algorithm. */ template - Island(eoPop& pop, IntPolicy& _intPolicy, MigPolicy& _migPolicy, Args&... args); + Island(eoPop& _pop, IntPolicy& _intPolicy, MigPolicy& _migPolicy, Args&... args); /** * Start the island. diff --git a/smp/src/topology/abstractTopology.h b/smp/src/topology/abstractTopology.h index fcd311441..061e3aea1 100644 --- a/smp/src/topology/abstractTopology.h +++ b/smp/src/topology/abstractTopology.h @@ -52,7 +52,7 @@ public : * Return a vector containing the index of nearby nodes according to the topology * @param idNode index of the node of which you want the neighbors. */ - virtual std::vector getIdNeighbors(unsigned idIsland) const = 0; + virtual std::vector getIdNeighbors(unsigned idNode) const = 0; /** * Construct or re-construct a topology with the given number of nodes. From 90d7931329f89da6b3f675c55c4b9f13281f7bcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Wed, 23 Jul 2014 15:18:53 +0200 Subject: [PATCH 23/29] Compilation problems solved. --- eo/src/utils/eoTimer.h | 2 +- eompi/test/CMakeLists.txt | 2 ++ eompi/test/t-mpi-eval.cpp | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/eo/src/utils/eoTimer.h b/eo/src/utils/eoTimer.h index e9d39affd..7ba28c931 100644 --- a/eo/src/utils/eoTimer.h +++ b/eo/src/utils/eoTimer.h @@ -30,7 +30,7 @@ Contact: http://eodev.sourceforge.net # include "utils/eoParallel.h" // eo::parallel -# include "eoSerial.h" // eo::Persistent +# include // eo::Persistent /** * @brief Timer allowing to measure time between a start point and a stop point. diff --git a/eompi/test/CMakeLists.txt b/eompi/test/CMakeLists.txt index 9a0f9656c..0a55d05d5 100644 --- a/eompi/test/CMakeLists.txt +++ b/eompi/test/CMakeLists.txt @@ -11,6 +11,7 @@ message("EOMPI: ${EOMPI_DIR}") include_directories(${EOMPI_SRC_DIR}/src) +include_directories(${EOSERIAL_SRC_DIR}/src) include_directories(${EO_SRC_DIR}/src) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) @@ -20,6 +21,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}) link_directories(${EO_BIN_DIR}/lib) link_directories(${EOMPI_BIN_DIR}/lib) +link_directories(${EOSERIAL_BIN_DIR}/lib) ###################################################################################### ### 3) Define your targets and link the librairies diff --git a/eompi/test/t-mpi-eval.cpp b/eompi/test/t-mpi-eval.cpp index c34ab1aab..d90bbd3c2 100644 --- a/eompi/test/t-mpi-eval.cpp +++ b/eompi/test/t-mpi-eval.cpp @@ -30,7 +30,7 @@ Contact: http://eodev.sourceforge.net #include #include -#include "../real_value.h" +#include "../../eo/test/real_value.h" #include From 490e837f7a5800a35fe2519436eeca412333b76d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Mon, 4 Aug 2014 13:40:28 +0200 Subject: [PATCH 24/29] * New tree configuration of the project: .../ ... + -- EO | | | | +-- src ----- + -- EDO | | | | +-- test + -- MO | | | | +-- tutorial + -- MOEO | | | | +-- doc + -- SMP | | | | ... + -- EOMPI | | + -- EOSERIAL Question for current maintainers: ./README: new release? Also: * Moving out eompi & eoserial modules (issue #2). * Correction of the errors when executing "make doc" command. * Adding a solution for the conflicting headers problem (see the two CMake Cache Values: PROJECT_TAG & PROJECT_HRS_INSTALL_SUBPATH) (issue #1) * Header inclusions: ** src: changing absolute paths into relative paths ('#include <...>' -> '#include "..."') ** test, tutorial: changing relative paths into absolute paths ('#include "..."' -> '#include <...>') * Moving out some scripts from EDO -> to the root * Add a new script for compilation and installation (see build_gcc_linux_install) * Compilation with uBLAS library or EDO module: now ok * Minor modifications on README & INSTALL files * Comment eompi failed tests with no end *** TODO: CPack (debian (DEB) & RedHat (RPM) packages) (issues #6 & #7) *** --- .gitignore | 0 AUTHORS | 0 CMakeLists.txt | 117 +-- CTestConfig.cmake | 0 ForRelease | 0 INSTALL | 0 LICENSE | 0 README | 70 +- ...d_gcc_linux_debug => build_gcc_linux_debug | 0 ...eigen_debug => build_gcc_linux_eigen_debug | 0 build_gcc_linux_install | 250 +++++ ...c_linux_release => build_gcc_linux_release | 0 cmake/Config.cmake | 13 +- cmake/Macro.cmake | 2 +- cmake/Package.cmake | 0 cmake/Target.cmake | 36 +- .../modules => cmake/module}/FindEO.cmake | 0 cmake/module/FindEigen3.cmake | 0 cmake/module/FindParadiseo.cmake | 18 +- deprecated/eo/AUTHORS | 0 deprecated/eo/BuildConfig.cmake | 0 deprecated/eo/CHANGELOG | 0 deprecated/eo/CMakeLists.txt | 0 deprecated/eo/COPYING | 0 deprecated/eo/CTestConfig.cmake | 0 deprecated/eo/ConfigureChecks.cmake | 0 deprecated/eo/ForRelease | 0 deprecated/eo/INSTALL | 0 deprecated/eo/LICENSE | 0 deprecated/eo/NEWS | 0 deprecated/eo/PKGBUILD.cmake | 0 deprecated/eo/README | 0 deprecated/eo/THANKS | 0 deprecated/eo/ToDo | 0 deprecated/eo/app/CMakeLists.txt | 0 deprecated/eo/app/gprop/CMakeLists.txt | 0 deprecated/eo/app/gprop/gprop.cpp | 0 deprecated/eo/app/gprop/gprop.h | 0 deprecated/eo/app/gprop/l2.h | 0 deprecated/eo/app/gprop/mlp.h | 0 deprecated/eo/app/gprop/mse.h | 0 deprecated/eo/app/gprop/qp.h | 0 deprecated/eo/app/gprop/vecop.h | 0 deprecated/eo/app/gpsymreg/CMakeLists.txt | 0 deprecated/eo/app/gpsymreg/fitness.h | 0 deprecated/eo/app/gpsymreg/main.cpp | 0 deprecated/eo/app/gpsymreg/node.h | 0 deprecated/eo/app/gpsymreg/parameters.h | 0 deprecated/eo/app/mastermind/CMakeLists.txt | 0 deprecated/eo/app/mastermind/mastermind.cpp | 0 deprecated/eo/app/mastermind/mastermind.h | 0 deprecated/eo/cmake/modules/FindEO.cmake | 0 deprecated/eo/config.h.cmake | 0 deprecated/eo/contrib/MGE/ChangeLog | 0 deprecated/eo/contrib/MGE/VirusOp.h | 0 deprecated/eo/contrib/MGE/eoInitVirus.h | 0 deprecated/eo/contrib/MGE/eoVirus.h | 0 deprecated/eo/contrib/boost/config.hpp | 0 .../eo/contrib/boost/config/abi_prefix.hpp | 0 .../eo/contrib/boost/config/abi_suffix.hpp | 0 .../eo/contrib/boost/config/auto_link.hpp | 0 .../contrib/boost/config/compiler/borland.hpp | 0 .../contrib/boost/config/compiler/comeau.hpp | 0 .../boost/config/compiler/common_edg.hpp | 0 .../boost/config/compiler/compaq_cxx.hpp | 0 .../boost/config/compiler/digitalmars.hpp | 0 .../eo/contrib/boost/config/compiler/gcc.hpp | 0 .../boost/config/compiler/greenhills.hpp | 0 .../contrib/boost/config/compiler/hp_acc.hpp | 0 .../contrib/boost/config/compiler/intel.hpp | 0 .../eo/contrib/boost/config/compiler/kai.hpp | 0 .../boost/config/compiler/metrowerks.hpp | 0 .../eo/contrib/boost/config/compiler/mpw.hpp | 0 .../boost/config/compiler/sgi_mipspro.hpp | 0 .../boost/config/compiler/sunpro_cc.hpp | 0 .../contrib/boost/config/compiler/vacpp.hpp | 0 .../contrib/boost/config/compiler/visualc.hpp | 0 .../eo/contrib/boost/config/platform/aix.hpp | 0 .../contrib/boost/config/platform/amigaos.hpp | 0 .../eo/contrib/boost/config/platform/beos.hpp | 0 .../eo/contrib/boost/config/platform/bsd.hpp | 0 .../contrib/boost/config/platform/cygwin.hpp | 0 .../eo/contrib/boost/config/platform/hpux.hpp | 0 .../eo/contrib/boost/config/platform/irix.hpp | 0 .../contrib/boost/config/platform/linux.hpp | 0 .../contrib/boost/config/platform/macos.hpp | 0 .../contrib/boost/config/platform/solaris.hpp | 0 .../contrib/boost/config/platform/win32.hpp | 0 .../contrib/boost/config/posix_features.hpp | 0 .../contrib/boost/config/requires_threads.hpp | 0 .../boost/config/select_compiler_config.hpp | 0 .../boost/config/select_platform_config.hpp | 0 .../boost/config/select_stdlib_config.hpp | 0 .../boost/config/stdlib/dinkumware.hpp | 0 .../contrib/boost/config/stdlib/libcomo.hpp | 0 .../boost/config/stdlib/libstdcpp3.hpp | 0 .../eo/contrib/boost/config/stdlib/modena.hpp | 0 .../eo/contrib/boost/config/stdlib/msl.hpp | 0 .../contrib/boost/config/stdlib/roguewave.hpp | 0 .../eo/contrib/boost/config/stdlib/sgi.hpp | 0 .../contrib/boost/config/stdlib/stlport.hpp | 0 .../eo/contrib/boost/config/stdlib/vacpp.hpp | 0 deprecated/eo/contrib/boost/config/suffix.hpp | 0 deprecated/eo/contrib/boost/config/user.hpp | 0 deprecated/eo/contrib/boost/limits.hpp | 0 .../eo/contrib/boost/numeric/interval.hpp | 0 .../contrib/boost/numeric/interval/arith.hpp | 0 .../contrib/boost/numeric/interval/arith2.hpp | 0 .../contrib/boost/numeric/interval/arith3.hpp | 0 .../boost/numeric/interval/checking.hpp | 0 .../boost/numeric/interval/compare.hpp | 0 .../numeric/interval/compare/certain.hpp | 0 .../numeric/interval/compare/explicit.hpp | 0 .../interval/compare/lexicographic.hpp | 0 .../numeric/interval/compare/possible.hpp | 0 .../boost/numeric/interval/compare/set.hpp | 0 .../numeric/interval/compare/tribool.hpp | 0 .../boost/numeric/interval/constants.hpp | 0 .../interval/detail/bcc_rounding_control.hpp | 0 .../boost/numeric/interval/detail/bugs.hpp | 0 .../interval/detail/c99_rounding_control.hpp | 0 .../detail/c99sub_rounding_control.hpp | 0 .../numeric/interval/detail/division.hpp | 0 .../interval/detail/interval_prototype.hpp | 0 .../interval/detail/msvc_rounding_control.hpp | 0 .../interval/detail/ppc_rounding_control.hpp | 0 .../detail/sparc_rounding_control.hpp | 0 .../numeric/interval/detail/test_input.hpp | 0 .../interval/detail/x86_rounding_control.hpp | 0 .../detail/x86gcc_rounding_control.hpp | 0 .../boost/numeric/interval/ext/integer.hpp | 0 .../ext/x86_fast_rounding_control.hpp | 0 .../boost/numeric/interval/hw_rounding.hpp | 0 .../boost/numeric/interval/interval.hpp | 0 .../eo/contrib/boost/numeric/interval/io.hpp | 0 .../contrib/boost/numeric/interval/limits.hpp | 0 .../boost/numeric/interval/policies.hpp | 0 .../boost/numeric/interval/rounded_arith.hpp | 0 .../boost/numeric/interval/rounded_transc.hpp | 0 .../boost/numeric/interval/rounding.hpp | 0 .../contrib/boost/numeric/interval/transc.hpp | 0 .../boost/numeric/interval/utility.hpp | 0 deprecated/eo/contrib/eoAged.h | 0 deprecated/eo/contrib/eoDrawable.h | 0 deprecated/eo/contrib/mathsym/COPYING | 0 deprecated/eo/contrib/mathsym/GNUmakefile | 0 deprecated/eo/contrib/mathsym/README | 0 deprecated/eo/contrib/mathsym/README.TCC | 0 .../eo/contrib/mathsym/eo_interface/eoSym.h | 0 .../mathsym/eo_interface/eoSymCrossover.cpp | 0 .../mathsym/eo_interface/eoSymCrossover.h | 0 .../contrib/mathsym/eo_interface/eoSymEval.h | 0 .../contrib/mathsym/eo_interface/eoSymInit.h | 0 .../eo_interface/eoSymLambdaMutate.cpp | 0 .../mathsym/eo_interface/eoSymLambdaMutate.h | 0 .../mathsym/eo_interface/eoSymMutate.cpp | 0 .../mathsym/eo_interface/eoSymMutate.h | 0 .../eo/contrib/mathsym/eval/BoundsCheck.cpp | 0 .../eo/contrib/mathsym/eval/BoundsCheck.h | 0 deprecated/eo/contrib/mathsym/eval/Interval.h | 0 .../eo/contrib/mathsym/eval/MultiFuncs.cpp | 0 .../eo/contrib/mathsym/eval/MultiFunction.cpp | 0 .../eo/contrib/mathsym/eval/MultiFunction.h | 0 .../eo/contrib/mathsym/eval/c_compile.c | 0 .../eo/contrib/mathsym/eval/sym_compile.cpp | 0 .../eo/contrib/mathsym/eval/sym_compile.h | 0 deprecated/eo/contrib/mathsym/fun/FunDef.cpp | 0 deprecated/eo/contrib/mathsym/fun/FunDef.h | 0 deprecated/eo/contrib/mathsym/fun/SymOps.cpp | 0 deprecated/eo/contrib/mathsym/fun/SymOps.h | 0 .../eo/contrib/mathsym/fun/sym_operations.cpp | 0 deprecated/eo/contrib/mathsym/fun/util.cpp | 0 .../eo/contrib/mathsym/gen/LanguageTable.cpp | 0 .../eo/contrib/mathsym/gen/LanguageTable.h | 0 .../eo/contrib/mathsym/gen/NodeSelector.cpp | 0 .../eo/contrib/mathsym/gen/NodeSelector.h | 0 .../eo/contrib/mathsym/gen/TreeBuilder.cpp | 0 .../eo/contrib/mathsym/gen/TreeBuilder.h | 0 deprecated/eo/contrib/mathsym/header | 0 .../eo/contrib/mathsym/regression/Dataset.cpp | 0 .../eo/contrib/mathsym/regression/Dataset.h | 0 .../mathsym/regression/ErrorMeasure.cpp | 0 .../contrib/mathsym/regression/ErrorMeasure.h | 0 .../eo/contrib/mathsym/regression/Scaling.cpp | 0 .../eo/contrib/mathsym/regression/Scaling.h | 0 .../contrib/mathsym/regression/TargetInfo.cpp | 0 .../contrib/mathsym/regression/TargetInfo.h | 0 .../eo/contrib/mathsym/regression/stats.h | 0 deprecated/eo/contrib/mathsym/shared_ptr.h | 0 deprecated/eo/contrib/mathsym/sym/README.cpp | 0 deprecated/eo/contrib/mathsym/sym/Sym.cpp | 0 deprecated/eo/contrib/mathsym/sym/Sym.h | 0 deprecated/eo/contrib/mathsym/sym/SymImpl.cpp | 0 deprecated/eo/contrib/mathsym/sym/SymImpl.h | 0 deprecated/eo/contrib/mathsym/sym/token.h | 0 deprecated/eo/contrib/mathsym/symreg.cpp | 0 deprecated/eo/contrib/mathsym/tcc.tar.gz | Bin .../eo/contrib/mathsym/tcc_patched.tar.gz | Bin .../eo/contrib/mathsym/test/test_compile.cpp | 0 .../eo/contrib/mathsym/test/test_diff.cpp | 0 .../eo/contrib/mathsym/test/test_lambda.cpp | 0 .../eo/contrib/mathsym/test/test_mf.cpp | 0 .../eo/contrib/mathsym/test/test_simplify.cpp | 0 deprecated/eo/contrib/mathsym/test/testeo.cpp | 0 deprecated/eo/contrib/mathsym/test_data.txt | 0 deprecated/eo/doc/CMakeLists.txt | 2 +- deprecated/eo/doc/ChangeLog | 0 deprecated/eo/doc/EO_EA2001.pdf | Bin deprecated/eo/doc/LeCreusot.pdf | Bin deprecated/eo/doc/eo.cfg.cmake | 0 deprecated/eo/doc/index.h | 0 deprecated/eo/doc/mainpage.html | 0 deprecated/eo/doc/publications.html | 0 deprecated/eo/doc/sflogo-hammer1.jpg | Bin deprecated/eo/pc.cmake | 0 deprecated/eo/src/CMakeLists.txt | 4 +- deprecated/eo/src/EO.h | 0 deprecated/eo/src/PO.h | 0 deprecated/eo/src/apply.h | 0 deprecated/eo/src/do/Readme | 0 deprecated/eo/src/do/make_algo_easea.h | 0 deprecated/eo/src/do/make_algo_scalar.h | 0 deprecated/eo/src/do/make_checkpoint.h | 0 deprecated/eo/src/do/make_checkpoint_FDC.h | 0 .../eo/src/do/make_checkpoint_assembled.h | 0 deprecated/eo/src/do/make_continue.h | 0 .../eo/src/do/make_general_replacement.h | 0 deprecated/eo/src/do/make_pop.h | 0 deprecated/eo/src/do/make_run.h | 0 deprecated/eo/src/eo | 0 deprecated/eo/src/eoAlgo.h | 0 deprecated/eo/src/eoBinaryFlight.h | 0 deprecated/eo/src/eoBitParticle.h | 0 deprecated/eo/src/eoBreed.h | 0 deprecated/eo/src/eoCellularEasyEA.h | 0 deprecated/eo/src/eoCloneOps.h | 0 deprecated/eo/src/eoCombinedContinue.h | 0 deprecated/eo/src/eoCombinedInit.h | 0 .../src/eoConstrictedVariableWeightVelocity.h | 0 deprecated/eo/src/eoConstrictedVelocity.h | 0 deprecated/eo/src/eoContinue.h | 0 deprecated/eo/src/eoCounter.h | 0 deprecated/eo/src/eoCtrlCContinue.cpp | 0 deprecated/eo/src/eoCtrlCContinue.h | 0 deprecated/eo/src/eoDetSelect.h | 0 deprecated/eo/src/eoDetTournamentSelect.h | 0 deprecated/eo/src/eoDistribUpdater.h | 0 deprecated/eo/src/eoDistribution.h | 0 deprecated/eo/src/eoDualFitness.h | 0 deprecated/eo/src/eoEDA.h | 0 deprecated/eo/src/eoEasyEA.h | 0 deprecated/eo/src/eoEasyPSO.h | 0 deprecated/eo/src/eoEvalContinue.h | 0 .../eo/src/eoEvalCounterThrowException.h | 0 deprecated/eo/src/eoEvalFunc.h | 0 deprecated/eo/src/eoEvalFuncCounter.h | 0 deprecated/eo/src/eoEvalFuncCounterBounder.h | 0 deprecated/eo/src/eoEvalFuncPtr.h | 0 deprecated/eo/src/eoEvalTimeThrowException.h | 0 .../eo/src/eoEvalUserTimeThrowException.h | 0 deprecated/eo/src/eoExceptions.h | 0 deprecated/eo/src/eoExtendedVelocity.h | 0 deprecated/eo/src/eoFactory.h | 0 deprecated/eo/src/eoFitContinue.h | 0 deprecated/eo/src/eoFitnessScalingSelect.h | 0 .../eo/src/eoFixedInertiaWeightedVelocity.h | 0 deprecated/eo/src/eoFlOrBinOp.h | 0 deprecated/eo/src/eoFlOrMonOp.h | 0 deprecated/eo/src/eoFlOrQuadOp.h | 0 deprecated/eo/src/eoFlight.h | 0 deprecated/eo/src/eoFunctor.h | 0 deprecated/eo/src/eoFunctorStore.cpp | 0 deprecated/eo/src/eoFunctorStore.h | 0 deprecated/eo/src/eoG3Replacement.h | 0 deprecated/eo/src/eoGaussRealWeightUp.h | 0 deprecated/eo/src/eoGenContinue.h | 0 deprecated/eo/src/eoGenOp.h | 0 deprecated/eo/src/eoGeneralBreeder.h | 0 deprecated/eo/src/eoInit.h | 0 deprecated/eo/src/eoInitializer.h | 0 deprecated/eo/src/eoInt.h | 0 deprecated/eo/src/eoIntegerVelocity.h | 0 deprecated/eo/src/eoInvalidateOps.h | 0 .../eo/src/eoLinearDecreasingWeightUp.h | 0 deprecated/eo/src/eoLinearFitScaling.h | 0 deprecated/eo/src/eoLinearTopology.h | 0 deprecated/eo/src/eoMGGReplacement.h | 0 deprecated/eo/src/eoMerge.h | 0 deprecated/eo/src/eoMergeReduce.h | 0 deprecated/eo/src/eoNDSorting.h | 0 deprecated/eo/src/eoNeighborhood.h | 0 deprecated/eo/src/eoObject.h | 0 deprecated/eo/src/eoOneToOneBreeder.h | 0 deprecated/eo/src/eoOp.h | 0 deprecated/eo/src/eoOpContainer.h | 0 deprecated/eo/src/eoOpSelMason.h | 0 deprecated/eo/src/eoOrderXover.h | 0 deprecated/eo/src/eoPSO.h | 0 deprecated/eo/src/eoParticleBestInit.h | 0 deprecated/eo/src/eoParticleFullInitializer.h | 0 deprecated/eo/src/eoPerf2Worth.h | 0 deprecated/eo/src/eoPeriodicContinue.h | 0 deprecated/eo/src/eoPersistent.cpp | 0 deprecated/eo/src/eoPersistent.h | 0 deprecated/eo/src/eoPop.h | 0 deprecated/eo/src/eoPopEvalFunc.h | 0 deprecated/eo/src/eoPopulator.h | 0 deprecated/eo/src/eoPrintable.cpp | 0 deprecated/eo/src/eoPrintable.h | 0 deprecated/eo/src/eoPropGAGenOp.h | 0 deprecated/eo/src/eoProportionalCombinedOp.h | 0 deprecated/eo/src/eoProportionalSelect.h | 0 deprecated/eo/src/eoRandomRealWeightUp.h | 0 deprecated/eo/src/eoRandomSelect.h | 0 deprecated/eo/src/eoRanking.h | 0 deprecated/eo/src/eoRankingSelect.h | 0 deprecated/eo/src/eoRealBoundModifier.h | 0 deprecated/eo/src/eoRealParticle.h | 0 deprecated/eo/src/eoReduce.h | 0 deprecated/eo/src/eoReduceMerge.h | 0 deprecated/eo/src/eoReduceMergeReduce.h | 0 deprecated/eo/src/eoReduceSplit.h | 0 deprecated/eo/src/eoReplacement.h | 0 deprecated/eo/src/eoRingTopology.h | 0 deprecated/eo/src/eoSGA.h | 0 deprecated/eo/src/eoSGAGenOp.h | 0 deprecated/eo/src/eoSGATransform.h | 0 deprecated/eo/src/eoSIGContinue.cpp | 0 deprecated/eo/src/eoSIGContinue.h | 0 deprecated/eo/src/eoSTLFunctor.h | 0 deprecated/eo/src/eoScalarFitness.h | 0 .../eo/src/eoScalarFitnessAssembled.cpp | 0 deprecated/eo/src/eoScalarFitnessAssembled.h | 0 deprecated/eo/src/eoSecondsElapsedContinue.h | 0 deprecated/eo/src/eoSelect.h | 0 deprecated/eo/src/eoSelectFactory.h | 0 deprecated/eo/src/eoSelectFromWorth.h | 0 deprecated/eo/src/eoSelectMany.h | 0 deprecated/eo/src/eoSelectNumber.h | 0 deprecated/eo/src/eoSelectOne.h | 0 deprecated/eo/src/eoSelectPerc.h | 0 deprecated/eo/src/eoSequentialSelect.h | 0 deprecated/eo/src/eoSharing.h | 0 deprecated/eo/src/eoSharingSelect.h | 0 deprecated/eo/src/eoShiftMutation.h | 0 deprecated/eo/src/eoSigBinaryFlight.h | 0 deprecated/eo/src/eoSimpleEDA.h | 0 deprecated/eo/src/eoSocialNeighborhood.h | 0 deprecated/eo/src/eoStandardFlight.h | 0 deprecated/eo/src/eoStandardVelocity.h | 0 deprecated/eo/src/eoStarTopology.h | 0 deprecated/eo/src/eoSteadyFitContinue.h | 0 deprecated/eo/src/eoStochTournamentSelect.h | 0 .../eo/src/eoStochasticUniversalSelect.h | 0 deprecated/eo/src/eoSurviveAndDie.h | 0 deprecated/eo/src/eoSwapMutation.h | 0 deprecated/eo/src/eoSyncEasyPSO.h | 0 deprecated/eo/src/eoTimeContinue.h | 0 deprecated/eo/src/eoTopology.h | 0 deprecated/eo/src/eoTransform.h | 0 deprecated/eo/src/eoTruncSelect.h | 0 deprecated/eo/src/eoTruncatedSelectMany.h | 0 deprecated/eo/src/eoTruncatedSelectOne.h | 0 deprecated/eo/src/eoTwoOptMutation.h | 0 .../src/eoVariableInertiaWeightedVelocity.h | 0 deprecated/eo/src/eoVariableLengthCrossover.h | 0 deprecated/eo/src/eoVariableLengthMutation.h | 0 deprecated/eo/src/eoVector.h | 0 deprecated/eo/src/eoVectorParticle.h | 0 deprecated/eo/src/eoVelocity.h | 0 deprecated/eo/src/eoVelocityInit.h | 0 deprecated/eo/src/eoWeightUpdater.h | 0 deprecated/eo/src/es.h | 0 deprecated/eo/src/es/CMAParams.cpp | 0 deprecated/eo/src/es/CMAParams.h | 0 deprecated/eo/src/es/CMAState.cpp | 0 deprecated/eo/src/es/CMAState.h | 0 deprecated/eo/src/es/CMakeLists.txt | 0 deprecated/eo/src/es/ChangeLog | 0 deprecated/eo/src/es/eig.cpp | 0 deprecated/eo/src/es/eig.h | 0 deprecated/eo/src/es/eoCMABreed.h | 0 deprecated/eo/src/es/eoCMAInit.h | 0 deprecated/eo/src/es/eoEsChromInit.h | 0 deprecated/eo/src/es/eoEsFull.h | 0 deprecated/eo/src/es/eoEsGlobalXover.h | 0 deprecated/eo/src/es/eoEsMutate.h | 0 deprecated/eo/src/es/eoEsMutationInit.h | 0 deprecated/eo/src/es/eoEsSimple.h | 0 deprecated/eo/src/es/eoEsStandardXover.h | 0 deprecated/eo/src/es/eoEsStdev.h | 0 deprecated/eo/src/es/eoNormalMutation.h | 0 deprecated/eo/src/es/eoReal.h | 0 deprecated/eo/src/es/eoRealAtomXover.h | 0 deprecated/eo/src/es/eoRealInitBounded.h | 0 deprecated/eo/src/es/eoRealOp.h | 0 deprecated/eo/src/es/eoSBXcross.h | 0 deprecated/eo/src/es/make_algo_scalar_es.cpp | 0 .../eo/src/es/make_algo_scalar_real.cpp | 0 deprecated/eo/src/es/make_checkpoint_es.cpp | 0 deprecated/eo/src/es/make_checkpoint_real.cpp | 0 deprecated/eo/src/es/make_continue_es.cpp | 0 deprecated/eo/src/es/make_continue_real.cpp | 0 deprecated/eo/src/es/make_es.h | 0 deprecated/eo/src/es/make_genotype_es.cpp | 0 deprecated/eo/src/es/make_genotype_real.cpp | 0 deprecated/eo/src/es/make_genotype_real.h | 0 deprecated/eo/src/es/make_op.h | 0 deprecated/eo/src/es/make_op_es.cpp | 0 deprecated/eo/src/es/make_op_es.h | 0 deprecated/eo/src/es/make_op_real.cpp | 0 deprecated/eo/src/es/make_op_real.h | 0 deprecated/eo/src/es/make_pop_es.cpp | 0 deprecated/eo/src/es/make_pop_real.cpp | 0 deprecated/eo/src/es/make_real.h | 0 deprecated/eo/src/es/make_run_es.cpp | 0 deprecated/eo/src/es/make_run_real.cpp | 0 deprecated/eo/src/es/matrices.h | 0 deprecated/eo/src/ga.h | 0 deprecated/eo/src/ga/CMakeLists.txt | 0 deprecated/eo/src/ga/ChangeLog | 0 deprecated/eo/src/ga/Readme | 0 deprecated/eo/src/ga/eoBit.h | 0 deprecated/eo/src/ga/eoBitOp.h | 0 deprecated/eo/src/ga/eoBitOpFactory.h | 0 deprecated/eo/src/ga/eoBoolFlip.h | 0 deprecated/eo/src/ga/eoPBILAdditive.h | 0 deprecated/eo/src/ga/eoPBILDistrib.h | 0 deprecated/eo/src/ga/eoPBILOrg.h | 0 deprecated/eo/src/ga/make_PBILdistrib.h | 0 deprecated/eo/src/ga/make_PBILupdate.h | 0 deprecated/eo/src/ga/make_algo_scalar_ga.cpp | 0 deprecated/eo/src/ga/make_checkpoint_ga.cpp | 0 deprecated/eo/src/ga/make_continue_ga.cpp | 0 deprecated/eo/src/ga/make_ga.h | 0 deprecated/eo/src/ga/make_genotype_ga.cpp | 0 deprecated/eo/src/ga/make_genotype_ga.h | 0 deprecated/eo/src/ga/make_op.h | 0 deprecated/eo/src/ga/make_op_ga.cpp | 0 deprecated/eo/src/ga/make_pop_ga.cpp | 0 deprecated/eo/src/ga/make_run_ga.cpp | 0 deprecated/eo/src/gp/eoParseTree.h | 0 deprecated/eo/src/gp/eoParseTreeDepthInit.h | 0 deprecated/eo/src/gp/eoParseTreeOp.h | 0 deprecated/eo/src/gp/eoStParseTreeDepthInit.h | 0 deprecated/eo/src/gp/eoStParseTreeOp.h | 0 deprecated/eo/src/gp/node_pool.h | 0 deprecated/eo/src/gp/parse_tree.h | 0 deprecated/eo/src/other/eoExternalEO.h | 0 .../eo/src/other/eoExternalOpFunctions.h | 0 deprecated/eo/src/other/eoString.h | 0 deprecated/eo/src/other/external_eo | 0 deprecated/eo/src/pyeo/AUTHORS | 0 deprecated/eo/src/pyeo/BUILDING | 0 deprecated/eo/src/pyeo/CMakeLists.txt | 0 deprecated/eo/src/pyeo/COPYING | 0 deprecated/eo/src/pyeo/Makefile | 0 deprecated/eo/src/pyeo/Makefile.rpm | 0 deprecated/eo/src/pyeo/NEWS | 0 deprecated/eo/src/pyeo/PyEO.cpp | 0 deprecated/eo/src/pyeo/PyEO.h | 0 deprecated/eo/src/pyeo/PyEO/__init__.py | 0 deprecated/eo/src/pyeo/README | 0 deprecated/eo/src/pyeo/abstract1.cpp | 0 deprecated/eo/src/pyeo/algos.cpp | 0 deprecated/eo/src/pyeo/breeders.cpp | 0 deprecated/eo/src/pyeo/continuators.cpp | 0 deprecated/eo/src/pyeo/def_abstract_functor.h | 0 deprecated/eo/src/pyeo/geneticOps.cpp | 0 deprecated/eo/src/pyeo/mergers.cpp | 0 deprecated/eo/src/pyeo/monitors.cpp | 0 deprecated/eo/src/pyeo/perf2worth.cpp | 0 deprecated/eo/src/pyeo/pickle.h | 0 deprecated/eo/src/pyeo/random_numbers.cpp | 0 deprecated/eo/src/pyeo/reduce.cpp | 0 deprecated/eo/src/pyeo/replacement.cpp | 0 deprecated/eo/src/pyeo/selectOne.cpp | 0 deprecated/eo/src/pyeo/selectors.cpp | 0 deprecated/eo/src/pyeo/statistics.cpp | 0 deprecated/eo/src/pyeo/test/maxone.py | 0 deprecated/eo/src/pyeo/test/test_breeders.py | 0 deprecated/eo/src/pyeo/test/test_mo.py | 0 deprecated/eo/src/pyeo/test/test_pickling.py | 0 deprecated/eo/src/pyeo/test/test_populator.py | 0 deprecated/eo/src/pyeo/test/test_reduce.py | 0 deprecated/eo/src/pyeo/test/test_selectone.py | 0 deprecated/eo/src/pyeo/test/test_sga.py | 0 deprecated/eo/src/pyeo/test/test_transform.py | 0 deprecated/eo/src/pyeo/valueParam.cpp | 0 deprecated/eo/src/pyeo/valueParam.h | 0 deprecated/eo/src/utils/CMakeLists.txt | 0 deprecated/eo/src/utils/ChangeLog | 0 deprecated/eo/src/utils/checkpointing | 0 deprecated/eo/src/utils/compatibility.h | 0 .../eo/src/utils/eoAssembledFitnessStat.h | 0 deprecated/eo/src/utils/eoCheckPoint.h | 0 deprecated/eo/src/utils/eoData.cpp | 0 deprecated/eo/src/utils/eoData.h | 0 deprecated/eo/src/utils/eoDistance.h | 0 deprecated/eo/src/utils/eoFDCStat.h | 0 deprecated/eo/src/utils/eoFeasibleRatioStat.h | 0 deprecated/eo/src/utils/eoFileMonitor.cpp | 0 deprecated/eo/src/utils/eoFileMonitor.h | 0 deprecated/eo/src/utils/eoFileSnapshot.h | 0 deprecated/eo/src/utils/eoFuncPtrStat.h | 0 deprecated/eo/src/utils/eoGenCounter.h | 0 deprecated/eo/src/utils/eoGnuplot.cpp | 0 deprecated/eo/src/utils/eoGnuplot.h | 0 .../eo/src/utils/eoGnuplot1DMonitor.cpp | 0 deprecated/eo/src/utils/eoGnuplot1DMonitor.h | 0 .../eo/src/utils/eoGnuplot1DSnapshot.cpp | 0 deprecated/eo/src/utils/eoGnuplot1DSnapshot.h | 0 deprecated/eo/src/utils/eoHowMany.h | 0 deprecated/eo/src/utils/eoIntBounds.cpp | 0 deprecated/eo/src/utils/eoIntBounds.h | 0 deprecated/eo/src/utils/eoLogger.cpp | 0 deprecated/eo/src/utils/eoLogger.h | 0 deprecated/eo/src/utils/eoMOFitnessStat.h | 0 deprecated/eo/src/utils/eoMonitor.h | 0 deprecated/eo/src/utils/eoOStreamMonitor.cpp | 0 deprecated/eo/src/utils/eoOStreamMonitor.h | 0 deprecated/eo/src/utils/eoParallel.cpp | 0 deprecated/eo/src/utils/eoParallel.h | 0 deprecated/eo/src/utils/eoParam.h | 0 deprecated/eo/src/utils/eoParser.cpp | 0 deprecated/eo/src/utils/eoParser.h | 0 deprecated/eo/src/utils/eoParserLogger.h | 0 deprecated/eo/src/utils/eoPopStat.h | 0 deprecated/eo/src/utils/eoRNG.cpp | 0 deprecated/eo/src/utils/eoRNG.h | 0 deprecated/eo/src/utils/eoRealBounds.cpp | 0 deprecated/eo/src/utils/eoRealBounds.h | 0 deprecated/eo/src/utils/eoRealVectorBounds.h | 0 deprecated/eo/src/utils/eoRndGenerators.h | 0 deprecated/eo/src/utils/eoScalarFitnessStat.h | 0 deprecated/eo/src/utils/eoSignal.cpp | 0 deprecated/eo/src/utils/eoSignal.h | 0 deprecated/eo/src/utils/eoStat.h | 0 deprecated/eo/src/utils/eoState.cpp | 0 deprecated/eo/src/utils/eoState.h | 0 deprecated/eo/src/utils/eoStdoutMonitor.h | 0 deprecated/eo/src/utils/eoTimeCounter.h | 0 deprecated/eo/src/utils/eoTimedMonitor.h | 0 deprecated/eo/src/utils/eoUniformInit.h | 0 deprecated/eo/src/utils/eoUpdatable.h | 0 deprecated/eo/src/utils/eoUpdater.cpp | 0 deprecated/eo/src/utils/eoUpdater.h | 0 deprecated/eo/src/utils/make_help.cpp | 0 deprecated/eo/src/utils/pipecom.cpp | 0 deprecated/eo/src/utils/pipecom.h | 0 deprecated/eo/src/utils/rnd_generators.h | 0 deprecated/eo/src/utils/selectors.h | 0 deprecated/eo/test/CMakeLists.txt | 2 +- deprecated/eo/test/ChangeLog | 0 deprecated/eo/test/RoyalRoad.h | 0 deprecated/eo/test/binary_value.h | 0 deprecated/eo/test/fitness_traits.cpp | 0 deprecated/eo/test/real_value.h | 0 deprecated/eo/test/t-MGE-control.cpp | 0 deprecated/eo/test/t-MGE.cpp | 0 deprecated/eo/test/t-MGE1bit.cpp | 0 deprecated/eo/test/t-eo.cpp | 0 deprecated/eo/test/t-eo2dVector.cc | 0 deprecated/eo/test/t-eoCMAES.cpp | 0 deprecated/eo/test/t-eoCheckpointing.cpp | 0 deprecated/eo/test/t-eoDualFitness.cpp | 0 deprecated/eo/test/t-eoESAll.cpp | 0 deprecated/eo/test/t-eoESFull.cpp | 0 deprecated/eo/test/t-eoEasyEA.cpp | 0 deprecated/eo/test/t-eoEasyPSO.cpp | 0 deprecated/eo/test/t-eoExtendedVelocity.cpp | 0 deprecated/eo/test/t-eoExternalEO.cpp | 0 deprecated/eo/test/t-eoFitnessAssembled.cpp | 0 deprecated/eo/test/t-eoFitnessAssembledEA.cpp | 0 deprecated/eo/test/t-eoFunctor.cpp | 0 deprecated/eo/test/t-eoGA.cpp | 0 deprecated/eo/test/t-eoGenOp.cpp | 0 deprecated/eo/test/t-eoIQRStat.cpp | 0 deprecated/eo/test/t-eoInitPermutation.cpp | 0 deprecated/eo/test/t-eoInt.cpp | 0 deprecated/eo/test/t-eoLogger.cpp | 0 deprecated/eo/test/t-eoOrderXover.cpp | 0 deprecated/eo/test/t-eoPBIL.cpp | 0 deprecated/eo/test/t-eoParallel.cpp | 0 deprecated/eo/test/t-eoParser.cpp | 0 deprecated/eo/test/t-eoRNG.cpp | 0 deprecated/eo/test/t-eoRandom.cpp | 0 deprecated/eo/test/t-eoReal.cpp | 0 deprecated/eo/test/t-eoReplacement.cpp | 0 deprecated/eo/test/t-eoRingTopology.cpp | 0 deprecated/eo/test/t-eoRoulette.cpp | 0 deprecated/eo/test/t-eoSSGA.cpp | 0 .../eo/test/t-eoSecondsElapsedContinue.cpp | 0 deprecated/eo/test/t-eoSelect.cpp | 0 deprecated/eo/test/t-eoSharing.cpp | 0 deprecated/eo/test/t-eoShiftMutation.cpp | 0 deprecated/eo/test/t-eoStateAndParser.cpp | 0 deprecated/eo/test/t-eoSwapMutation.cpp | 0 deprecated/eo/test/t-eoSymreg.cpp | 0 deprecated/eo/test/t-eoSyncEasyPSO.cpp | 0 deprecated/eo/test/t-eoTwoOptMutation.cpp | 0 deprecated/eo/test/t-eoUniform.cpp | 0 deprecated/eo/test/t-eoVector.cpp | 0 deprecated/eo/test/t-eoVirus.cpp | 0 deprecated/eo/test/t-eobin.cpp | 0 deprecated/eo/test/t-eofitness.cpp | 0 deprecated/eo/test/t-openmp.cpp | 0 deprecated/eo/test/t-selectOne.cpp | 0 deprecated/eo/tutorial/CMakeLists.txt | 0 deprecated/eo/tutorial/Lesson1/CMakeLists.txt | 6 +- deprecated/eo/tutorial/Lesson1/FirstBitGA.cpp | 0 .../eo/tutorial/Lesson1/FirstRealGA.cpp | 0 .../eo/tutorial/Lesson1/Makefile.simple | 0 .../eo/tutorial/Lesson1/exercise1.3.cpp | 0 deprecated/eo/tutorial/Lesson2/CMakeLists.txt | 6 +- deprecated/eo/tutorial/Lesson2/FirstBitEA.cpp | 0 .../eo/tutorial/Lesson2/FirstRealEA.cpp | 0 .../eo/tutorial/Lesson2/Makefile.simple | 0 deprecated/eo/tutorial/Lesson2/binary_value.h | 0 .../eo/tutorial/Lesson2/exercise2.3.cpp | 0 deprecated/eo/tutorial/Lesson2/real_value.h | 0 deprecated/eo/tutorial/Lesson3/CMakeLists.txt | 6 +- .../eo/tutorial/Lesson3/Makefile.simple | 0 .../eo/tutorial/Lesson3/SecondBitEA.cpp | 0 .../eo/tutorial/Lesson3/SecondRealEA.cpp | 0 deprecated/eo/tutorial/Lesson3/binary_value.h | 0 .../eo/tutorial/Lesson3/exercise3.1.cpp | 0 deprecated/eo/tutorial/Lesson3/real_value.h | 0 deprecated/eo/tutorial/Lesson4/BitEA.cpp | 0 deprecated/eo/tutorial/Lesson4/CMakeLists.txt | 6 +- deprecated/eo/tutorial/Lesson4/ESEA.cpp | 0 deprecated/eo/tutorial/Lesson4/ESEA.param | 0 .../eo/tutorial/Lesson4/Makefile.simple | 0 deprecated/eo/tutorial/Lesson4/RealEA.cpp | 0 deprecated/eo/tutorial/Lesson4/RealEA.param | 0 deprecated/eo/tutorial/Lesson4/binary_value.h | 0 deprecated/eo/tutorial/Lesson4/real_value.h | 0 deprecated/eo/tutorial/Lesson5/CMakeLists.txt | 4 +- .../eo/tutorial/Lesson5/Makefile.simple | 0 deprecated/eo/tutorial/Lesson5/OneMaxEA.cpp | 0 .../eo/tutorial/Lesson5/OneMaxLibEA.cpp | 0 deprecated/eo/tutorial/Lesson5/eoOneMax.h | 0 .../eo/tutorial/Lesson5/eoOneMaxEvalFunc.h | 0 deprecated/eo/tutorial/Lesson5/eoOneMaxInit.h | 0 .../eo/tutorial/Lesson5/eoOneMaxMutation.h | 0 .../tutorial/Lesson5/eoOneMaxQuadCrossover.h | 0 .../eo/tutorial/Lesson5/make_OneMax.cpp | 0 .../tutorial/Lesson5/make_genotype_OneMax.h | 0 .../eo/tutorial/Lesson5/make_op_OneMax.h | 0 deprecated/eo/tutorial/Lesson6/BinaryPSO.cpp | 0 deprecated/eo/tutorial/Lesson6/CMakeLists.txt | 4 +- .../eo/tutorial/Lesson6/Makefile.simple | 0 deprecated/eo/tutorial/Lesson6/RealPSO.cpp | 0 deprecated/eo/tutorial/Makefile.simple | 0 deprecated/eo/tutorial/README | 0 deprecated/eo/tutorial/Templates/ChangeLog | 0 deprecated/eo/tutorial/Templates/EO.tpl | 0 .../tutorial/Templates/Makefile.am.src-tmpl | 0 .../tutorial/Templates/Makefile.am.top-tmpl | 0 .../eo/tutorial/Templates/MyStructEA.cpp | 0 .../eo/tutorial/Templates/MyStructLibEA.cpp | 0 .../eo/tutorial/Templates/MyStructSEA.cpp | 0 deprecated/eo/tutorial/Templates/README | 0 .../eo/tutorial/Templates/README.manual | 0 deprecated/eo/tutorial/Templates/README.tmpl | 0 .../eo/tutorial/Templates/binCrossover.tmpl | 0 .../eo/tutorial/Templates/configure.ac.tmpl | 0 .../eo/tutorial/Templates/continue.tmpl | 0 .../eo/tutorial/Templates/eoMyStruct.tmpl | 0 .../eo/tutorial/Templates/evalFunc.tmpl | 0 deprecated/eo/tutorial/Templates/init.tmpl | 0 .../lessOffspringExternalSelectorGenOp.tmpl | 0 .../lessOffspringSameSelectorGenOp.tmpl | 0 .../eo/tutorial/Templates/make_MyStruct.cpp | 0 .../Templates/make_genotype_MyStruct.h | 0 .../eo/tutorial/Templates/make_op_MyStruct.h | 0 .../Templates/moreOffspringGenOp.tmpl | 0 .../eo/tutorial/Templates/mutation.tmpl | 0 .../eo/tutorial/Templates/quadCrossover.tmpl | 0 deprecated/eo/tutorial/Templates/stat.tmpl | 0 deprecated/eo/tutorial/html/BitEA.html | 0 deprecated/eo/tutorial/html/EA_tutorial.jpg | Bin deprecated/eo/tutorial/html/FirstBitEA.html | 0 deprecated/eo/tutorial/html/FirstBitGA.html | 0 deprecated/eo/tutorial/html/FirstRealEA.html | 0 deprecated/eo/tutorial/html/FirstRealGA.html | 0 deprecated/eo/tutorial/html/Firstmerge.html | 0 deprecated/eo/tutorial/html/NoWay.html | 0 deprecated/eo/tutorial/html/OneMaxEA.html | 0 deprecated/eo/tutorial/html/SecondBitEA.html | 0 deprecated/eo/tutorial/html/SecondRealEA.html | 0 deprecated/eo/tutorial/html/beige009.jpg | Bin deprecated/eo/tutorial/html/binary_value.html | 0 deprecated/eo/tutorial/html/debut.html | 0 deprecated/eo/tutorial/html/eoBottomUp.html | 0 deprecated/eo/tutorial/html/eoCheckPoint.html | 0 deprecated/eo/tutorial/html/eoEngine.html | 0 deprecated/eo/tutorial/html/eoEval.html | 0 deprecated/eo/tutorial/html/eoGeneration.html | 0 deprecated/eo/tutorial/html/eoInit.html | 0 deprecated/eo/tutorial/html/eoIo.html | 0 deprecated/eo/tutorial/html/eoLesson1.html | 0 deprecated/eo/tutorial/html/eoLesson2.html | 0 deprecated/eo/tutorial/html/eoLesson3.html | 0 deprecated/eo/tutorial/html/eoLesson4.html | 0 deprecated/eo/tutorial/html/eoLesson5.html | 0 deprecated/eo/tutorial/html/eoOneMax.html | 0 .../eo/tutorial/html/eoOneMaxEvalFunc.html | 0 deprecated/eo/tutorial/html/eoOneMaxInit.html | 0 .../eo/tutorial/html/eoOneMaxMutation.html | 0 .../tutorial/html/eoOneMaxQuadCrossover.html | 0 .../eo/tutorial/html/eoOneMax_complete.html | 0 deprecated/eo/tutorial/html/eoOperators.html | 0 deprecated/eo/tutorial/html/eoOutput.html | 0 .../eo/tutorial/html/eoProgramming.html | 0 .../eo/tutorial/html/eoRepresentation.html | 0 deprecated/eo/tutorial/html/eoSGA.html | 0 deprecated/eo/tutorial/html/eoSelect.html | 0 deprecated/eo/tutorial/html/eoStop.html | 0 deprecated/eo/tutorial/html/eoTopDown.html | 0 deprecated/eo/tutorial/html/eoTutorial.html | 0 .../tutorial/html/make_genotype_OneMax.html | 0 .../eo/tutorial/html/make_op_OneMax.html | 0 deprecated/eo/tutorial/html/real_value.html | 0 deprecated/eo/tutorial/index.html | 0 doc/CMakeLists.txt | 36 + {edo/doc => doc/edo}/CMakeLists.txt | 2 +- {edo/doc => doc/edo}/edo.doxyfile.cmake | 0 {edo/doc => doc/edo}/edo_design.svg | 0 {edo/doc => doc/edo}/edo_distrib.svg | 0 {edo/doc => doc/edo}/index.h | 0 {eo/doc => doc/eo}/CMakeLists.txt | 2 +- {eo/doc => doc/eo}/ChangeLog | 0 {eo/doc => doc/eo}/EO_EA2001.pdf | Bin {eo/doc => doc/eo}/LeCreusot.pdf | Bin {eo/doc => doc/eo}/eo.doxyfile.cmake | 0 {smp/doc => doc/eo}/index.h | 0 {eo/doc => doc/eo}/sflogo-hammer1.jpg | Bin {mo/doc => doc/mo}/CMakeLists.txt | 2 +- {mo/doc => doc/mo}/index.h | 0 {mo/doc => doc/mo}/mo.doxyfile.cmake | 0 {moeo/doc => doc/moeo}/CMakeLists.txt | 2 +- {moeo/doc => doc/moeo}/index.h | 0 {moeo/doc => doc/moeo}/moeo.doxyfile.cmake | 0 {smp/doc => doc/smp}/CMakeLists.txt | 2 +- doc/smp/index.h | 49 + {smp/doc => doc/smp}/smp.doxyfile.cmake | 0 edo/CMakeLists.txt | 46 - edo/src/CMakeLists.txt | 37 - edo/src/edo | 97 -- edo/test/t-binomialmulti.cpp | 87 -- eo/.gitignore | 5 - eo/CMakeLists.txt | 65 -- eo/cmake/modules/FindEO.cmake | 100 -- eo/contrib/mathsym/test_data.txt | 102 -- eo/doc/index.h | 62 -- eo/doc/mainpage.html | 280 ------ eo/doc/publications.html | 75 -- eo/src/CMakeLists.txt | 58 -- eo/src/eo | 210 ---- eo/src/other/external_eo | 2 - eo/tutorial/html/BitEA.html | 261 ----- eo/tutorial/html/FirstBitEA.html | 369 ------- eo/tutorial/html/FirstBitGA.html | 312 ------ eo/tutorial/html/FirstRealEA.html | 354 ------- eo/tutorial/html/FirstRealGA.html | 350 ------- eo/tutorial/html/Firstmerge.html | 286 ------ eo/tutorial/html/NoWay.html | 77 -- eo/tutorial/html/OneMaxEA.html | 360 ------- eo/tutorial/html/SecondBitEA.html | 569 ----------- eo/tutorial/html/SecondRealEA.html | 468 --------- eo/tutorial/html/binary_value.html | 57 -- eo/tutorial/html/debut.html | 21 - eo/tutorial/html/eoBottomUp.html | 77 -- eo/tutorial/html/eoCheckPoint.html | 150 --- eo/tutorial/html/eoEngine.html | 778 --------------- eo/tutorial/html/eoEval.html | 34 - eo/tutorial/html/eoGeneration.html | 19 - eo/tutorial/html/eoInit.html | 36 - eo/tutorial/html/eoIo.html | 25 - eo/tutorial/html/eoLesson1.html | 440 -------- eo/tutorial/html/eoLesson2.html | 357 ------- eo/tutorial/html/eoLesson3.html | 565 ----------- eo/tutorial/html/eoLesson4.html | 940 ------------------ eo/tutorial/html/eoLesson5.html | 415 -------- eo/tutorial/html/eoOneMax.html | 209 ---- eo/tutorial/html/eoOneMaxEvalFunc.html | 160 --- eo/tutorial/html/eoOneMaxInit.html | 153 --- eo/tutorial/html/eoOneMaxMutation.html | 168 ---- eo/tutorial/html/eoOneMaxQuadCrossover.html | 168 ---- eo/tutorial/html/eoOneMax_complete.html | 192 ---- eo/tutorial/html/eoOperators.html | 818 --------------- eo/tutorial/html/eoOutput.html | 19 - eo/tutorial/html/eoProgramming.html | 502 ---------- eo/tutorial/html/eoRepresentation.html | 19 - eo/tutorial/html/eoSGA.html | 157 --- eo/tutorial/html/eoSelect.html | 19 - eo/tutorial/html/eoStop.html | 25 - eo/tutorial/html/eoTopDown.html | 111 --- eo/tutorial/html/eoTutorial.html | 286 ------ eo/tutorial/html/make_genotype_OneMax.html | 160 --- eo/tutorial/html/make_op_OneMax.html | 351 ------- eo/tutorial/html/real_value.html | 56 -- eo/tutorial/index.html | 26 - eompi/CMakeLists.txt | 9 - eoserial/CMakeLists.txt | 6 - mo/CMakeLists.txt | 17 - mo/src/mo.h | 211 ---- moeo/CMakeLists.txt | 17 - moeo/src/moeo | 224 ----- smp/CMakeLists.txt | 18 - src/CMakeLists.txt | 166 ++++ {edo => src/edo}/AUTHORS | 0 src/edo/CMakeLists.txt | 93 ++ {edo => src/edo}/COPYING | 0 {edo => src/edo}/NEWS | 0 {edo => src/edo}/Packaging.cmake | 0 {edo => src/edo}/README | 0 {edo/src => src/edo}/TODO | 0 {edo => src/edo}/distclean | 0 src/edo/edo.h | 97 ++ {edo => src/edo}/edo.pc | 0 {edo/src => src/edo}/edoAlgo.h | 2 +- {edo/src => src/edo}/edoAlgoAdaptive.h | 4 +- {edo/src => src/edo}/edoAlgoStateless.h | 0 {edo/src => src/edo}/edoBinomial.h | 0 {edo/src => src/edo}/edoBinomialMulti.h | 0 {edo/src => src/edo}/edoBounder.h | 2 +- {edo/src => src/edo}/edoBounderBound.h | 0 {edo/src => src/edo}/edoBounderNo.h | 0 {edo/src => src/edo}/edoBounderRng.h | 0 {edo/src => src/edo}/edoBounderUniform.h | 0 {edo/src => src/edo}/edoContinue.h | 4 +- {edo/src => src/edo}/edoDistrib.h | 2 +- {edo/src => src/edo}/edoEDASA.h | 6 +- {edo/src => src/edo}/edoEstimator.h | 4 +- {edo/src => src/edo}/edoEstimatorAdaptive.h | 4 +- {edo/src => src/edo}/edoEstimatorBinomial.h | 0 .../edo}/edoEstimatorBinomialMulti.h | 0 .../edo}/edoEstimatorNormalAdaptive.h | 0 {edo/src => src/edo}/edoEstimatorNormalMono.h | 0 .../src => src/edo}/edoEstimatorNormalMulti.h | 127 +-- {edo/src => src/edo}/edoEstimatorUniform.h | 0 {edo/src => src/edo}/edoModifier.h | 0 {edo/src => src/edo}/edoModifierDispersion.h | 4 +- {edo/src => src/edo}/edoModifierMass.h | 2 +- {edo/src => src/edo}/edoNormalAdaptive.h | 0 {edo/src => src/edo}/edoNormalMono.h | 0 {edo/src => src/edo}/edoNormalMonoCenter.h | 0 {edo/src => src/edo}/edoNormalMulti.h | 4 +- {edo/src => src/edo}/edoNormalMultiCenter.h | 0 {edo/src => src/edo}/edoRepairer.h | 2 +- {edo/src => src/edo}/edoRepairerApply.h | 0 {edo/src => src/edo}/edoRepairerDispatcher.h | 0 {edo/src => src/edo}/edoRepairerModulo.h | 0 {edo/src => src/edo}/edoRepairerRound.h | 0 {edo/src => src/edo}/edoSampler.h | 2 +- {edo/src => src/edo}/edoSamplerBinomial.h | 2 +- .../src => src/edo}/edoSamplerBinomialMulti.h | 2 +- .../edo}/edoSamplerNormalAdaptive.h | 2 +- {edo/src => src/edo}/edoSamplerNormalMono.h | 2 +- {edo/src => src/edo}/edoSamplerNormalMulti.h | 4 +- {edo/src => src/edo}/edoSamplerUniform.h | 2 +- {edo/src => src/edo}/edoTransform.h | 2 - {edo/src => src/edo}/edoUniform.h | 0 {edo/src => src/edo}/edoUniformCenter.h | 0 {edo/src => src/edo}/edoVectorBounds.h | 0 {edo => src/edo}/install.cmake-dist | 0 {edo => src/edo}/package_deb | 0 {edo => src/edo}/package_rpm | 0 {edo/src => src/edo}/utils/CMakeLists.txt | 4 +- {edo/src => src/edo}/utils/edoCheckPoint.h | 7 +- {edo/src => src/edo}/utils/edoCholesky.h | 4 +- .../src => src/edo}/utils/edoFileSnapshot.cpp | 8 +- {edo/src => src/edo}/utils/edoFileSnapshot.h | 3 +- {edo/src => src/edo}/utils/edoHyperVolume.h | 0 {edo/src => src/edo}/utils/edoPopStat.h | 3 +- {edo/src => src/edo}/utils/edoStat.h | 3 +- .../src => src/edo}/utils/edoStatNormalMono.h | 2 +- .../edo}/utils/edoStatNormalMulti.h | 0 {edo/src => src/edo}/utils/edoStatUniform.h | 2 +- {eo => src/eo}/BuildConfig.cmake | 0 {eo => src/eo}/CHANGELOG | 0 src/eo/CMakeLists.txt | 225 +++++ {eo => src/eo}/COPYING | 0 {eo => src/eo}/ConfigureChecks.cmake | 0 {eo/src => src/eo}/EO.h | 4 +- {eo => src/eo}/INSTALL | 0 {eo => src/eo}/LICENSE | 0 {eo => src/eo}/NEWS | 0 {eo => src/eo}/PKGBUILD.cmake | 0 {eo/src => src/eo}/PO.h | 2 +- {eo => src/eo}/README | 0 {eo => src/eo}/THANKS | 0 {eo => src/eo}/ToDo | 0 {eo/src => src/eo}/apply.h | 8 +- {eo => src/eo}/config.h.cmake | 0 {eo => src/eo}/contrib/MGE/ChangeLog | 0 {eo => src/eo}/contrib/MGE/VirusOp.h | 3 +- {eo => src/eo}/contrib/MGE/eoInitVirus.h | 8 +- {eo => src/eo}/contrib/MGE/eoVirus.h | 2 +- {eo => src/eo}/contrib/boost/config.hpp | 0 .../eo}/contrib/boost/config/abi_prefix.hpp | 0 .../eo}/contrib/boost/config/abi_suffix.hpp | 0 .../eo}/contrib/boost/config/auto_link.hpp | 0 .../contrib/boost/config/compiler/borland.hpp | 0 .../contrib/boost/config/compiler/comeau.hpp | 0 .../boost/config/compiler/common_edg.hpp | 0 .../boost/config/compiler/compaq_cxx.hpp | 0 .../boost/config/compiler/digitalmars.hpp | 0 .../eo}/contrib/boost/config/compiler/gcc.hpp | 0 .../boost/config/compiler/greenhills.hpp | 0 .../contrib/boost/config/compiler/hp_acc.hpp | 0 .../contrib/boost/config/compiler/intel.hpp | 0 .../eo}/contrib/boost/config/compiler/kai.hpp | 0 .../boost/config/compiler/metrowerks.hpp | 0 .../eo}/contrib/boost/config/compiler/mpw.hpp | 0 .../boost/config/compiler/sgi_mipspro.hpp | 0 .../boost/config/compiler/sunpro_cc.hpp | 0 .../contrib/boost/config/compiler/vacpp.hpp | 0 .../contrib/boost/config/compiler/visualc.hpp | 0 .../eo}/contrib/boost/config/platform/aix.hpp | 0 .../contrib/boost/config/platform/amigaos.hpp | 0 .../contrib/boost/config/platform/beos.hpp | 0 .../eo}/contrib/boost/config/platform/bsd.hpp | 0 .../contrib/boost/config/platform/cygwin.hpp | 0 .../contrib/boost/config/platform/hpux.hpp | 0 .../contrib/boost/config/platform/irix.hpp | 0 .../contrib/boost/config/platform/linux.hpp | 0 .../contrib/boost/config/platform/macos.hpp | 0 .../contrib/boost/config/platform/solaris.hpp | 0 .../contrib/boost/config/platform/win32.hpp | 0 .../contrib/boost/config/posix_features.hpp | 0 .../contrib/boost/config/requires_threads.hpp | 0 .../boost/config/select_compiler_config.hpp | 0 .../boost/config/select_platform_config.hpp | 0 .../boost/config/select_stdlib_config.hpp | 0 .../boost/config/stdlib/dinkumware.hpp | 0 .../contrib/boost/config/stdlib/libcomo.hpp | 0 .../boost/config/stdlib/libstdcpp3.hpp | 0 .../contrib/boost/config/stdlib/modena.hpp | 0 .../eo}/contrib/boost/config/stdlib/msl.hpp | 0 .../contrib/boost/config/stdlib/roguewave.hpp | 0 .../eo}/contrib/boost/config/stdlib/sgi.hpp | 0 .../contrib/boost/config/stdlib/stlport.hpp | 0 .../eo}/contrib/boost/config/stdlib/vacpp.hpp | 0 .../eo}/contrib/boost/config/suffix.hpp | 0 {eo => src/eo}/contrib/boost/config/user.hpp | 0 {eo => src/eo}/contrib/boost/limits.hpp | 0 .../eo}/contrib/boost/numeric/interval.hpp | 0 .../contrib/boost/numeric/interval/arith.hpp | 0 .../contrib/boost/numeric/interval/arith2.hpp | 0 .../contrib/boost/numeric/interval/arith3.hpp | 0 .../boost/numeric/interval/checking.hpp | 0 .../boost/numeric/interval/compare.hpp | 0 .../numeric/interval/compare/certain.hpp | 0 .../numeric/interval/compare/explicit.hpp | 0 .../interval/compare/lexicographic.hpp | 0 .../numeric/interval/compare/possible.hpp | 0 .../boost/numeric/interval/compare/set.hpp | 0 .../numeric/interval/compare/tribool.hpp | 0 .../boost/numeric/interval/constants.hpp | 0 .../interval/detail/bcc_rounding_control.hpp | 0 .../boost/numeric/interval/detail/bugs.hpp | 0 .../interval/detail/c99_rounding_control.hpp | 0 .../detail/c99sub_rounding_control.hpp | 0 .../numeric/interval/detail/division.hpp | 0 .../interval/detail/interval_prototype.hpp | 0 .../interval/detail/msvc_rounding_control.hpp | 0 .../interval/detail/ppc_rounding_control.hpp | 0 .../detail/sparc_rounding_control.hpp | 0 .../numeric/interval/detail/test_input.hpp | 0 .../interval/detail/x86_rounding_control.hpp | 0 .../detail/x86gcc_rounding_control.hpp | 0 .../boost/numeric/interval/ext/integer.hpp | 0 .../ext/x86_fast_rounding_control.hpp | 0 .../boost/numeric/interval/hw_rounding.hpp | 0 .../boost/numeric/interval/interval.hpp | 0 .../eo}/contrib/boost/numeric/interval/io.hpp | 0 .../contrib/boost/numeric/interval/limits.hpp | 0 .../boost/numeric/interval/policies.hpp | 0 .../boost/numeric/interval/rounded_arith.hpp | 0 .../boost/numeric/interval/rounded_transc.hpp | 0 .../boost/numeric/interval/rounding.hpp | 0 .../contrib/boost/numeric/interval/transc.hpp | 0 .../boost/numeric/interval/utility.hpp | 0 {eo => src/eo}/contrib/eo-pso-22062007.bz2 | Bin {eo => src/eo}/contrib/eoAged.h | 0 {eo => src/eo}/contrib/eoDrawable.h | 0 {eo => src/eo}/contrib/mathsym/COPYING | 0 {eo => src/eo}/contrib/mathsym/GNUmakefile | 0 {eo => src/eo}/contrib/mathsym/README | 0 {eo => src/eo}/contrib/mathsym/README.TCC | 0 .../eo}/contrib/mathsym/eo_interface/eoSym.h | 0 .../mathsym/eo_interface/eoSymCrossover.cpp | 0 .../mathsym/eo_interface/eoSymCrossover.h | 0 .../contrib/mathsym/eo_interface/eoSymEval.h | 0 .../contrib/mathsym/eo_interface/eoSymInit.h | 0 .../eo_interface/eoSymLambdaMutate.cpp | 0 .../mathsym/eo_interface/eoSymLambdaMutate.h | 0 .../mathsym/eo_interface/eoSymMutate.cpp | 0 .../mathsym/eo_interface/eoSymMutate.h | 0 .../eo}/contrib/mathsym/eval/BoundsCheck.cpp | 0 .../eo}/contrib/mathsym/eval/BoundsCheck.h | 0 .../eo}/contrib/mathsym/eval/Interval.h | 0 .../eo}/contrib/mathsym/eval/MultiFuncs.cpp | 0 .../contrib/mathsym/eval/MultiFunction.cpp | 0 .../eo}/contrib/mathsym/eval/MultiFunction.h | 0 .../eo}/contrib/mathsym/eval/c_compile.c | 0 .../eo}/contrib/mathsym/eval/sym_compile.cpp | 0 .../eo}/contrib/mathsym/eval/sym_compile.h | 0 {eo => src/eo}/contrib/mathsym/fun/FunDef.cpp | 0 {eo => src/eo}/contrib/mathsym/fun/FunDef.h | 0 {eo => src/eo}/contrib/mathsym/fun/SymOps.cpp | 0 {eo => src/eo}/contrib/mathsym/fun/SymOps.h | 0 .../contrib/mathsym/fun/sym_operations.cpp | 0 {eo => src/eo}/contrib/mathsym/fun/util.cpp | 0 .../eo}/contrib/mathsym/gen/LanguageTable.cpp | 0 .../eo}/contrib/mathsym/gen/LanguageTable.h | 0 .../eo}/contrib/mathsym/gen/NodeSelector.cpp | 0 .../eo}/contrib/mathsym/gen/NodeSelector.h | 0 .../eo}/contrib/mathsym/gen/TreeBuilder.cpp | 0 .../eo}/contrib/mathsym/gen/TreeBuilder.h | 0 {eo => src/eo}/contrib/mathsym/header | 0 .../contrib/mathsym/regression/Dataset.cpp | 0 .../eo}/contrib/mathsym/regression/Dataset.h | 0 .../mathsym/regression/ErrorMeasure.cpp | 0 .../contrib/mathsym/regression/ErrorMeasure.h | 0 .../contrib/mathsym/regression/Scaling.cpp | 0 .../eo}/contrib/mathsym/regression/Scaling.h | 0 .../contrib/mathsym/regression/TargetInfo.cpp | 0 .../contrib/mathsym/regression/TargetInfo.h | 0 .../eo}/contrib/mathsym/regression/stats.h | 0 {eo => src/eo}/contrib/mathsym/shared_ptr.h | 0 {eo => src/eo}/contrib/mathsym/sym/README.cpp | 0 {eo => src/eo}/contrib/mathsym/sym/Sym.cpp | 0 {eo => src/eo}/contrib/mathsym/sym/Sym.h | 0 .../eo}/contrib/mathsym/sym/SymImpl.cpp | 0 {eo => src/eo}/contrib/mathsym/sym/SymImpl.h | 0 {eo => src/eo}/contrib/mathsym/sym/token.h | 0 {eo => src/eo}/contrib/mathsym/symreg.cpp | 0 {eo => src/eo}/contrib/mathsym/tcc.tar.gz | Bin .../eo}/contrib/mathsym/tcc_patched.tar.gz | Bin .../eo}/contrib/mathsym/test/test_compile.cpp | 0 .../eo}/contrib/mathsym/test/test_diff.cpp | 0 .../eo}/contrib/mathsym/test/test_lambda.cpp | 0 .../eo}/contrib/mathsym/test/test_mf.cpp | 0 .../contrib/mathsym/test/test_simplify.cpp | 0 .../eo}/contrib/mathsym/test/testeo.cpp | 0 {eo/src => src/eo}/do/Readme | 0 {eo/src => src/eo}/do/make_algo_easea.h | 32 +- {eo/src => src/eo}/do/make_algo_scalar.h | 38 +- {eo/src => src/eo}/do/make_checkpoint.h | 10 +- {eo/src => src/eo}/do/make_checkpoint_FDC.h | 10 +- .../eo}/do/make_checkpoint_assembled.h | 10 +- {eo/src => src/eo}/do/make_continue.h | 16 +- .../eo}/do/make_general_replacement.h | 8 +- {eo/src => src/eo}/do/make_pop.h | 10 +- {eo/src => src/eo}/do/make_run.h | 2 +- src/eo/eo.h | 220 ++++ {eo/src => src/eo}/eoAlgo.h | 4 +- {eo/src => src/eo}/eoBinaryFlight.h | 2 +- {eo/src => src/eo}/eoBitParticle.h | 2 +- {eo/src => src/eo}/eoBreed.h | 8 +- {eo/src => src/eo}/eoCellularEasyEA.h | 12 +- {eo/src => src/eo}/eoCloneOps.h | 2 +- {eo/src => src/eo}/eoCombinedContinue.h | 2 +- {eo/src => src/eo}/eoCombinedInit.h | 2 +- .../eo}/eoConstrictedVariableWeightVelocity.h | 10 +- {eo/src => src/eo}/eoConstrictedVelocity.h | 10 +- {eo/src => src/eo}/eoContinue.h | 6 +- {eo/src => src/eo}/eoCounter.h | 6 +- {eo/src => src/eo}/eoCtrlCContinue.cpp | 2 +- {eo/src => src/eo}/eoCtrlCContinue.h | 2 +- {eo/src => src/eo}/eoDetSelect.h | 4 +- {eo/src => src/eo}/eoDetTournamentSelect.h | 8 +- {eo/src => src/eo}/eoDistribUpdater.h | 4 +- {eo/src => src/eo}/eoDistribution.h | 4 +- {eo/src => src/eo}/eoDualFitness.h | 4 +- {eo/src => src/eo}/eoEDA.h | 2 +- {eo/src => src/eo}/eoEasyEA.h | 18 +- {eo/src => src/eo}/eoEasyPSO.h | 8 +- {eo/src => src/eo}/eoEvalContinue.h | 4 +- .../eo}/eoEvalCounterThrowException.h | 6 +- {eo/src => src/eo}/eoEvalDump.h | 2 +- {eo/src => src/eo}/eoEvalFunc.h | 2 +- {eo/src => src/eo}/eoEvalFuncCounter.h | 4 +- {eo/src => src/eo}/eoEvalFuncCounterBounder.h | 4 +- {eo/src => src/eo}/eoEvalFuncPtr.h | 2 +- {eo/src => src/eo}/eoEvalKeepBest.h | 4 +- {eo/src => src/eo}/eoEvalTimeThrowException.h | 2 +- .../eo}/eoEvalUserTimeThrowException.h | 2 +- {eo/src => src/eo}/eoExceptions.h | 0 {eo/src => src/eo}/eoExtendedVelocity.h | 12 +- {eo/src => src/eo}/eoFactory.h | 2 +- {eo/src => src/eo}/eoFitContinue.h | 4 +- {eo/src => src/eo}/eoFitnessScalingSelect.h | 4 +- .../eo}/eoFixedInertiaWeightedVelocity.h | 10 +- {eo/src => src/eo}/eoFlOrBinOp.h | 4 +- {eo/src => src/eo}/eoFlOrMonOp.h | 6 +- {eo/src => src/eo}/eoFlOrQuadOp.h | 4 +- {eo/src => src/eo}/eoFlight.h | 4 +- {eo/src => src/eo}/eoFunctor.h | 0 {eo/src => src/eo}/eoFunctorStore.cpp | 4 +- {eo/src => src/eo}/eoFunctorStore.h | 0 {eo/src => src/eo}/eoG3Replacement.h | 12 +- {eo/src => src/eo}/eoGaussRealWeightUp.h | 4 +- {eo/src => src/eo}/eoGenContinue.h | 6 +- {eo/src => src/eo}/eoGenOp.h | 6 +- {eo/src => src/eo}/eoGeneralBreeder.h | 12 +- {eo/src => src/eo}/eoInit.h | 8 +- {eo/src => src/eo}/eoInitializer.h | 10 +- {eo/src => src/eo}/eoInt.h | 2 +- {eo/src => src/eo}/eoIntegerVelocity.h | 12 +- {eo/src => src/eo}/eoInvalidateOps.h | 2 +- {eo/src => src/eo}/eoInvertedContinue.h | 2 +- .../eo}/eoLinearDecreasingWeightUp.h | 2 +- {eo/src => src/eo}/eoLinearFitScaling.h | 4 +- {eo/src => src/eo}/eoLinearTopology.h | 6 +- {eo/src => src/eo}/eoMGGReplacement.h | 12 +- {eo/src => src/eo}/eoMerge.h | 6 +- {eo/src => src/eo}/eoMergeReduce.h | 12 +- {eo/src => src/eo}/eoNDSorting.h | 6 +- {eo/src => src/eo}/eoNeighborhood.h | 0 {eo/src => src/eo}/eoObject.h | 4 +- {eo/src => src/eo}/eoOneToOneBreeder.h | 18 +- {eo/src => src/eo}/eoOp.h | 8 +- {eo/src => src/eo}/eoOpContainer.h | 2 +- {eo/src => src/eo}/eoOpSelMason.h | 2 +- {eo/src => src/eo}/eoOrderXover.h | 4 +- {eo/src => src/eo}/eoPSO.h | 2 +- {eo/src => src/eo}/eoParticleBestInit.h | 2 +- .../eo}/eoParticleFullInitializer.h | 10 +- {eo/src => src/eo}/eoPerf2Worth.h | 6 +- {eo/src => src/eo}/eoPeriodicContinue.h | 4 +- {eo/src => src/eo}/eoPersistent.cpp | 2 +- {eo/src => src/eo}/eoPersistent.h | 0 {eo/src => src/eo}/eoPop.h | 8 +- {eo/src => src/eo}/eoPopEvalFunc.h | 14 +- {eo/src => src/eo}/eoPopulator.h | 4 +- {eo/src => src/eo}/eoPrintable.cpp | 2 +- {eo/src => src/eo}/eoPrintable.h | 0 {eo/src => src/eo}/eoPropGAGenOp.h | 0 {eo/src => src/eo}/eoProportionalCombinedOp.h | 12 +- {eo/src => src/eo}/eoProportionalSelect.h | 8 +- {eo/src => src/eo}/eoRandomRealWeightUp.h | 4 +- {eo/src => src/eo}/eoRandomSelect.h | 4 +- {eo/src => src/eo}/eoRankMuSelect.h | 0 {eo/src => src/eo}/eoRanking.h | 2 +- {eo/src => src/eo}/eoRankingSelect.h | 4 +- {eo/src => src/eo}/eoRealBoundModifier.h | 4 +- {eo/src => src/eo}/eoRealParticle.h | 2 +- {eo/src => src/eo}/eoReduce.h | 8 +- {eo/src => src/eo}/eoReduceMerge.h | 12 +- {eo/src => src/eo}/eoReduceMergeReduce.h | 10 +- {eo/src => src/eo}/eoReduceSplit.h | 6 +- {eo/src => src/eo}/eoReplacement.h | 10 +- {eo/src => src/eo}/eoRingTopology.h | 4 +- {eo/src => src/eo}/eoSGA.h | 16 +- {eo/src => src/eo}/eoSGAGenOp.h | 0 {eo/src => src/eo}/eoSGATransform.h | 8 +- {eo/src => src/eo}/eoSIGContinue.cpp | 0 {eo/src => src/eo}/eoSIGContinue.h | 2 +- {eo/src => src/eo}/eoSTLFunctor.h | 0 {eo/src => src/eo}/eoScalarFitness.h | 0 .../eo}/eoScalarFitnessAssembled.cpp | 0 {eo/src => src/eo}/eoScalarFitnessAssembled.h | 0 {eo/src => src/eo}/eoSecondsElapsedContinue.h | 2 +- {eo/src => src/eo}/eoSelect.h | 2 +- {eo/src => src/eo}/eoSelectFactory.h | 6 +- {eo/src => src/eo}/eoSelectFromWorth.h | 6 +- {eo/src => src/eo}/eoSelectMany.h | 6 +- {eo/src => src/eo}/eoSelectNumber.h | 4 +- {eo/src => src/eo}/eoSelectOne.h | 4 +- {eo/src => src/eo}/eoSelectPerc.h | 4 +- {eo/src => src/eo}/eoSequentialSelect.h | 0 {eo/src => src/eo}/eoSharing.h | 4 +- {eo/src => src/eo}/eoSharingSelect.h | 4 +- {eo/src => src/eo}/eoShiftMutation.h | 0 {eo/src => src/eo}/eoSigBinaryFlight.h | 2 +- {eo/src => src/eo}/eoSimpleEDA.h | 10 +- {eo/src => src/eo}/eoSocialNeighborhood.h | 2 +- {eo/src => src/eo}/eoStandardFlight.h | 2 +- {eo/src => src/eo}/eoStandardVelocity.h | 12 +- {eo/src => src/eo}/eoStarTopology.h | 4 +- {eo/src => src/eo}/eoSteadyFitContinue.h | 4 +- {eo/src => src/eo}/eoStochTournamentSelect.h | 4 +- .../eo}/eoStochasticUniversalSelect.h | 8 +- {eo/src => src/eo}/eoSurviveAndDie.h | 10 +- {eo/src => src/eo}/eoSwapMutation.h | 0 {eo/src => src/eo}/eoSyncEasyPSO.h | 10 +- {eo/src => src/eo}/eoTimeContinue.h | 4 +- {eo/src => src/eo}/eoTopology.h | 2 +- {eo/src => src/eo}/eoTransform.h | 2 +- {eo/src => src/eo}/eoTruncSelect.h | 4 +- {eo/src => src/eo}/eoTruncatedSelectMany.h | 6 +- {eo/src => src/eo}/eoTruncatedSelectOne.h | 6 +- {eo/src => src/eo}/eoTwoOptMutation.h | 0 .../eo}/eoVariableInertiaWeightedVelocity.h | 10 +- .../eo}/eoVariableLengthCrossover.h | 4 +- {eo/src => src/eo}/eoVariableLengthMutation.h | 6 +- {eo/src => src/eo}/eoVector.h | 4 +- {eo/src => src/eo}/eoVectorParticle.h | 2 +- {eo/src => src/eo}/eoVelocity.h | 8 +- {eo/src => src/eo}/eoVelocityInit.h | 6 +- {eo/src => src/eo}/eoWeightUpdater.h | 2 +- {eo/src => src/eo}/es.h | 26 +- {eo/src => src/eo}/es/CMAParams.cpp | 4 +- {eo/src => src/eo}/es/CMAParams.h | 0 {eo/src => src/eo}/es/CMAState.cpp | 10 +- {eo/src => src/eo}/es/CMAState.h | 0 {eo/src => src/eo}/es/CMakeLists.txt | 4 +- {eo/src => src/eo}/es/ChangeLog | 0 {eo/src => src/eo}/es/eig.cpp | 0 {eo/src => src/eo}/es/eig.h | 2 +- {eo/src => src/eo}/es/eoCMABreed.h | 6 +- {eo/src => src/eo}/es/eoCMAInit.h | 6 +- {eo/src => src/eo}/es/eoEsChromInit.h | 8 +- {eo/src => src/eo}/es/eoEsFull.h | 2 +- {eo/src => src/eo}/es/eoEsGlobalXover.h | 12 +- {eo/src => src/eo}/es/eoEsMutate.h | 16 +- {eo/src => src/eo}/es/eoEsMutationInit.h | 2 +- {eo/src => src/eo}/es/eoEsSimple.h | 4 +- {eo/src => src/eo}/es/eoEsStandardXover.h | 12 +- {eo/src => src/eo}/es/eoEsStdev.h | 2 +- {eo/src => src/eo}/es/eoNormalMutation.h | 10 +- {eo/src => src/eo}/es/eoReal.h | 2 +- {eo/src => src/eo}/es/eoRealAtomXover.h | 4 +- {eo/src => src/eo}/es/eoRealInitBounded.h | 8 +- {eo/src => src/eo}/es/eoRealOp.h | 6 +- {eo/src => src/eo}/es/eoSBXcross.h | 10 +- {eo/src => src/eo}/es/make_algo_scalar_es.cpp | 8 +- .../eo}/es/make_algo_scalar_real.cpp | 4 +- {eo/src => src/eo}/es/make_checkpoint_es.cpp | 8 +- .../eo}/es/make_checkpoint_real.cpp | 4 +- {eo/src => src/eo}/es/make_continue_es.cpp | 8 +- {eo/src => src/eo}/es/make_continue_real.cpp | 4 +- {eo/src => src/eo}/es/make_es.h | 28 +- {eo/src => src/eo}/es/make_genotype_es.cpp | 2 +- {eo/src => src/eo}/es/make_genotype_real.cpp | 2 +- {eo/src => src/eo}/es/make_genotype_real.h | 10 +- {eo/src => src/eo}/es/make_op.h | 22 +- {eo/src => src/eo}/es/make_op_es.cpp | 2 +- {eo/src => src/eo}/es/make_op_es.h | 28 +- {eo/src => src/eo}/es/make_op_real.cpp | 2 +- {eo/src => src/eo}/es/make_op_real.h | 22 +- {eo/src => src/eo}/es/make_pop_es.cpp | 8 +- {eo/src => src/eo}/es/make_pop_real.cpp | 4 +- {eo/src => src/eo}/es/make_real.h | 24 +- {eo/src => src/eo}/es/make_run_es.cpp | 10 +- {eo/src => src/eo}/es/make_run_real.cpp | 6 +- {eo/src => src/eo}/es/matrices.h | 0 {eo/src => src/eo}/ga.h | 6 +- {eo/src => src/eo}/ga/CMakeLists.txt | 4 +- {eo/src => src/eo}/ga/ChangeLog | 0 {eo/src => src/eo}/ga/Readme | 0 {eo/src => src/eo}/ga/eoBit.h | 2 +- {eo/src => src/eo}/ga/eoBitOp.h | 6 +- {eo/src => src/eo}/ga/eoBitOpFactory.h | 4 +- {eo/src => src/eo}/ga/eoBoolFlip.h | 2 +- {eo/src => src/eo}/ga/eoPBILAdditive.h | 4 +- {eo/src => src/eo}/ga/eoPBILDistrib.h | 2 +- {eo/src => src/eo}/ga/eoPBILOrg.h | 4 +- {eo/src => src/eo}/ga/make_PBILdistrib.h | 8 +- {eo/src => src/eo}/ga/make_PBILupdate.h | 8 +- {eo/src => src/eo}/ga/make_algo_scalar_ga.cpp | 4 +- {eo/src => src/eo}/ga/make_checkpoint_ga.cpp | 4 +- {eo/src => src/eo}/ga/make_continue_ga.cpp | 4 +- {eo/src => src/eo}/ga/make_ga.h | 20 +- {eo/src => src/eo}/ga/make_genotype_ga.cpp | 2 +- {eo/src => src/eo}/ga/make_genotype_ga.h | 8 +- {eo/src => src/eo}/ga/make_op.h | 18 +- {eo/src => src/eo}/ga/make_op_ga.cpp | 2 +- {eo/src => src/eo}/ga/make_pop_ga.cpp | 4 +- {eo/src => src/eo}/ga/make_run_ga.cpp | 6 +- {eo/src => src/eo}/gp/eoParseTree.h | 12 +- {eo/src => src/eo}/gp/eoParseTreeDepthInit.h | 10 +- {eo/src => src/eo}/gp/eoParseTreeOp.h | 6 +- .../eo}/gp/eoStParseTreeDepthInit.h | 8 +- {eo/src => src/eo}/gp/eoStParseTreeOp.h | 6 +- {eo/src => src/eo}/gp/node_pool.h | 0 {eo/src => src/eo}/gp/parse_tree.h | 0 {eo => src/eo}/install_symlink.py.cmake | 0 {eo/src => src/eo}/other/eoExternalEO.h | 2 +- .../eo}/other/eoExternalOpFunctions.h | 8 +- {eo/src => src/eo}/other/eoString.h | 2 +- src/eo/other/external_eo | 2 + {eo => src/eo}/pc.cmake | 0 {eo/src => src/eo}/pyeo/AUTHORS | 0 {eo/src => src/eo}/pyeo/BUILDING | 0 {eo/src => src/eo}/pyeo/CMakeLists.txt | 2 +- {eo/src => src/eo}/pyeo/COPYING | 0 {eo/src => src/eo}/pyeo/Makefile | 0 {eo/src => src/eo}/pyeo/Makefile.rpm | 0 {eo/src => src/eo}/pyeo/NEWS | 0 {eo/src => src/eo}/pyeo/PyEO.cpp | 2 +- {eo/src => src/eo}/pyeo/PyEO.h | 2 +- {eo/src => src/eo}/pyeo/PyEO/__init__.py | 0 {eo/src => src/eo}/pyeo/README | 0 {eo/src => src/eo}/pyeo/abstract1.cpp | 10 +- {eo/src => src/eo}/pyeo/algos.cpp | 8 +- {eo/src => src/eo}/pyeo/breeders.cpp | 6 +- {eo/src => src/eo}/pyeo/continuators.cpp | 14 +- .../eo}/pyeo/def_abstract_functor.h | 2 +- {eo/src => src/eo}/pyeo/geneticOps.cpp | 10 +- {eo/src => src/eo}/pyeo/mergers.cpp | 2 +- {eo/src => src/eo}/pyeo/monitors.cpp | 4 +- {eo/src => src/eo}/pyeo/perf2worth.cpp | 2 +- {eo/src => src/eo}/pyeo/pickle.h | 0 {eo/src => src/eo}/pyeo/random_numbers.cpp | 2 +- {eo/src => src/eo}/pyeo/reduce.cpp | 2 +- {eo/src => src/eo}/pyeo/replacement.cpp | 10 +- {eo/src => src/eo}/pyeo/selectOne.cpp | 12 +- {eo/src => src/eo}/pyeo/selectors.cpp | 14 +- {eo/src => src/eo}/pyeo/statistics.cpp | 2 +- {eo/src => src/eo}/pyeo/test/maxone.py | 0 {eo/src => src/eo}/pyeo/test/run_tests.sh | 0 {eo/src => src/eo}/pyeo/test/test_breeders.py | 0 {eo/src => src/eo}/pyeo/test/test_mo.py | 0 {eo/src => src/eo}/pyeo/test/test_pickling.py | 0 .../eo}/pyeo/test/test_populator.py | 0 {eo/src => src/eo}/pyeo/test/test_reduce.py | 0 .../eo}/pyeo/test/test_selectone.py | 0 {eo/src => src/eo}/pyeo/test/test_sga.py | 0 .../eo}/pyeo/test/test_transform.py | 0 {eo/src => src/eo}/pyeo/valueParam.cpp | 2 +- {eo/src => src/eo}/pyeo/valueParam.h | 0 {eo/src => src/eo}/utils/CMakeLists.txt | 5 +- {eo/src => src/eo}/utils/ChangeLog | 0 {eo/src => src/eo}/utils/checkpointing | 40 +- {eo/src => src/eo}/utils/compatibility.h | 0 .../eo}/utils/eoAssembledFitnessStat.h | 4 +- {eo/src => src/eo}/utils/eoCheckPoint.h | 8 +- {eo/src => src/eo}/utils/eoData.cpp | 0 {eo/src => src/eo}/utils/eoData.h | 0 {eo/src => src/eo}/utils/eoDistance.h | 2 +- {eo/src => src/eo}/utils/eoFDCStat.h | 6 +- .../eo}/utils/eoFeasibleRatioStat.h | 6 +- {eo/src => src/eo}/utils/eoFileMonitor.cpp | 6 +- {eo/src => src/eo}/utils/eoFileMonitor.h | 4 +- {eo/src => src/eo}/utils/eoFileSnapshot.h | 6 +- {eo/src => src/eo}/utils/eoFuncPtrStat.h | 4 +- {eo/src => src/eo}/utils/eoGenCounter.h | 2 +- {eo/src => src/eo}/utils/eoGnuplot.cpp | 0 {eo/src => src/eo}/utils/eoGnuplot.h | 0 .../eo}/utils/eoGnuplot1DMonitor.cpp | 4 +- {eo/src => src/eo}/utils/eoGnuplot1DMonitor.h | 8 +- .../eo}/utils/eoGnuplot1DSnapshot.cpp | 0 .../eo}/utils/eoGnuplot1DSnapshot.h | 8 +- {eo/src => src/eo}/utils/eoHowMany.h | 2 +- {eo/src => src/eo}/utils/eoIntBounds.cpp | 0 {eo/src => src/eo}/utils/eoIntBounds.h | 2 +- {eo/src => src/eo}/utils/eoLogger.cpp | 0 {eo/src => src/eo}/utils/eoLogger.h | 4 +- {eo/src => src/eo}/utils/eoMOFitnessStat.h | 2 +- {eo/src => src/eo}/utils/eoMonitor.h | 2 +- {eo/src => src/eo}/utils/eoOStreamMonitor.cpp | 8 +- {eo/src => src/eo}/utils/eoOStreamMonitor.h | 6 +- {eo/src => src/eo}/utils/eoParallel.cpp | 0 {eo/src => src/eo}/utils/eoParallel.h | 2 +- {eo/src => src/eo}/utils/eoParam.h | 2 +- {eo/src => src/eo}/utils/eoParser.cpp | 6 +- {eo/src => src/eo}/utils/eoParser.h | 6 +- {eo/src => src/eo}/utils/eoPopStat.h | 2 +- {eo/src => src/eo}/utils/eoRNG.cpp | 0 {eo/src => src/eo}/utils/eoRNG.h | 4 +- {eo/src => src/eo}/utils/eoRealBounds.cpp | 0 {eo/src => src/eo}/utils/eoRealBounds.h | 2 +- {eo/src => src/eo}/utils/eoRealVectorBounds.h | 4 +- {eo/src => src/eo}/utils/eoRndGenerators.h | 2 +- .../eo}/utils/eoScalarFitnessStat.h | 4 +- {eo/src => src/eo}/utils/eoSignal.cpp | 2 +- {eo/src => src/eo}/utils/eoSignal.h | 4 +- {eo/src => src/eo}/utils/eoStat.h | 12 +- {eo/src => src/eo}/utils/eoState.cpp | 4 +- {eo/src => src/eo}/utils/eoState.h | 2 +- {eo/src => src/eo}/utils/eoStdoutMonitor.h | 4 +- {eo/src => src/eo}/utils/eoTimeCounter.h | 2 +- {eo/src => src/eo}/utils/eoTimedMonitor.h | 4 +- {eo/src => src/eo}/utils/eoTimer.h | 4 +- {eo/src => src/eo}/utils/eoUniformInit.h | 2 +- {eo/src => src/eo}/utils/eoUpdatable.h | 2 +- {eo/src => src/eo}/utils/eoUpdater.cpp | 4 +- {eo/src => src/eo}/utils/eoUpdater.h | 6 +- {eo/src => src/eo}/utils/make_help.cpp | 2 +- {eo/src => src/eo}/utils/pipecom.cpp | 0 {eo/src => src/eo}/utils/pipecom.h | 0 {eo/src => src/eo}/utils/rnd_generators.h | 0 {eo/src => src/eo}/utils/selectors.h | 2 +- {eompi/src => src/eompi}/CMakeLists.txt | 22 +- {eompi/src => src/eompi}/eoMpi.cpp | 0 {eompi/src => src/eompi}/eoMpi.h | 8 +- .../eompi}/eoMpiAssignmentAlgorithm.cpp | 0 .../eompi}/eoMpiAssignmentAlgorithm.h | 0 {eompi/src => src/eompi}/eoMpiNode.cpp | 0 {eompi/src => src/eompi}/eoMpiNode.h | 0 {eompi/src => src/eompi}/eoMultiStart.h | 8 +- {eompi/src => src/eompi}/eoParallelApply.h | 2 +- {eompi/src => src/eompi}/eoTerminateJob.h | 0 src/eompi/eompi.h | 27 + {eompi/src => src/eompi}/implMpi.cpp | 0 {eompi/src => src/eompi}/implMpi.h | 2 +- {eoserial/src => src/eoserial}/CMakeLists.txt | 22 +- {eoserial/src => src/eoserial}/Entity.h | 0 {eoserial/src => src/eoserial}/Parser.cpp | 0 {eoserial/src => src/eoserial}/Parser.h | 0 .../src => src/eoserial}/SerialArray.cpp | 0 {eoserial/src => src/eoserial}/SerialArray.h | 0 .../src => src/eoserial}/SerialObject.cpp | 0 {eoserial/src => src/eoserial}/SerialObject.h | 0 .../src => src/eoserial}/SerialString.cpp | 0 {eoserial/src => src/eoserial}/SerialString.h | 0 {eoserial/src => src/eoserial}/Serializable.h | 0 {eoserial/src => src/eoserial}/Traits.h | 0 {eoserial/src => src/eoserial}/Utils.h | 0 {eoserial/src => src/eoserial}/eoSerial.h | 0 src/eoserial/eoserial.h | 27 + {eoserial/src => src/eoserial}/json_example | 0 {mo/src => src/mo}/CMakeLists.txt | 5 +- .../mo}/acceptCrit/moAcceptanceCriterion.h | 4 +- .../mo}/acceptCrit/moAlwaysAcceptCrit.h | 4 +- .../mo}/acceptCrit/moBetterAcceptCrit.h | 6 +- {mo/src => src/mo}/algo/eoDummyMonOp.h | 2 +- {mo/src => src/mo}/algo/moDummyLS.h | 6 +- {mo/src => src/mo}/algo/moFirstImprHC.h | 10 +- {mo/src => src/mo}/algo/moILS.h | 20 +- {mo/src => src/mo}/algo/moLocalSearch.h | 10 +- {mo/src => src/mo}/algo/moMetropolisHasting.h | 10 +- {mo/src => src/mo}/algo/moNeutralHC.h | 10 +- {mo/src => src/mo}/algo/moRandomBestHC.h | 10 +- {mo/src => src/mo}/algo/moRandomNeutralWalk.h | 10 +- {mo/src => src/mo}/algo/moRandomSearch.h | 10 +- {mo/src => src/mo}/algo/moRandomWalk.h | 10 +- {mo/src => src/mo}/algo/moSA.h | 14 +- {mo/src => src/mo}/algo/moSimpleHC.h | 10 +- {mo/src => src/mo}/algo/moTS.h | 24 +- {mo/src => src/mo}/algo/moVNS.h | 14 +- {mo/src => src/mo}/comparator/moComparator.h | 4 +- .../comparator/moEqualNeighborComparator.h | 4 +- .../mo}/comparator/moEqualSolComparator.h | 2 +- .../comparator/moEqualSolNeighborComparator.h | 8 +- .../mo}/comparator/moNeighborComparator.h | 4 +- .../mo}/comparator/moSolComparator.h | 2 +- .../mo}/comparator/moSolNeighborComparator.h | 8 +- .../moAverageFitnessNeighborStat.h | 4 +- .../mo}/continuator/moBestFitnessStat.h | 2 +- .../continuator/moBestNoImproveContinuator.h | 6 +- .../mo}/continuator/moBestSoFarStat.h | 2 +- .../mo}/continuator/moBooleanStat.h | 2 +- {mo/src => src/mo}/continuator/moCheckpoint.h | 12 +- .../mo}/continuator/moCombinedContinuator.h | 4 +- .../mo}/continuator/moContinuator.h | 4 +- .../mo}/continuator/moCounterMonitorSaver.h | 4 +- .../mo}/continuator/moCounterStat.h | 2 +- .../mo}/continuator/moDistanceStat.h | 4 +- .../mo}/continuator/moEvalsContinuator.h | 8 +- .../mo}/continuator/moFitContinuator.h | 4 +- .../mo}/continuator/moFitnessStat.h | 2 +- .../mo}/continuator/moFullEvalContinuator.h | 6 +- .../mo}/continuator/moIterContinuator.h | 4 +- .../mo}/continuator/moMaxNeighborStat.h | 6 +- .../mo}/continuator/moMinNeighborStat.h | 6 +- .../mo}/continuator/moMinusOneCounterStat.h | 2 +- .../mo}/continuator/moNbInfNeighborStat.h | 6 +- .../mo}/continuator/moNbSupNeighborStat.h | 6 +- .../mo}/continuator/moNeighborBestStat.h | 10 +- .../continuator/moNeighborEvalContinuator.h | 6 +- .../mo}/continuator/moNeighborFitnessStat.h | 6 +- .../mo}/continuator/moNeighborhoodStat.h | 10 +- .../continuator/moNeutralDegreeNeighborStat.h | 4 +- .../continuator/moSecondMomentNeighborStat.h | 4 +- .../mo}/continuator/moSizeNeighborStat.h | 4 +- .../mo}/continuator/moSolutionStat.h | 2 +- {mo/src => src/mo}/continuator/moStat.h | 2 +- {mo/src => src/mo}/continuator/moStatBase.h | 4 +- .../mo}/continuator/moStatFromStat.h | 2 +- .../continuator/moStdFitnessNeighborStat.h | 4 +- .../mo}/continuator/moTimeContinuator.h | 2 +- .../mo}/continuator/moTrueContinuator.h | 2 +- .../mo}/continuator/moUnsignedStat.h | 2 +- {mo/src => src/mo}/continuator/moUpdater.h | 4 +- .../mo}/continuator/moValueParamContinuator.h | 6 +- {mo/src => src/mo}/continuator/moValueStat.h | 4 +- .../mo}/continuator/moVectorMonitor.h | 4 +- .../mo}/coolingSchedule/moCoolingSchedule.h | 2 +- .../moDynSpanCoolingSchedule.h | 2 +- .../coolingSchedule/moSimpleCoolingSchedule.h | 2 +- .../mo}/eval/moDoubleIncrEvaluation.h | 4 +- .../mo}/eval/moDoubleIncrNeighborhoodEval.h | 4 +- {mo/src => src/mo}/eval/moDummyEval.h | 2 +- {mo/src => src/mo}/eval/moEval.h | 2 +- {mo/src => src/mo}/eval/moEvalCounter.h | 4 +- {mo/src => src/mo}/eval/moFullEvalByCopy.h | 4 +- {mo/src => src/mo}/eval/moFullEvalByModif.h | 4 +- .../mo}/eval/moNeighborhoodEvaluation.h | 2 +- {mo/src => src/mo}/explorer/moDummyExplorer.h | 2 +- .../mo}/explorer/moFirstImprHCexplorer.h | 8 +- {mo/src => src/mo}/explorer/moILSexplorer.h | 16 +- .../explorer/moMetropolisHastingExplorer.h | 10 +- .../mo}/explorer/moNeighborhoodExplorer.h | 10 +- .../mo}/explorer/moNeutralHCexplorer.h | 8 +- .../mo}/explorer/moRandomBestHCexplorer.h | 10 +- .../explorer/moRandomNeutralWalkExplorer.h | 6 +- .../mo}/explorer/moRandomSearchExplorer.h | 8 +- .../mo}/explorer/moRandomWalkExplorer.h | 8 +- {mo/src => src/mo}/explorer/moSAexplorer.h | 10 +- .../mo}/explorer/moSimpleHCexplorer.h | 8 +- {mo/src => src/mo}/explorer/moTSexplorer.h | 16 +- {mo/src => src/mo}/explorer/moVNSexplorer.h | 8 +- {mo/src => src/mo}/memory/moAspiration.h | 2 +- .../mo}/memory/moBestImprAspiration.h | 2 +- {mo/src => src/mo}/memory/moCountMoveMemory.h | 2 +- {mo/src => src/mo}/memory/moDiversification.h | 4 +- .../mo}/memory/moDummyDiversification.h | 4 +- .../mo}/memory/moDummyIntensification.h | 4 +- {mo/src => src/mo}/memory/moDummyMemory.h | 2 +- .../mo}/memory/moIndexedVectorTabuList.h | 2 +- {mo/src => src/mo}/memory/moIntensification.h | 4 +- {mo/src => src/mo}/memory/moMemory.h | 0 .../mo}/memory/moMonOpDiversification.h | 8 +- .../mo}/memory/moNeighborVectorTabuList.h | 2 +- .../mo}/memory/moRndIndexedVectorTabuList.h | 4 +- .../mo}/memory/moSolVectorTabuList.h | 2 +- {mo/src => src/mo}/memory/moTabuList.h | 2 +- {mo/src => src/mo}/mo | 2 +- src/mo/mo.h | 211 ++++ .../mo}/neighborhood/moBackableNeighbor.h | 2 +- .../moBackwardVectorVNSelection.h | 2 +- .../mo}/neighborhood/moDummyNeighbor.h | 2 +- .../mo}/neighborhood/moDummyNeighborhood.h | 4 +- .../neighborhood/moEvaluatedNeighborhood.h | 4 +- .../neighborhood/moForwardVectorVNSelection.h | 2 +- .../mo}/neighborhood/moIndexNeighbor.h | 2 +- .../mo}/neighborhood/moIndexNeighborhood.h | 2 +- {mo/src => src/mo}/neighborhood/moNeighbor.h | 6 +- .../mo}/neighborhood/moNeighborhood.h | 2 +- .../mo}/neighborhood/moOrderNeighborhood.h | 2 +- .../mo}/neighborhood/moRndNeighborhood.h | 2 +- .../mo}/neighborhood/moRndVectorVNSelection.h | 6 +- .../neighborhood/moRndWithReplNeighborhood.h | 6 +- .../moRndWithoutReplNeighborhood.h | 6 +- .../moVariableNeighborhoodSelection.h | 2 +- .../mo}/neighborhood/moVectorVNSelection.h | 4 +- .../mo}/perturb/moLocalSearchInit.h | 4 +- {mo/src => src/mo}/perturb/moMonOpPerturb.h | 8 +- .../mo}/perturb/moNeighborhoodPerturb.h | 6 +- {mo/src => src/mo}/perturb/moPerturbation.h | 4 +- {mo/src => src/mo}/perturb/moRestartPerturb.h | 8 +- {mo/src => src/mo}/perturb/moSolInit.h | 2 +- .../bitString/moBitFlipNeighborhood.h | 4 +- .../mo}/problems/bitString/moBitNeighbor.h | 6 +- .../mo}/problems/bitString/moBitsNeighbor.h | 2 +- .../problems/bitString/moBitsNeighborhood.h | 4 +- .../bitString/moBitsWithReplNeighborhood.h | 6 +- .../bitString/moBitsWithoutReplNeighborhood.h | 6 +- .../mo}/problems/eval/moMaxSATincrEval.h | 4 +- .../mo}/problems/eval/moOneMaxBitsIncrEval.h | 2 +- .../mo}/problems/eval/moOneMaxIncrEval.h | 2 +- .../mo}/problems/eval/moQAPIncrEval.h | 4 +- .../mo}/problems/eval/moRoyalRoadIncrEval.h | 4 +- .../mo}/problems/eval/moUBQPBitsIncrEval.h | 4 +- .../mo}/problems/eval/moUBQPSimpleIncrEval.h | 4 +- .../eval/moUBQPdoubleIncrEvaluation.h | 6 +- .../permutation/moIndexedSwapNeighbor.h | 4 +- .../problems/permutation/moShiftNeighbor.h | 4 +- .../mo}/problems/permutation/moSwapNeighbor.h | 2 +- .../problems/permutation/moSwapNeighborhood.h | 4 +- .../problems/permutation/moTwoOptExNeighbor.h | 2 +- .../permutation/moTwoOptExNeighborhood.h | 6 +- .../mo}/sampling/moAdaptiveWalkSampling.h | 22 +- .../mo}/sampling/moAutocorrelationSampling.h | 12 +- .../mo}/sampling/moDensityOfStatesSampling.h | 10 +- {mo/src => src/mo}/sampling/moFDCsampling.h | 16 +- .../mo}/sampling/moFitnessCloudSampling.h | 16 +- .../mo}/sampling/moHillClimberSampling.h | 22 +- .../sampling/moMHBestFitnessCloudSampling.h | 14 +- .../sampling/moMHRndFitnessCloudSampling.h | 14 +- .../mo}/sampling/moNeutralDegreeSampling.h | 18 +- .../mo}/sampling/moNeutralWalkSampling.h | 36 +- .../sampling/moRndBestFitnessCloudSampling.h | 14 +- .../sampling/moRndRndFitnessCloudSampling.h | 14 +- {mo/src => src/mo}/sampling/moSampling.h | 14 +- {mo/src => src/mo}/sampling/moStatistics.h | 2 +- {moeo/src => src/moeo}/CMakeLists.txt | 14 +- {moeo/src => src/moeo}/algo/moeoASEEA.h | 28 +- {moeo/src => src/moeo}/algo/moeoAlgo.h | 0 {moeo/src => src/moeo}/algo/moeoEA.h | 2 +- {moeo/src => src/moeo}/algo/moeoEasyEA.h | 24 +- {moeo/src => src/moeo}/algo/moeoIBEA.h | 30 +- {moeo/src => src/moeo}/algo/moeoMOGA.h | 26 +- {moeo/src => src/moeo}/algo/moeoNSGA.h | 26 +- {moeo/src => src/moeo}/algo/moeoNSGAII.h | 28 +- {moeo/src => src/moeo}/algo/moeoPLS1.h | 6 +- {moeo/src => src/moeo}/algo/moeoPLS2.h | 6 +- {moeo/src => src/moeo}/algo/moeoPopAlgo.h | 4 +- {moeo/src => src/moeo}/algo/moeoPopLS.h | 2 +- {moeo/src => src/moeo}/algo/moeoSEEA.h | 28 +- {moeo/src => src/moeo}/algo/moeoSPEA2.h | 36 +- .../moeo}/algo/moeoUnifiedDominanceBasedLS.h | 16 +- .../archive/moeo2DMinHypervolumeArchive.h | 0 {moeo/src => src/moeo}/archive/moeoArchive.h | 6 +- .../moeo}/archive/moeoBoundedArchive.h | 2 +- .../archive/moeoEpsilonHyperboxArchive.h | 12 +- .../moeo}/archive/moeoFitDivBoundedArchive.h | 10 +- .../moeo}/archive/moeoFixedSizeArchive.h | 6 +- .../archive/moeoImprOnlyBoundedArchive.h | 4 +- .../moeo}/archive/moeoSPEA2Archive.h | 14 +- .../moeo}/archive/moeoUnboundedArchive.h | 6 +- .../comparator/moeoAggregativeComparator.h | 2 +- .../moeo}/comparator/moeoComparator.h | 2 +- .../moeoDiversityThenFitnessComparator.h | 2 +- .../moeoEpsilonObjectiveVectorComparator.h | 2 +- .../moeo}/comparator/moeoFitnessComparator.h | 2 +- .../moeoFitnessThenDiversityComparator.h | 2 +- .../moeoGDominanceObjectiveVectorComparator.h | 2 +- .../moeoObjectiveObjectiveVectorComparator.h | 2 +- .../moeoObjectiveVectorComparator.h | 2 +- .../comparator/moeoOneObjectiveComparator.h | 2 +- .../moeoParetoDualObjectiveVectorComparator.h | 2 +- .../moeoParetoObjectiveVectorComparator.h | 2 +- .../moeo}/comparator/moeoPtrComparator.h | 2 +- .../moeoStrictObjectiveVectorComparator.h | 2 +- .../moeoWeakObjectiveVectorComparator.h | 2 +- .../moeo}/continue/moeoDualHypContinue.h | 2 +- .../moeo}/continue/moeoHypContinue.h | 8 +- {moeo/src => src/moeo}/core/MOEO.h | 2 +- {moeo/src => src/moeo}/core/moeoBitVector.h | 2 +- .../moeo}/core/moeoDualRealObjectiveVector.h | 8 +- {moeo/src => src/moeo}/core/moeoEvalFunc.h | 2 +- {moeo/src => src/moeo}/core/moeoIntVector.h | 2 +- .../moeo}/core/moeoObjectiveVector.h | 0 .../moeo}/core/moeoObjectiveVectorTraits.cpp | 2 +- .../moeo}/core/moeoObjectiveVectorTraits.h | 0 .../moeo}/core/moeoRealObjectiveVector.h | 6 +- {moeo/src => src/moeo}/core/moeoRealVector.h | 2 +- .../moeo}/core/moeoScalarObjectiveVector.h | 6 +- {moeo/src => src/moeo}/core/moeoVector.h | 2 +- .../src => src/moeo}/distance/moeoDistance.h | 2 +- .../moeo}/distance/moeoDistanceMatrix.h | 4 +- .../moeo}/distance/moeoEuclideanDistance.h | 4 +- .../moeo}/distance/moeoManhattanDistance.h | 4 +- .../moeo}/distance/moeoNormalizedDistance.h | 4 +- .../moeo}/distance/moeoObjSpaceDistance.h | 3 +- .../moeoCrowdingDiversityAssignment.h | 6 +- .../moeo}/diversity/moeoDiversityAssignment.h | 4 +- .../diversity/moeoDummyDiversityAssignment.h | 2 +- ...oFrontByFrontCrowdingDiversityAssignment.h | 6 +- ...eoFrontByFrontSharingDiversityAssignment.h | 2 +- .../moeoNearestNeighborDiversityAssignment.h | 6 +- .../moeoSharingDiversityAssignment.h | 12 +- .../moeo}/do/make_checkpoint_moeo.h | 22 +- .../src => src/moeo}/do/make_continue_moeo.h | 16 +- {moeo/src => src/moeo}/do/make_ea_moeo.h | 66 +- .../moeoExhaustiveNeighborhoodExplorer.h | 10 +- .../moeoFirstImprovingNeighborhoodExplorer.h | 2 +- .../moeoNoDesimprovingNeighborhoodExplorer.h | 2 +- .../explorer/moeoPopNeighborhoodExplorer.h | 2 +- .../moeoSimpleSubNeighborhoodExplorer.h | 2 +- .../explorer/moeoSubNeighborhoodExplorer.h | 8 +- .../moeoAggregationFitnessAssignment.h | 6 +- ...oeoBinaryIndicatorBasedFitnessAssignment.h | 2 +- .../fitness/moeoConstraintFitnessAssignment.h | 6 +- .../moeoCriterionBasedFitnessAssignment.h | 2 +- .../moeoDominanceBasedFitnessAssignment.h | 2 +- .../moeoDominanceCountFitnessAssignment.h | 14 +- ...eoDominanceCountRankingFitnessAssignment.h | 14 +- .../moeoDominanceDepthFitnessAssignment.h | 12 +- .../moeoDominanceRankFitnessAssignment.h | 14 +- .../fitness/moeoDummyFitnessAssignment.h | 2 +- ...inaryIndicatorBasedDualFitnessAssignment.h | 2 +- ...ExpBinaryIndicatorBasedFitnessAssignment.h | 8 +- .../moeo}/fitness/moeoFitnessAssignment.h | 4 +- .../moeoIndicatorBasedFitnessAssignment.h | 2 +- ...encePointIndicatorBasedFitnessAssignment.h | 6 +- .../fitness/moeoScalarFitnessAssignment.h | 2 +- .../moeo}/fitness/moeoSingleObjectivization.h | 4 +- ...moeoUnaryIndicatorBasedFitnessAssignment.h | 2 +- .../moeo}/hybridization/moeoDMLSGenUpdater.h | 14 +- .../moeo}/hybridization/moeoDMLSMonOp.h | 16 +- .../metric/moeoAdditiveEpsilonBinaryMetric.h | 2 +- .../moeo}/metric/moeoContributionMetric.h | 4 +- .../moeo}/metric/moeoDistanceMetric.h | 2 +- .../moeoDualHyperVolumeDifferenceMetric.h | 2 +- .../moeo}/metric/moeoEntropyMetric.h | 4 +- .../metric/moeoHyperVolumeDifferenceMetric.h | 4 +- .../moeo}/metric/moeoHyperVolumeMetric.h | 2 +- .../metric/moeoHypervolumeBinaryMetric.h | 4 +- {moeo/src => src/moeo}/metric/moeoMetric.h | 2 +- ...NormalizedSolutionVsSolutionBinaryMetric.h | 4 +- .../moeoVecVsVecAdditiveEpsilonBinaryMetric.h | 6 +- .../metric/moeoVecVsVecEpsilonBinaryMetric.h | 4 +- ...ecVsVecMultiplicativeEpsilonBinaryMetric.h | 4 +- src/moeo/moeo.h | 224 +++++ .../replacement/moeoElitistReplacement.h | 12 +- .../moeoEnvironmentalReplacement.h | 10 +- .../replacement/moeoGenerationalReplacement.h | 4 +- .../moeo}/replacement/moeoReplacement.h | 2 +- .../moeo}/scalarStuffs/algo/moeoHC.h | 10 +- .../moeo}/scalarStuffs/algo/moeoILS.h | 16 +- .../moeo}/scalarStuffs/algo/moeoSA.h | 12 +- .../moeo}/scalarStuffs/algo/moeoSolAlgo.h | 6 +- .../moeo}/scalarStuffs/algo/moeoTS.h | 8 +- .../moeo}/scalarStuffs/algo/moeoVFAS.h | 18 +- .../moeo}/scalarStuffs/algo/moeoVNS.h | 10 +- .../scalarStuffs/archive/moeoArchiveIndex.h | 5 +- .../scalarStuffs/archive/moeoIndexedArchive.h | 6 +- .../moeo}/scalarStuffs/archive/moeoQuadTree.h | 4 +- .../archive/moeoQuadTreeArchive.h | 2 +- .../archive/moeoQuickUnboundedArchiveIndex.h | 8 +- ...eoAchievementScalarizingFunctionDistance.h | 2 +- ...edAchievementScalarizingFunctionDistance.h | 3 +- .../moeoAugmentedWeightedChebychevDistance.h | 2 +- .../distance/moeoWeightedChebychevDistance.h | 3 +- .../explorer/moeoHCMoveLoopExpl.h | 6 +- .../explorer/moeoTSMoveLoopExpl.h | 3 +- .../moeoAchievementFitnessAssignment.h | 4 +- ...alarizingFunctionMetricFitnessAssignment.h | 10 +- ...alarizingFunctionMetricFitnessAssignment.h | 11 +- ...WeightedChebychevMetricFitnessAssignment.h | 6 +- .../fitness/moeoIncrEvalSingleObjectivizer.h | 11 +- .../fitness/moeoMetricFitnessAssignment.h | 9 +- ...WeightedChebychevMetricFitnessAssignment.h | 11 +- .../weighting/moeoAnytimeWeightStrategy.h | 4 +- .../moeoAugmentedQexploreWeightStrategy.h | 4 +- .../weighting/moeoDichoWeightStrategy.h | 4 +- .../weighting/moeoDummyRefPointStrategy.h | 0 .../weighting/moeoDummyWeightStrategy.h | 2 +- ...moeoFixedTimeBothDirectionWeightStrategy.h | 4 +- .../moeoFixedTimeOneDirectionWeightStrategy.h | 4 +- .../weighting/moeoQexploreWeightStrategy.h | 4 +- .../weighting/moeoRandWeightStrategy.h | 2 +- .../weighting/moeoVariableRefPointStrategy.h | 0 .../weighting/moeoVariableWeightStrategy.h | 0 .../moeo}/selection/moeoDetArchiveSelect.h | 2 +- .../moeo}/selection/moeoDetTournamentSelect.h | 8 +- .../selection/moeoExhaustiveUnvisitedSelect.h | 4 +- .../selection/moeoNumberUnvisitedSelect.h | 4 +- .../moeo}/selection/moeoRandomSelect.h | 4 +- .../moeo}/selection/moeoRouletteSelect.h | 4 +- .../selection/moeoSelectFromPopAndArch.h | 10 +- .../moeo}/selection/moeoSelectOne.h | 2 +- .../moeo}/selection/moeoSelectors.h | 2 +- .../selection/moeoStochTournamentSelect.h | 8 +- .../moeo}/selection/moeoUnvisitedSelect.h | 2 +- .../moeoArchiveObjectiveVectorSavingUpdater.h | 6 +- .../moeo}/utils/moeoArchiveUpdater.h | 6 +- .../moeo}/utils/moeoAverageObjVecStat.h | 2 +- .../moeo}/utils/moeoBestObjVecStat.h | 2 +- .../utils/moeoBinaryMetricSavingUpdater.h | 6 +- .../moeo}/utils/moeoBinaryMetricStat.h | 2 - .../utils/moeoConvertPopToObjectiveVectors.h | 2 +- .../moeo}/utils/moeoDominanceMatrix.h | 0 .../moeo}/utils/moeoFullEvalByCopy.h | 4 +- {moeo/src => src/moeo}/utils/moeoObjVecStat.h | 2 +- .../utils/moeoObjectiveVectorNormalizer.h | 4 +- src/problems/CMakeLists.txt | 9 + .../problems}/eval/bbRoyalRoadEval.h | 2 +- .../problems}/eval/longKPathEval.h | 2 +- {problems => src/problems}/eval/maxSATeval.h | 2 +- .../problems}/eval/moPopSolEval.h | 4 +- .../problems}/eval/nkLandscapesEval.h | 2 +- .../problems}/eval/nkpLandscapesEval.h | 2 +- .../problems}/eval/nkqLandscapesEval.h | 2 +- {problems => src/problems}/eval/oneMaxEval.h | 2 +- .../problems}/eval/oneMaxPopEval.h | 4 +- {problems => src/problems}/eval/qapEval.h | 2 +- {problems => src/problems}/eval/queenEval.h | 2 +- .../problems}/eval/royalRoadEval.h | 2 +- {problems => src/problems}/eval/ubqpEval.h | 2 +- {smp/src => src/smp}/CMakeLists.txt | 65 +- {smp/src => src/smp}/MWAlgo/MWAlgo.h | 6 +- {smp/src => src/smp}/MWAlgo/eoEasyEA.cpp | 0 {smp/src => src/smp}/MWAlgo/eoEasyPSO.cpp | 0 {smp/src => src/smp}/MWAlgo/eoSyncEasyPSO.cpp | 0 {smp/src => src/smp}/MWModel.cpp | 0 {smp/src => src/smp}/MWModel.h | 13 +- {smp/src => src/smp}/PPExpander.h | 0 {smp/src => src/smp}/abstractIsland.h | 4 +- {smp/src => src/smp}/algoDispatching.h | 7 +- {smp/src => src/smp}/bimap.cpp | 0 {smp/src => src/smp}/bimap.h | 2 +- {smp/src => src/smp}/contDispatching.h | 0 {smp/src => src/smp}/contWrapper.cpp | 0 {smp/src => src/smp}/contWrapper.h | 10 +- {smp/src => src/smp}/intPolicy.h | 2 +- {smp/src => src/smp}/island.cpp | 0 {smp/src => src/smp}/island.h | 26 +- {smp/src => src/smp}/islandModel.cpp | 0 {smp/src => src/smp}/islandModel.h | 8 +- {smp/src => src/smp}/islandModelWrapper.h | 8 +- {smp/src => src/smp}/islandNotifier.cpp | 0 {smp/src => src/smp}/islandNotifier.h | 2 +- {smp/src => src/smp}/migPolicy.h | 2 +- {smp/src => src/smp}/notifier.cpp | 2 +- {smp/src => src/smp}/notifier.h | 2 +- {smp/src => src/smp}/policiesDispatching.h | 0 {smp/src => src/smp}/policyElement.cpp | 1 - {smp/src => src/smp}/policyElement.h | 8 +- {smp/src => src/smp}/scheduler.cpp | 0 {smp/src => src/smp}/scheduler.h | 8 +- {smp/src => src/smp}/smp | 2 +- {smp/src => src/smp}/smp.h | 40 +- .../smp}/topology/abstractTopology.h | 0 {smp/src => src/smp}/topology/complete.cpp | 2 +- {smp/src => src/smp}/topology/complete.h | 2 +- .../smp}/topology/customBooleanTopology.cpp | 2 +- .../smp}/topology/customBooleanTopology.h | 2 +- .../topology/customStochasticTopology.cpp | 2 +- .../smp}/topology/customStochasticTopology.h | 2 +- {smp/src => src/smp}/topology/hypercubic.cpp | 2 +- {smp/src => src/smp}/topology/hypercubic.h | 2 +- {smp/src => src/smp}/topology/mesh.cpp | 2 +- {smp/src => src/smp}/topology/mesh.h | 2 +- {smp/src => src/smp}/topology/ring.cpp | 2 +- {smp/src => src/smp}/topology/ring.h | 2 +- {smp/src => src/smp}/topology/star.cpp | 2 +- {smp/src => src/smp}/topology/star.h | 2 +- {smp/src => src/smp}/topology/topology.cpp | 0 {smp/src => src/smp}/topology/topology.h | 4 +- .../smp}/topology/topologyBuilder.h | 0 test/CMakeLists.txt | 53 + {edo/test => test/edo}/CMakeLists.txt | 27 +- test/edo/COPYING | 502 ++++++++++ {edo/test => test/edo}/boxplot.py | 0 {edo/test => test/edo}/t-binomial.cpp | 6 +- test/edo/t-binomialmulti.cpp | 95 ++ {edo/test => test/edo}/t-bounderno.cpp | 4 +- {edo/test => test/edo}/t-cholesky.cpp | 6 +- {edo/test => test/edo}/t-continue.cpp | 4 +- {edo/test => test/edo}/t-dispatcher-round.cpp | 8 +- .../edo}/t-edoEstimatorNormalMulti.cpp | 7 +- {edo/test => test/edo}/t-mean-distance.cpp | 6 +- {edo/test => test/edo}/t-repairer-modulo.cpp | 6 +- {edo/test => test/edo}/t-uniform.cpp | 4 +- {edo/test => test/edo}/t-variance.cpp | 6 +- {edo/test => test/edo}/test_cov_parameters.py | 0 {eo/test => test/eo}/CMakeLists.txt | 10 +- {eo => test/eo}/CTestConfig.cmake | 0 {eo/test => test/eo}/ChangeLog | 0 test/eo/LICENSE | 502 ++++++++++ {eo/test => test/eo}/RoyalRoad.h | 2 + {eo/test => test/eo}/binary_value.h | 0 {eo/test => test/eo}/boxplot.py | 0 {eo/test => test/eo}/boxplot_to_pdf.py | 0 {eo/test => test/eo}/boxplot_to_png.py | 0 {eo/test => test/eo}/fitness_traits.cpp | 0 {eo/test => test/eo}/real_value.h | 0 {eo/test => test/eo}/run_tests | 0 {eo/test => test/eo}/t-MGE-control.cpp | 3 +- {eo/test => test/eo}/t-MGE.cpp | 4 +- {eo/test => test/eo}/t-MGE1bit.cpp | 4 +- {eo/test => test/eo}/t-eo.cpp | 2 +- {eo/test => test/eo}/t-eo2dVector.cc | 4 +- {eo/test => test/eo}/t-eoCMAES.cpp | 43 +- {eo/test => test/eo}/t-eoCheckpointing.cpp | 16 +- {eo/test => test/eo}/t-eoDualFitness.cpp | 6 +- {eo/test => test/eo}/t-eoESAll.cpp | 4 +- {eo/test => test/eo}/t-eoESFull.cpp | 4 +- {eo/test => test/eo}/t-eoEasyEA.cpp | 2 +- {eo/test => test/eo}/t-eoEasyPSO.cpp | 2 +- {eo/test => test/eo}/t-eoEvalKeepBest.cpp | 6 +- {eo/test => test/eo}/t-eoExtendedVelocity.cpp | 2 +- {eo/test => test/eo}/t-eoExternalEO.cpp | 9 +- {eo/test => test/eo}/t-eoFitnessAssembled.cpp | 3 +- .../eo}/t-eoFitnessAssembledEA.cpp | 27 +- {eo/test => test/eo}/t-eoFunctor.cpp | 8 +- {eo/test => test/eo}/t-eoGA.cpp | 6 +- {eo/test => test/eo}/t-eoGenOp.cpp | 6 +- {eo/test => test/eo}/t-eoIQRStat.cpp | 6 +- {eo/test => test/eo}/t-eoInitPermutation.cpp | 4 +- .../eo}/t-eoInitVariableLength.cpp | 2 +- {eo/test => test/eo}/t-eoInt.cpp | 4 +- {eo/test => test/eo}/t-eoLogger.cpp | 2 +- {eo/test => test/eo}/t-eoOrderXover.cpp | 6 +- {eo/test => test/eo}/t-eoPBIL.cpp | 18 +- {eo/test => test/eo}/t-eoParallel.cpp | 6 +- {eo/test => test/eo}/t-eoParser.cpp | 2 +- {eo/test => test/eo}/t-eoRNG.cpp | 4 +- {eo/test => test/eo}/t-eoRandom.cpp | 6 +- {eo/test => test/eo}/t-eoReal.cpp | 4 +- {eo/test => test/eo}/t-eoReplacement.cpp | 2 +- {eo/test => test/eo}/t-eoRingTopology.cpp | 2 +- {eo/test => test/eo}/t-eoRoulette.cpp | 8 +- {eo/test => test/eo}/t-eoSSGA.cpp | 2 +- .../eo}/t-eoSecondsElapsedContinue.cpp | 6 +- {eo/test => test/eo}/t-eoSelect.cpp | 2 +- {eo/test => test/eo}/t-eoSharing.cpp | 4 +- {eo/test => test/eo}/t-eoShiftMutation.cpp | 6 +- {eo/test => test/eo}/t-eoStateAndParser.cpp | 12 +- {eo/test => test/eo}/t-eoSwapMutation.cpp | 6 +- {eo/test => test/eo}/t-eoSymreg.cpp | 4 +- {eo/test => test/eo}/t-eoSyncEasyPSO.cpp | 2 +- {eo/test => test/eo}/t-eoTwoOptMutation.cpp | 6 +- {eo/test => test/eo}/t-eoUniform.cpp | 2 +- {eo/test => test/eo}/t-eoVector.cpp | 8 +- {eo/test => test/eo}/t-eoVirus.cpp | 10 +- {eo/test => test/eo}/t-eobin.cpp | 6 +- {eo/test => test/eo}/t-eofitness.cpp | 2 +- {eo/test => test/eo}/t-openmp.cpp | 6 +- {eo/test => test/eo}/t-openmp.py | 0 {eo/test => test/eo}/t-selectOne.cpp | 12 +- {eompi/test => test/eompi}/CMakeLists.txt | 16 +- .../test => test/eompi}/DISTRIB_XP_README.md | 0 {eompi/test => test/eompi}/experiments.json | 0 {eompi/test => test/eompi}/gen-xp.py | 0 {eompi/test => test/eompi}/t-mpi-common.h | 2 +- .../test => test/eompi}/t-mpi-distrib-exp.cpp | 4 +- {eompi/test => test/eompi}/t-mpi-eval.cpp | 10 +- .../eompi}/t-mpi-multipleRoles.cpp | 6 +- .../test => test/eompi}/t-mpi-multistart.cpp | 6 +- .../eompi}/t-mpi-parallelApply.cpp | 6 +- {eompi/test => test/eompi}/t-mpi-wrapper.cpp | 6 +- {eompi/test => test/eompi}/template-job.cpp | 2 +- {mo/test => test/mo}/CMakeLists.txt | 10 +- {mo/test => test/mo}/moTestClass.h | 36 +- .../mo}/t-moAdaptiveWalkSampling.cpp | 12 +- {mo/test => test/mo}/t-moAlwaysAcceptCrit.cpp | 2 +- .../mo}/t-moAutocorrelationSampling.cpp | 4 +- .../mo}/t-moBestImprAspiration.cpp | 2 +- {mo/test => test/mo}/t-moBetterAcceptCrit.cpp | 4 +- {mo/test => test/mo}/t-moBitNeighbor.cpp | 2 +- {mo/test => test/mo}/t-moCheckpoint.cpp | 6 +- .../mo}/t-moCombinedContinuator.cpp | 6 +- {mo/test => test/mo}/t-moCountMoveMemory.cpp | 2 +- .../mo}/t-moCounterMonitorSaver.cpp | 2 +- {mo/test => test/mo}/t-moCounterStat.cpp | 2 +- .../mo}/t-moDensityOfStatesSampling.cpp | 4 +- {mo/test => test/mo}/t-moDistanceStat.cpp | 6 +- {mo/test => test/mo}/t-moDummyEval.cpp | 2 +- {mo/test => test/mo}/t-moDummyExplorer.cpp | 2 +- {mo/test => test/mo}/t-moDummyLS.cpp | 4 +- {mo/test => test/mo}/t-moDummyMemory.cpp | 4 +- {mo/test => test/mo}/t-moDummyNeighbor.cpp | 2 +- .../mo}/t-moDummyNeighborhood.cpp | 4 +- .../mo}/t-moDynSpanCoolingSchedule.cpp | 2 +- {mo/test => test/mo}/t-moEvalCounter.cpp | 2 +- {mo/test => test/mo}/t-moFDCsampling.cpp | 6 +- {mo/test => test/mo}/t-moFirstImprHC.cpp | 8 +- .../mo}/t-moFirstImprHCexplorer.cpp | 6 +- {mo/test => test/mo}/t-moFitContinuator.cpp | 2 +- .../mo}/t-moFitnessCloudSampling.cpp | 12 +- {mo/test => test/mo}/t-moFitnessStat.cpp | 4 +- {mo/test => test/mo}/t-moFullEvalByCopy.cpp | 2 +- {mo/test => test/mo}/t-moFullEvalByModif.cpp | 2 +- .../mo}/t-moFullEvalContinuator.cpp | 4 +- .../mo}/t-moHillClimberSampling.cpp | 4 +- {mo/test => test/mo}/t-moILS.cpp | 16 +- {mo/test => test/mo}/t-moILSexplorer.cpp | 16 +- .../mo}/t-moIndexedVectorTabuList.cpp | 2 +- {mo/test => test/mo}/t-moIterContinuator.cpp | 2 +- {mo/test => test/mo}/t-moLocalSearch.cpp | 12 +- {mo/test => test/mo}/t-moLocalSearchInit.cpp | 6 +- .../mo}/t-moMetropolisHasting.cpp | 10 +- .../mo}/t-moMetropolisHastingExplorer.cpp | 2 +- .../mo}/t-moMinusOneCounterStat.cpp | 2 +- .../mo}/t-moMonOpDiversification.cpp | 6 +- {mo/test => test/mo}/t-moMonOpPerturb.cpp | 6 +- {mo/test => test/mo}/t-moNeighbor.cpp | 0 {mo/test => test/mo}/t-moNeighborBestStat.cpp | 2 +- .../mo}/t-moNeighborComparator.cpp | 8 +- .../mo}/t-moNeighborEvalContinuator.cpp | 2 +- .../mo}/t-moNeighborFitnessStat.cpp | 2 +- .../mo}/t-moNeighborVectorTabuList.cpp | 2 +- .../mo}/t-moNeighborhoodPerturb.cpp | 6 +- {mo/test => test/mo}/t-moNeighborhoodStat.cpp | 24 +- .../mo}/t-moNeutralDegreeSampling.cpp | 8 +- {mo/test => test/mo}/t-moNeutralHC.cpp | 10 +- .../mo}/t-moNeutralHCexplorer.cpp | 6 +- .../mo}/t-moNeutralWalkSampling.cpp | 6 +- .../mo}/t-moOrderNeighborhood.cpp | 6 +- {mo/test => test/mo}/t-moRandomBestHC.cpp | 8 +- .../mo}/t-moRandomBestHCexplorer.cpp | 6 +- .../mo}/t-moRandomNeutralWalk.cpp | 8 +- .../mo}/t-moRandomNeutralWalkExplorer.cpp | 2 +- {mo/test => test/mo}/t-moRandomSearch.cpp | 6 +- .../mo}/t-moRandomSearchExplorer.cpp | 4 +- {mo/test => test/mo}/t-moRandomWalk.cpp | 10 +- .../mo}/t-moRandomWalkExplorer.cpp | 2 +- {mo/test => test/mo}/t-moRestartPerturb.cpp | 10 +- .../mo}/t-moRndIndexedVectorTabuList.cpp | 2 +- .../mo}/t-moRndWithReplNeighborhood.cpp | 2 +- .../mo}/t-moRndWithoutReplNeighborhood.cpp | 2 +- {mo/test => test/mo}/t-moSA.cpp | 10 +- {mo/test => test/mo}/t-moSAexplorer.cpp | 4 +- {mo/test => test/mo}/t-moSampling.cpp | 12 +- .../mo}/t-moSimpleCoolingSchedule.cpp | 2 +- {mo/test => test/mo}/t-moSimpleHC.cpp | 8 +- {mo/test => test/mo}/t-moSimpleHCexplorer.cpp | 8 +- {mo/test => test/mo}/t-moSolComparator.cpp | 6 +- {mo/test => test/mo}/t-moSolInit.cpp | 2 +- .../mo}/t-moSolNeighborComparator.cpp | 8 +- .../mo}/t-moSolVectorTabuList.cpp | 2 +- {mo/test => test/mo}/t-moSolutionStat.cpp | 2 +- {mo/test => test/mo}/t-moStatistics.cpp | 4 +- {mo/test => test/mo}/t-moTS.cpp | 12 +- {mo/test => test/mo}/t-moTSexplorer.cpp | 10 +- {mo/test => test/mo}/t-moTimeContinuator.cpp | 2 +- {mo/test => test/mo}/t-moTrueContinuator.cpp | 2 +- {mo/test => test/mo}/t-moVectorMonitor.cpp | 2 +- {moeo/test => test/moeo}/CMakeLists.txt | 10 +- {moeo/test => test/moeo}/moeoTestClass.h | 26 +- {moeo/test => test/moeo}/t-moeo.cpp | 4 +- .../moeo}/t-moeo2DMinHypervolumeArchive.cpp | 4 +- {moeo/test => test/moeo}/t-moeoASEEA.cpp | 8 +- {moeo/test => test/moeo}/t-moeoASFAMetric.cpp | 4 +- .../test => test/moeo}/t-moeoASFAOrMetric.cpp | 4 +- .../t-moeoAchievementFitnessAssignment.cpp | 4 +- .../t-moeoAggregationFitnessAssignment.cpp | 4 +- .../moeo}/t-moeoAggregativeComparator.cpp | 4 +- .../t-moeoAggregativeFitnessAssignment.cpp | 4 +- {moeo/test => test/moeo}/t-moeoBitVector.cpp | 4 +- .../moeo}/t-moeoBoundedArchive.cpp | 4 +- .../moeo}/t-moeoChebyshevMetric.cpp | 4 +- .../moeo}/t-moeoChebyshevOrientedMetric.cpp | 4 +- .../t-moeoConstraintFitnessAssignment.cpp | 4 +- .../t-moeoCrowdingDiversityAssignment.cpp | 4 +- .../moeo}/t-moeoDMLSGenUpdater.cpp | 14 +- {moeo/test => test/moeo}/t-moeoDMLSMonOp.cpp | 12 +- .../moeo}/t-moeoDetArchiveSelect.cpp | 4 +- .../t-moeoDiversityThenFitnessComparator.cpp | 4 +- .../t-moeoDominanceCountFitnessAssignment.cpp | 4 +- ...DominanceCountRankingFitnessAssignment.cpp | 4 +- .../t-moeoDominanceDepthFitnessAssignment.cpp | 4 +- .../moeo}/t-moeoDominanceMatrix.cpp | 4 +- .../t-moeoDominanceRankFitnessAssignment.cpp | 4 +- {moeo/test => test/moeo}/t-moeoEasyEA.cpp | 8 +- .../moeo}/t-moeoEpsilonHyperboxArchive.cpp | 4 +- ...t-moeoEpsilonObjectiveVectorComparator.cpp | 4 +- .../t-moeoExhaustiveNeighborhoodExplorer.cpp | 0 .../moeo}/t-moeoExhaustiveUnvisitedSelect.cpp | 4 +- ...pBinaryIndicatorBasedFitnessAssignment.cpp | 4 +- ...moeoFirstImprovingNeighborhoodExplorer.cpp | 2 +- .../moeo}/t-moeoFitDivBoundedArchive.cpp | 4 +- .../t-moeoFitnessThenDiversityComparator.cpp | 4 +- .../t-moeoHyperVolumeDifferenceMetric.cpp | 4 +- .../moeo}/t-moeoHyperVolumeMetric.cpp | 4 +- {moeo/test => test/moeo}/t-moeoIBEA.cpp | 8 +- .../moeo}/t-moeoImprOnlyBoundedArchive.cpp | 4 +- {moeo/test => test/moeo}/t-moeoIntVector.cpp | 4 +- {moeo/test => test/moeo}/t-moeoMOGA.cpp | 8 +- {moeo/test => test/moeo}/t-moeoMax3Obj.cpp | 8 +- {moeo/test => test/moeo}/t-moeoNSGA.cpp | 8 +- {moeo/test => test/moeo}/t-moeoNSGAII.cpp | 8 +- ...moeoNearestNeighborDiversityAssignment.cpp | 4 +- ...moeoNoDesimprovingNeighborhoodExplorer.cpp | 2 +- .../moeo}/t-moeoNumberUnvisitedSelect.cpp | 4 +- {moeo/test => test/moeo}/t-moeoPLS1.cpp | 6 +- {moeo/test => test/moeo}/t-moeoPLS2.cpp | 6 +- .../t-moeoParetoObjectiveVectorComparator.cpp | 4 +- .../moeo}/t-moeoQuadTreeArchive.cpp | 4 +- .../moeo}/t-moeoQuadTreeIndex.cpp | 4 +- .../t-moeoQuickUnboundedArchiveIndex.cpp | 4 +- {moeo/test => test/moeo}/t-moeoRealVector.cpp | 4 +- {moeo/test => test/moeo}/t-moeoSEEA.cpp | 8 +- {moeo/test => test/moeo}/t-moeoSPEA2.cpp | 8 +- .../test => test/moeo}/t-moeoSPEA2Archive.cpp | 4 +- .../t-moeoSharingDiversityAssignment.cpp | 4 +- .../t-moeoSimpleSubNeighborhoodExplorer.cpp | 2 +- .../t-moeoStrictObjectiveVectorComparator.cpp | 4 +- .../moeo}/t-moeoUnboundedArchive.cpp | 4 +- ...oeoVecVsVecAdditiveEpsilonBinaryMetric.cpp | 4 +- ...VsVecMultiplicativeEpsilonBinaryMetric.cpp | 4 +- .../t-moeoWeakObjectiveVectorComparator.cpp | 4 +- {smp/test => test/smp}/CMakeLists.txt | 14 +- {smp/test => test/smp}/data-topo-bool | 0 {smp/test => test/smp}/data-topo-stoch | 0 {smp/test => test/smp}/smpTestClass.h | 0 {smp/test => test/smp}/t-data.dat | 0 {smp/test => test/smp}/t-smpCustomTopo.cpp | 4 +- {smp/test => test/smp}/t-smpIsland.cpp | 4 +- .../smp}/t-smpMI_Heterogeneous.cpp | 6 +- .../test => test/smp}/t-smpMI_Homogeneous.cpp | 4 +- {smp/test => test/smp}/t-smpMI_Wrapper.cpp | 4 +- {smp/test => test/smp}/t-smpMW_eoEasyEA.cpp | 4 +- {smp/test => test/smp}/t-smpMW_eoEasyPSO.cpp | 4 +- .../smp}/t-smpMW_eoSyncEasyPSO.cpp | 4 +- {smp/test => test/smp}/t-smpScheduler.cpp | 4 +- {smp/test => test/smp}/t-smpTopo.cpp | 2 +- tutorial/CMakeLists.txt | 58 ++ .../edo}/CMakeLists.txt | 2 +- tutorial/edo/COPYING | 502 ++++++++++ .../edo}/cmaes/CMakeLists.txt | 12 +- .../edo}/cmaes/main.cpp | 20 +- .../edo}/common/CMakeLists.txt | 0 .../edo}/common/Rosenbrock.h | 18 +- .../edo}/common/Sphere.h | 18 +- .../edo}/common/boxplot_eda_n_edasa.py | 0 .../edo}/common/ggobi.py | 0 .../edo}/common/gplot.py | 0 .../edo}/eda/CMakeLists.txt | 6 +- .../edo}/eda/eda.param | 0 .../application => tutorial/edo}/eda/main.cpp | 18 +- .../edo}/eda_sa/CMakeLists.txt | 2 +- .../edo}/eda_sa/eda_sa.param | 0 .../edo}/eda_sa/main.cpp | 20 +- {eo/tutorial => tutorial/eo}/CMakeLists.txt | 2 + tutorial/eo/LICENSE | 502 ++++++++++ .../eo}/Lesson1/CMakeLists.txt | 12 +- .../eo}/Lesson1/FirstBitGA.cpp | 4 +- .../eo}/Lesson1/FirstRealGA.cpp | 4 +- .../eo}/Lesson1/Makefile.simple | 0 .../eo}/Lesson1/exercise1.3.cpp | 4 +- .../eo}/Lesson2/CMakeLists.txt | 12 +- .../eo}/Lesson2/FirstBitEA.cpp | 4 +- .../eo}/Lesson2/FirstRealEA.cpp | 4 +- .../eo}/Lesson2/Makefile.simple | 0 .../eo}/Lesson2/binary_value.h | 2 +- .../eo}/Lesson2/exercise2.3.cpp | 4 +- .../eo}/Lesson2/real_value.h | 0 .../eo}/Lesson3/CMakeLists.txt | 12 +- .../eo}/Lesson3/Makefile.simple | 0 .../eo}/Lesson3/SecondBitEA.cpp | 4 +- .../eo}/Lesson3/SecondRealEA.cpp | 4 +- .../eo}/Lesson3/binary_value.h | 2 +- .../eo}/Lesson3/exercise3.1.cpp | 4 +- .../eo}/Lesson3/real_value.h | 0 .../eo}/Lesson4/BitEA.cpp | 4 +- .../eo}/Lesson4/CMakeLists.txt | 18 +- {eo/tutorial => tutorial/eo}/Lesson4/ESEA.cpp | 4 +- .../eo}/Lesson4/ESEA.param | 0 .../eo}/Lesson4/Makefile.simple | 0 .../eo}/Lesson4/RealEA.cpp | 4 +- .../eo}/Lesson4/RealEA.param | 0 .../eo}/Lesson4/binary_value.h | 2 +- .../eo}/Lesson4/real_value.h | 0 .../eo}/Lesson5/CMakeLists.txt | 8 +- .../eo}/Lesson5/Makefile.simple | 0 .../eo}/Lesson5/OneMaxEA.cpp | 16 +- .../eo}/Lesson5/OneMaxLibEA.cpp | 4 +- .../eo}/Lesson5/eoOneMax.h | 0 .../eo}/Lesson5/eoOneMaxEvalFunc.h | 2 +- .../eo}/Lesson5/eoOneMaxInit.h | 2 +- .../eo}/Lesson5/eoOneMaxMutation.h | 2 +- .../eo}/Lesson5/eoOneMaxQuadCrossover.h | 2 +- .../eo}/Lesson5/make_OneMax.cpp | 14 +- .../eo}/Lesson5/make_genotype_OneMax.h | 8 +- .../eo}/Lesson5/make_op_OneMax.h | 16 +- .../eo}/Lesson6/BinaryPSO.cpp | 2 +- .../eo}/Lesson6/CMakeLists.txt | 6 +- .../eo}/Lesson6/Makefile.simple | 0 .../eo}/Lesson6/RealPSO.cpp | 2 +- {eo/tutorial => tutorial/eo}/Makefile.simple | 0 .../eo}/Parallelization/INSTALL | 0 .../eo}/Parallelization/css/deck.core.css | 0 .../eo}/Parallelization/css/deck.goto.css | 0 .../eo}/Parallelization/css/deck.hash.css | 0 .../eo}/Parallelization/css/deck.menu.css | 0 .../Parallelization/css/deck.navigation.css | 0 .../eo}/Parallelization/css/deck.scale.css | 0 .../eo}/Parallelization/css/deck.status.css | 0 .../eo}/Parallelization/css/eompi.css | 0 .../Parallelization/css/horizontal-slide.css | 0 .../eo}/Parallelization/css/shjs.css | 0 .../eo}/Parallelization/css/thales.css | 0 .../eo}/Parallelization/eompi.html | 0 .../Parallelization/img/generic_parallel.dia | Bin .../Parallelization/img/generic_parallel.png | Bin .../eo}/Parallelization/img/serialisation.dia | Bin .../eo}/Parallelization/img/serialisation.png | Bin .../eo}/Parallelization/js/deck.core.js | 0 .../eo}/Parallelization/js/deck.goto.js | 0 .../eo}/Parallelization/js/deck.hash.js | 0 .../eo}/Parallelization/js/deck.menu.js | 0 .../eo}/Parallelization/js/deck.navigation.js | 0 .../eo}/Parallelization/js/deck.scale.js | 0 .../eo}/Parallelization/js/deck.status.js | 0 .../eo}/Parallelization/js/jquery-1.7.min.js | 0 .../Parallelization/js/modernizr.custom.js | 0 .../eo}/Parallelization/js/shjs-cpp.js | 0 .../eo}/Parallelization/js/shjs.js | 0 .../eo}/Parallelization/mpi.c | 0 {eo/tutorial => tutorial/eo}/README | 0 .../eo}/Templates/CMakeLists.txt.src-tmpl | 0 .../eo}/Templates/CMakeLists.txt.top-tmpl | 0 .../eo}/Templates/ChangeLog | 0 {eo/tutorial => tutorial/eo}/Templates/EO.tpl | 0 .../eo}/Templates/Makefile.am.src-tmpl | 0 .../eo}/Templates/Makefile.am.top-tmpl | 0 .../eo}/Templates/MyStructEA.cpp | 12 +- .../eo}/Templates/MyStructLibEA.cpp | 10 +- .../eo}/Templates/MyStructSEA.cpp | 18 +- {eo/tutorial => tutorial/eo}/Templates/README | 0 .../eo}/Templates/README.manual | 0 .../eo}/Templates/README.tmpl | 0 .../eo}/Templates/binCrossover.tmpl | 0 .../eo}/Templates/configure.ac.tmpl | 0 .../eo}/Templates/continue.tmpl | 0 .../eo}/Templates/createEOproject.sh | 0 .../eo}/Templates/eoMyStruct.tmpl | 0 .../eo}/Templates/evalFunc.tmpl | 0 .../eo}/Templates/init.tmpl | 0 .../lessOffspringExternalSelectorGenOp.tmpl | 0 .../lessOffspringSameSelectorGenOp.tmpl | 0 .../eo}/Templates/make_MyStruct.cpp | 6 +- .../eo}/Templates/make_genotype_MyStruct.h | 8 +- .../eo}/Templates/make_op_MyStruct.h | 20 +- .../eo}/Templates/moreOffspringGenOp.tmpl | 0 .../eo}/Templates/mutation.tmpl | 0 .../eo}/Templates/quadCrossover.tmpl | 0 .../eo}/Templates/stat.tmpl | 0 {eo => tutorial/eo}/app/CMakeLists.txt | 0 {eo => tutorial/eo}/app/gprop/CMakeLists.txt | 4 +- {eo => tutorial/eo}/app/gprop/gprop.cpp | 2 +- {eo => tutorial/eo}/app/gprop/gprop.h | 20 +- {eo => tutorial/eo}/app/gprop/l2.h | 2 +- {eo => tutorial/eo}/app/gprop/mlp.h | 7 +- {eo => tutorial/eo}/app/gprop/mse.h | 2 +- {eo => tutorial/eo}/app/gprop/qp.h | 10 +- {eo => tutorial/eo}/app/gprop/vecop.h | 0 .../eo}/app/gpsymreg/CMakeLists.txt | 4 +- {eo => tutorial/eo}/app/gpsymreg/fitness.h | 6 +- {eo => tutorial/eo}/app/gpsymreg/main.cpp | 4 +- {eo => tutorial/eo}/app/gpsymreg/node.h | 0 {eo => tutorial/eo}/app/gpsymreg/parameters.h | 4 +- .../eo}/app/mastermind/CMakeLists.txt | 4 +- .../eo}/app/mastermind/mastermind.cpp | 5 +- .../eo}/app/mastermind/mastermind.h | 8 +- .../eo}/html/EA_tutorial.jpg | Bin .../eo}/html/beige009.jpg | Bin {mo/tutorial => tutorial/mo}/CMakeLists.txt | 0 .../mo}/Lesson1/CMakeLists.txt | 8 +- .../mo}/Lesson1/firstImprHC_maxSAT.cpp | 16 +- .../mo}/Lesson1/firstImprHC_maxSAT.param | 0 .../Lesson1/lesson1_combinedContinuator.cpp | 30 +- .../Lesson1/lesson1_combinedContinuator.param | 0 .../mo}/Lesson1/lesson1_evalContinuator.cpp | 20 +- .../mo}/Lesson1/lesson1_evalContinuator.param | 0 .../mo}/Lesson1/lesson1_firstImprHC.cpp | 16 +- .../mo}/Lesson1/lesson1_firstImprHC.param | 0 .../mo}/Lesson1/lesson1_fitContinuator.cpp | 18 +- .../mo}/Lesson1/lesson1_fitContinuator.param | 0 .../Lesson1/lesson1_fullEvalContinuator.cpp | 20 +- .../Lesson1/lesson1_fullEvalContinuator.param | 0 .../mo}/Lesson1/lesson1_iterContinuator.cpp | 18 +- .../mo}/Lesson1/lesson1_iterContinuator.param | 0 .../mo}/Lesson1/lesson1_neutralHC.cpp | 16 +- .../mo}/Lesson1/lesson1_neutralHC.param | 0 .../mo}/Lesson1/lesson1_randomBestHC.cpp | 16 +- .../mo}/Lesson1/lesson1_randomBestHC.param | 0 .../mo}/Lesson1/lesson1_simpleHC.cpp | 18 +- .../mo}/Lesson1/lesson1_simpleHC.param | 0 .../mo}/Lesson2/CMakeLists.txt | 8 +- .../mo}/Lesson2/testNeighborhood.cpp | 26 +- .../mo}/Lesson2/testNeighborhood.param | 0 .../mo}/Lesson3/CMakeLists.txt | 8 +- .../mo}/Lesson3/testSimulatedAnnealing.cpp | 36 +- .../mo}/Lesson3/testSimulatedAnnealing.param | 0 .../mo}/Lesson4/CMakeLists.txt | 8 +- .../mo}/Lesson4/testSimpleTS.cpp | 26 +- .../mo}/Lesson4/testSimpleTS.param | 0 .../mo}/Lesson5/CMakeLists.txt | 8 +- .../mo}/Lesson5/testILS.cpp | 42 +- .../mo}/Lesson5/testILS.param | 0 .../mo}/Lesson6/CMakeLists.txt | 8 +- .../mo}/Lesson6/adaptiveWalks.cpp | 16 +- .../mo}/Lesson6/adaptiveWalks.param | 0 .../mo}/Lesson6/autocorrelation.cpp | 18 +- .../mo}/Lesson6/autocorrelation.param | 0 .../mo}/Lesson6/densityOfStates.cpp | 12 +- .../mo}/Lesson6/densityOfStates.param | 0 {mo/tutorial => tutorial/mo}/Lesson6/fdc.cpp | 12 +- .../mo}/Lesson6/fdc.param | 0 .../mo}/Lesson6/fitnessCloud.cpp | 20 +- .../mo}/Lesson6/fitnessCloud.param | 0 .../mo}/Lesson6/neutralDegree.cpp | 14 +- .../mo}/Lesson6/neutralDegree.param | 0 .../mo}/Lesson6/neutralWalk.cpp | 18 +- .../mo}/Lesson6/neutralWalk.param | 0 .../mo}/Lesson6/sampling.cpp | 26 +- .../mo}/Lesson6/sampling.param | 0 .../mo}/Lesson6/testMetropolisHasting.cpp | 28 +- .../mo}/Lesson6/testMetropolisHasting.param | 0 .../mo}/Lesson6/testRandomNeutralWalk.cpp | 56 +- .../mo}/Lesson6/testRandomNeutralWalk.param | 0 .../mo}/Lesson6/testRandomWalk.cpp | 40 +- .../mo}/Lesson6/testRandomWalk.param | 0 .../mo}/Lesson7/CMakeLists.txt | 8 +- .../mo}/Lesson7/hybridAlgo.cpp | 32 +- .../mo}/Lesson7/hybridAlgo.param | 0 .../mo}/Lesson9/CMakeLists.txt | 8 +- {mo/tutorial => tutorial/mo}/Lesson9/VNS.cpp | 66 +- .../tutorial => tutorial/moeo}/CMakeLists.txt | 4 +- .../moeo}/Lesson1/CMakeLists.txt | 8 +- .../moeo}/Lesson1/Sch1.cpp | 6 +- .../moeo}/Lesson1/Sch1.param | 0 .../moeo}/Lesson2/CMakeLists.txt | 6 +- .../moeo}/Lesson2/FlowShopEA.cpp | 12 +- .../moeo}/Lesson2/FlowShopEA.param | 0 .../moeo}/Lesson3/CMakeLists.txt | 6 +- .../moeo}/Lesson3/FlowShopEA2.cpp | 20 +- .../moeo}/Lesson3/FlowShopEA2.param | 0 .../moeo}/Lesson4/CMakeLists.txt | 6 +- .../moeo}/Lesson4/FlowShopDMLS.cpp | 18 +- .../moeo}/Lesson4/FlowShopDMLS.param | 0 .../moeo}/examples/CMakeLists.txt | 0 .../moeo}/examples/flowshop/CMakeLists.txt | 10 +- .../moeo}/examples/flowshop/FlowShop.cpp | 2 +- .../moeo}/examples/flowshop/FlowShop.h | 4 +- .../flowshop/FlowShopBenchmarkParser.cpp | 0 .../flowshop/FlowShopBenchmarkParser.h | 0 .../moeo}/examples/flowshop/FlowShopEval.cpp | 2 +- .../moeo}/examples/flowshop/FlowShopEval.h | 4 +- .../moeo}/examples/flowshop/FlowShopInit.h | 4 +- .../flowshop/FlowShopObjectiveVector.h | 4 +- .../FlowShopObjectiveVectorTraits.cpp | 2 +- .../flowshop/FlowShopObjectiveVectorTraits.h | 2 +- .../flowshop/FlowShopOpCrossoverQuad.cpp | 2 +- .../flowshop/FlowShopOpCrossoverQuad.h | 4 +- .../flowshop/FlowShopOpMutationExchange.h | 4 +- .../flowshop/FlowShopOpMutationShift.h | 4 +- .../examples/flowshop/benchs/020_05_01.txt | 0 .../examples/flowshop/benchs/020_05_02.txt | 0 .../examples/flowshop/benchs/020_10_01.txt | 0 .../examples/flowshop/benchs/020_10_02.txt | 0 .../examples/flowshop/benchs/020_20_01.txt | 0 .../examples/flowshop/benchs/050_05_01.txt | 0 .../examples/flowshop/benchs/050_10_01.txt | 0 .../examples/flowshop/benchs/050_20_01.txt | 0 .../examples/flowshop/benchs/100_05_01.txt | 0 .../examples/flowshop/benchs/100_10_01.txt | 0 .../examples/flowshop/benchs/100_20_01.txt | 0 .../examples/flowshop/benchs/200_10_01.txt | 0 .../moeo}/examples/flowshop/benchs/README | 0 .../examples/flowshop/make_eval_FlowShop.h | 12 +- .../flowshop/make_genotype_FlowShop.h | 10 +- .../examples/flowshop/make_op_FlowShop.h | 20 +- {smp/tutorial => tutorial/smp}/BaseLesson.h | 0 {smp/tutorial => tutorial/smp}/CMakeLists.txt | 4 +- .../smp}/Lesson1/CMakeLists.txt | 6 +- {smp/tutorial => tutorial/smp}/Lesson1/QAP.h | 2 +- .../tutorial => tutorial/smp}/Lesson1/QAPGA.h | 0 .../smp}/Lesson1/lesson1_data.dat | 0 .../smp}/Lesson1/lesson1_eoEasyEA.cpp | 2 +- .../smp}/Lesson1/lesson1_eoEasyEA.param | 0 .../smp}/Lesson1/parserStruct.h | 0 .../tutorial => tutorial/smp}/Lesson1/utils.h | 0 .../smp}/Lesson2/CMakeLists.txt | 6 +- .../smp}/Lesson2/lesson2_homogeneous.cpp | 4 +- .../smp}/Lesson3/CMakeLists.txt | 6 +- .../smp}/Lesson3/lesson3_heterogeneous.cpp | 6 +- .../smp}/Lesson4/CMakeLists.txt | 6 +- .../smp}/Lesson4/lesson4_topology.cpp | 4 +- {smp/tutorial => tutorial/smp}/lessonData.dat | 0 website/200px-Graph_betweenness.svg.png | Bin website/BatchGantt1.png | Bin website/EO_star.svg | 0 website/Evolutionary_algorithm.png | Bin website/Evolutionary_algorithm.svg | 0 website/Gallagher_Gaussian_BBOB_f21.png | Bin website/Graph_betweenness.svg | 0 website/eo_ico.png | Bin website/eo_logo.png | Bin website/eo_logo.svg | 0 website/eo_logo_48_notext.png | Bin website/eo_logo_fronde.svg | 0 website/fronde.png | Bin website/index.html | 0 website/lightblue.css | 0 website/paradiseo_logo.svg | 0 2359 files changed, 7688 insertions(+), 16329 deletions(-) mode change 100644 => 100755 .gitignore mode change 100644 => 100755 AUTHORS mode change 100644 => 100755 CMakeLists.txt mode change 100644 => 100755 CTestConfig.cmake mode change 100644 => 100755 ForRelease mode change 100644 => 100755 INSTALL mode change 100644 => 100755 LICENSE mode change 100644 => 100755 README rename edo/build_gcc_linux_debug => build_gcc_linux_debug (100%) rename edo/build_gcc_linux_eigen_debug => build_gcc_linux_eigen_debug (100%) create mode 100755 build_gcc_linux_install rename edo/build_gcc_linux_release => build_gcc_linux_release (100%) mode change 100644 => 100755 cmake/Config.cmake mode change 100644 => 100755 cmake/Macro.cmake mode change 100644 => 100755 cmake/Package.cmake mode change 100644 => 100755 cmake/Target.cmake rename {edo/cmake/modules => cmake/module}/FindEO.cmake (100%) mode change 100644 => 100755 mode change 100644 => 100755 cmake/module/FindEigen3.cmake mode change 100644 => 100755 cmake/module/FindParadiseo.cmake mode change 100644 => 100755 deprecated/eo/AUTHORS mode change 100644 => 100755 deprecated/eo/BuildConfig.cmake mode change 100644 => 100755 deprecated/eo/CHANGELOG mode change 100644 => 100755 deprecated/eo/CMakeLists.txt mode change 100644 => 100755 deprecated/eo/COPYING mode change 100644 => 100755 deprecated/eo/CTestConfig.cmake mode change 100644 => 100755 deprecated/eo/ConfigureChecks.cmake mode change 100644 => 100755 deprecated/eo/ForRelease mode change 100644 => 100755 deprecated/eo/INSTALL mode change 100644 => 100755 deprecated/eo/LICENSE mode change 100644 => 100755 deprecated/eo/NEWS mode change 100644 => 100755 deprecated/eo/PKGBUILD.cmake mode change 100644 => 100755 deprecated/eo/README mode change 100644 => 100755 deprecated/eo/THANKS mode change 100644 => 100755 deprecated/eo/ToDo mode change 100644 => 100755 deprecated/eo/app/CMakeLists.txt mode change 100644 => 100755 deprecated/eo/app/gprop/CMakeLists.txt mode change 100644 => 100755 deprecated/eo/app/gprop/gprop.cpp mode change 100644 => 100755 deprecated/eo/app/gprop/gprop.h mode change 100644 => 100755 deprecated/eo/app/gprop/l2.h mode change 100644 => 100755 deprecated/eo/app/gprop/mlp.h mode change 100644 => 100755 deprecated/eo/app/gprop/mse.h mode change 100644 => 100755 deprecated/eo/app/gprop/qp.h mode change 100644 => 100755 deprecated/eo/app/gprop/vecop.h mode change 100644 => 100755 deprecated/eo/app/gpsymreg/CMakeLists.txt mode change 100644 => 100755 deprecated/eo/app/gpsymreg/fitness.h mode change 100644 => 100755 deprecated/eo/app/gpsymreg/main.cpp mode change 100644 => 100755 deprecated/eo/app/gpsymreg/node.h mode change 100644 => 100755 deprecated/eo/app/gpsymreg/parameters.h mode change 100644 => 100755 deprecated/eo/app/mastermind/CMakeLists.txt mode change 100644 => 100755 deprecated/eo/app/mastermind/mastermind.cpp mode change 100644 => 100755 deprecated/eo/app/mastermind/mastermind.h mode change 100644 => 100755 deprecated/eo/cmake/modules/FindEO.cmake mode change 100644 => 100755 deprecated/eo/config.h.cmake mode change 100644 => 100755 deprecated/eo/contrib/MGE/ChangeLog mode change 100644 => 100755 deprecated/eo/contrib/MGE/VirusOp.h mode change 100644 => 100755 deprecated/eo/contrib/MGE/eoInitVirus.h mode change 100644 => 100755 deprecated/eo/contrib/MGE/eoVirus.h mode change 100644 => 100755 deprecated/eo/contrib/boost/config.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/abi_prefix.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/abi_suffix.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/auto_link.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/compiler/borland.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/compiler/comeau.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/compiler/common_edg.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/compiler/compaq_cxx.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/compiler/digitalmars.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/compiler/gcc.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/compiler/greenhills.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/compiler/hp_acc.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/compiler/intel.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/compiler/kai.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/compiler/metrowerks.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/compiler/mpw.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/compiler/sgi_mipspro.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/compiler/sunpro_cc.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/compiler/vacpp.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/compiler/visualc.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/platform/aix.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/platform/amigaos.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/platform/beos.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/platform/bsd.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/platform/cygwin.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/platform/hpux.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/platform/irix.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/platform/linux.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/platform/macos.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/platform/solaris.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/platform/win32.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/posix_features.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/requires_threads.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/select_compiler_config.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/select_platform_config.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/select_stdlib_config.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/stdlib/dinkumware.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/stdlib/libcomo.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/stdlib/libstdcpp3.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/stdlib/modena.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/stdlib/msl.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/stdlib/roguewave.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/stdlib/sgi.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/stdlib/stlport.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/stdlib/vacpp.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/suffix.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/config/user.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/limits.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/arith.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/arith2.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/arith3.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/checking.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/compare.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/compare/certain.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/compare/explicit.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/compare/lexicographic.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/compare/possible.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/compare/set.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/compare/tribool.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/constants.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/detail/bcc_rounding_control.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/detail/bugs.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/detail/c99_rounding_control.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/detail/c99sub_rounding_control.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/detail/division.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/detail/interval_prototype.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/detail/msvc_rounding_control.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/detail/ppc_rounding_control.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/detail/sparc_rounding_control.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/detail/test_input.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/detail/x86_rounding_control.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/detail/x86gcc_rounding_control.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/ext/integer.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/ext/x86_fast_rounding_control.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/hw_rounding.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/interval.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/io.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/limits.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/policies.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/rounded_arith.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/rounded_transc.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/rounding.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/transc.hpp mode change 100644 => 100755 deprecated/eo/contrib/boost/numeric/interval/utility.hpp mode change 100644 => 100755 deprecated/eo/contrib/eoAged.h mode change 100644 => 100755 deprecated/eo/contrib/eoDrawable.h mode change 100644 => 100755 deprecated/eo/contrib/mathsym/COPYING mode change 100644 => 100755 deprecated/eo/contrib/mathsym/GNUmakefile mode change 100644 => 100755 deprecated/eo/contrib/mathsym/README mode change 100644 => 100755 deprecated/eo/contrib/mathsym/README.TCC mode change 100644 => 100755 deprecated/eo/contrib/mathsym/eo_interface/eoSym.h mode change 100644 => 100755 deprecated/eo/contrib/mathsym/eo_interface/eoSymCrossover.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/eo_interface/eoSymCrossover.h mode change 100644 => 100755 deprecated/eo/contrib/mathsym/eo_interface/eoSymEval.h mode change 100644 => 100755 deprecated/eo/contrib/mathsym/eo_interface/eoSymInit.h mode change 100644 => 100755 deprecated/eo/contrib/mathsym/eo_interface/eoSymLambdaMutate.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/eo_interface/eoSymLambdaMutate.h mode change 100644 => 100755 deprecated/eo/contrib/mathsym/eo_interface/eoSymMutate.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/eo_interface/eoSymMutate.h mode change 100644 => 100755 deprecated/eo/contrib/mathsym/eval/BoundsCheck.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/eval/BoundsCheck.h mode change 100644 => 100755 deprecated/eo/contrib/mathsym/eval/Interval.h mode change 100644 => 100755 deprecated/eo/contrib/mathsym/eval/MultiFuncs.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/eval/MultiFunction.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/eval/MultiFunction.h mode change 100644 => 100755 deprecated/eo/contrib/mathsym/eval/c_compile.c mode change 100644 => 100755 deprecated/eo/contrib/mathsym/eval/sym_compile.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/eval/sym_compile.h mode change 100644 => 100755 deprecated/eo/contrib/mathsym/fun/FunDef.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/fun/FunDef.h mode change 100644 => 100755 deprecated/eo/contrib/mathsym/fun/SymOps.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/fun/SymOps.h mode change 100644 => 100755 deprecated/eo/contrib/mathsym/fun/sym_operations.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/fun/util.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/gen/LanguageTable.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/gen/LanguageTable.h mode change 100644 => 100755 deprecated/eo/contrib/mathsym/gen/NodeSelector.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/gen/NodeSelector.h mode change 100644 => 100755 deprecated/eo/contrib/mathsym/gen/TreeBuilder.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/gen/TreeBuilder.h mode change 100644 => 100755 deprecated/eo/contrib/mathsym/header mode change 100644 => 100755 deprecated/eo/contrib/mathsym/regression/Dataset.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/regression/Dataset.h mode change 100644 => 100755 deprecated/eo/contrib/mathsym/regression/ErrorMeasure.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/regression/ErrorMeasure.h mode change 100644 => 100755 deprecated/eo/contrib/mathsym/regression/Scaling.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/regression/Scaling.h mode change 100644 => 100755 deprecated/eo/contrib/mathsym/regression/TargetInfo.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/regression/TargetInfo.h mode change 100644 => 100755 deprecated/eo/contrib/mathsym/regression/stats.h mode change 100644 => 100755 deprecated/eo/contrib/mathsym/shared_ptr.h mode change 100644 => 100755 deprecated/eo/contrib/mathsym/sym/README.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/sym/Sym.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/sym/Sym.h mode change 100644 => 100755 deprecated/eo/contrib/mathsym/sym/SymImpl.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/sym/SymImpl.h mode change 100644 => 100755 deprecated/eo/contrib/mathsym/sym/token.h mode change 100644 => 100755 deprecated/eo/contrib/mathsym/symreg.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/tcc.tar.gz mode change 100644 => 100755 deprecated/eo/contrib/mathsym/tcc_patched.tar.gz mode change 100644 => 100755 deprecated/eo/contrib/mathsym/test/test_compile.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/test/test_diff.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/test/test_lambda.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/test/test_mf.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/test/test_simplify.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/test/testeo.cpp mode change 100644 => 100755 deprecated/eo/contrib/mathsym/test_data.txt mode change 100644 => 100755 deprecated/eo/doc/CMakeLists.txt mode change 100644 => 100755 deprecated/eo/doc/ChangeLog mode change 100644 => 100755 deprecated/eo/doc/EO_EA2001.pdf mode change 100644 => 100755 deprecated/eo/doc/LeCreusot.pdf mode change 100644 => 100755 deprecated/eo/doc/eo.cfg.cmake mode change 100644 => 100755 deprecated/eo/doc/index.h mode change 100644 => 100755 deprecated/eo/doc/mainpage.html mode change 100644 => 100755 deprecated/eo/doc/publications.html mode change 100644 => 100755 deprecated/eo/doc/sflogo-hammer1.jpg mode change 100644 => 100755 deprecated/eo/pc.cmake mode change 100644 => 100755 deprecated/eo/src/CMakeLists.txt mode change 100644 => 100755 deprecated/eo/src/EO.h mode change 100644 => 100755 deprecated/eo/src/PO.h mode change 100644 => 100755 deprecated/eo/src/apply.h mode change 100644 => 100755 deprecated/eo/src/do/Readme mode change 100644 => 100755 deprecated/eo/src/do/make_algo_easea.h mode change 100644 => 100755 deprecated/eo/src/do/make_algo_scalar.h mode change 100644 => 100755 deprecated/eo/src/do/make_checkpoint.h mode change 100644 => 100755 deprecated/eo/src/do/make_checkpoint_FDC.h mode change 100644 => 100755 deprecated/eo/src/do/make_checkpoint_assembled.h mode change 100644 => 100755 deprecated/eo/src/do/make_continue.h mode change 100644 => 100755 deprecated/eo/src/do/make_general_replacement.h mode change 100644 => 100755 deprecated/eo/src/do/make_pop.h mode change 100644 => 100755 deprecated/eo/src/do/make_run.h mode change 100644 => 100755 deprecated/eo/src/eo mode change 100644 => 100755 deprecated/eo/src/eoAlgo.h mode change 100644 => 100755 deprecated/eo/src/eoBinaryFlight.h mode change 100644 => 100755 deprecated/eo/src/eoBitParticle.h mode change 100644 => 100755 deprecated/eo/src/eoBreed.h mode change 100644 => 100755 deprecated/eo/src/eoCellularEasyEA.h mode change 100644 => 100755 deprecated/eo/src/eoCloneOps.h mode change 100644 => 100755 deprecated/eo/src/eoCombinedContinue.h mode change 100644 => 100755 deprecated/eo/src/eoCombinedInit.h mode change 100644 => 100755 deprecated/eo/src/eoConstrictedVariableWeightVelocity.h mode change 100644 => 100755 deprecated/eo/src/eoConstrictedVelocity.h mode change 100644 => 100755 deprecated/eo/src/eoContinue.h mode change 100644 => 100755 deprecated/eo/src/eoCounter.h mode change 100644 => 100755 deprecated/eo/src/eoCtrlCContinue.cpp mode change 100644 => 100755 deprecated/eo/src/eoCtrlCContinue.h mode change 100644 => 100755 deprecated/eo/src/eoDetSelect.h mode change 100644 => 100755 deprecated/eo/src/eoDetTournamentSelect.h mode change 100644 => 100755 deprecated/eo/src/eoDistribUpdater.h mode change 100644 => 100755 deprecated/eo/src/eoDistribution.h mode change 100644 => 100755 deprecated/eo/src/eoDualFitness.h mode change 100644 => 100755 deprecated/eo/src/eoEDA.h mode change 100644 => 100755 deprecated/eo/src/eoEasyEA.h mode change 100644 => 100755 deprecated/eo/src/eoEasyPSO.h mode change 100644 => 100755 deprecated/eo/src/eoEvalContinue.h mode change 100644 => 100755 deprecated/eo/src/eoEvalCounterThrowException.h mode change 100644 => 100755 deprecated/eo/src/eoEvalFunc.h mode change 100644 => 100755 deprecated/eo/src/eoEvalFuncCounter.h mode change 100644 => 100755 deprecated/eo/src/eoEvalFuncCounterBounder.h mode change 100644 => 100755 deprecated/eo/src/eoEvalFuncPtr.h mode change 100644 => 100755 deprecated/eo/src/eoEvalTimeThrowException.h mode change 100644 => 100755 deprecated/eo/src/eoEvalUserTimeThrowException.h mode change 100644 => 100755 deprecated/eo/src/eoExceptions.h mode change 100644 => 100755 deprecated/eo/src/eoExtendedVelocity.h mode change 100644 => 100755 deprecated/eo/src/eoFactory.h mode change 100644 => 100755 deprecated/eo/src/eoFitContinue.h mode change 100644 => 100755 deprecated/eo/src/eoFitnessScalingSelect.h mode change 100644 => 100755 deprecated/eo/src/eoFixedInertiaWeightedVelocity.h mode change 100644 => 100755 deprecated/eo/src/eoFlOrBinOp.h mode change 100644 => 100755 deprecated/eo/src/eoFlOrMonOp.h mode change 100644 => 100755 deprecated/eo/src/eoFlOrQuadOp.h mode change 100644 => 100755 deprecated/eo/src/eoFlight.h mode change 100644 => 100755 deprecated/eo/src/eoFunctor.h mode change 100644 => 100755 deprecated/eo/src/eoFunctorStore.cpp mode change 100644 => 100755 deprecated/eo/src/eoFunctorStore.h mode change 100644 => 100755 deprecated/eo/src/eoG3Replacement.h mode change 100644 => 100755 deprecated/eo/src/eoGaussRealWeightUp.h mode change 100644 => 100755 deprecated/eo/src/eoGenContinue.h mode change 100644 => 100755 deprecated/eo/src/eoGenOp.h mode change 100644 => 100755 deprecated/eo/src/eoGeneralBreeder.h mode change 100644 => 100755 deprecated/eo/src/eoInit.h mode change 100644 => 100755 deprecated/eo/src/eoInitializer.h mode change 100644 => 100755 deprecated/eo/src/eoInt.h mode change 100644 => 100755 deprecated/eo/src/eoIntegerVelocity.h mode change 100644 => 100755 deprecated/eo/src/eoInvalidateOps.h mode change 100644 => 100755 deprecated/eo/src/eoLinearDecreasingWeightUp.h mode change 100644 => 100755 deprecated/eo/src/eoLinearFitScaling.h mode change 100644 => 100755 deprecated/eo/src/eoLinearTopology.h mode change 100644 => 100755 deprecated/eo/src/eoMGGReplacement.h mode change 100644 => 100755 deprecated/eo/src/eoMerge.h mode change 100644 => 100755 deprecated/eo/src/eoMergeReduce.h mode change 100644 => 100755 deprecated/eo/src/eoNDSorting.h mode change 100644 => 100755 deprecated/eo/src/eoNeighborhood.h mode change 100644 => 100755 deprecated/eo/src/eoObject.h mode change 100644 => 100755 deprecated/eo/src/eoOneToOneBreeder.h mode change 100644 => 100755 deprecated/eo/src/eoOp.h mode change 100644 => 100755 deprecated/eo/src/eoOpContainer.h mode change 100644 => 100755 deprecated/eo/src/eoOpSelMason.h mode change 100644 => 100755 deprecated/eo/src/eoOrderXover.h mode change 100644 => 100755 deprecated/eo/src/eoPSO.h mode change 100644 => 100755 deprecated/eo/src/eoParticleBestInit.h mode change 100644 => 100755 deprecated/eo/src/eoParticleFullInitializer.h mode change 100644 => 100755 deprecated/eo/src/eoPerf2Worth.h mode change 100644 => 100755 deprecated/eo/src/eoPeriodicContinue.h mode change 100644 => 100755 deprecated/eo/src/eoPersistent.cpp mode change 100644 => 100755 deprecated/eo/src/eoPersistent.h mode change 100644 => 100755 deprecated/eo/src/eoPop.h mode change 100644 => 100755 deprecated/eo/src/eoPopEvalFunc.h mode change 100644 => 100755 deprecated/eo/src/eoPopulator.h mode change 100644 => 100755 deprecated/eo/src/eoPrintable.cpp mode change 100644 => 100755 deprecated/eo/src/eoPrintable.h mode change 100644 => 100755 deprecated/eo/src/eoPropGAGenOp.h mode change 100644 => 100755 deprecated/eo/src/eoProportionalCombinedOp.h mode change 100644 => 100755 deprecated/eo/src/eoProportionalSelect.h mode change 100644 => 100755 deprecated/eo/src/eoRandomRealWeightUp.h mode change 100644 => 100755 deprecated/eo/src/eoRandomSelect.h mode change 100644 => 100755 deprecated/eo/src/eoRanking.h mode change 100644 => 100755 deprecated/eo/src/eoRankingSelect.h mode change 100644 => 100755 deprecated/eo/src/eoRealBoundModifier.h mode change 100644 => 100755 deprecated/eo/src/eoRealParticle.h mode change 100644 => 100755 deprecated/eo/src/eoReduce.h mode change 100644 => 100755 deprecated/eo/src/eoReduceMerge.h mode change 100644 => 100755 deprecated/eo/src/eoReduceMergeReduce.h mode change 100644 => 100755 deprecated/eo/src/eoReduceSplit.h mode change 100644 => 100755 deprecated/eo/src/eoReplacement.h mode change 100644 => 100755 deprecated/eo/src/eoRingTopology.h mode change 100644 => 100755 deprecated/eo/src/eoSGA.h mode change 100644 => 100755 deprecated/eo/src/eoSGAGenOp.h mode change 100644 => 100755 deprecated/eo/src/eoSGATransform.h mode change 100644 => 100755 deprecated/eo/src/eoSIGContinue.cpp mode change 100644 => 100755 deprecated/eo/src/eoSIGContinue.h mode change 100644 => 100755 deprecated/eo/src/eoSTLFunctor.h mode change 100644 => 100755 deprecated/eo/src/eoScalarFitness.h mode change 100644 => 100755 deprecated/eo/src/eoScalarFitnessAssembled.cpp mode change 100644 => 100755 deprecated/eo/src/eoScalarFitnessAssembled.h mode change 100644 => 100755 deprecated/eo/src/eoSecondsElapsedContinue.h mode change 100644 => 100755 deprecated/eo/src/eoSelect.h mode change 100644 => 100755 deprecated/eo/src/eoSelectFactory.h mode change 100644 => 100755 deprecated/eo/src/eoSelectFromWorth.h mode change 100644 => 100755 deprecated/eo/src/eoSelectMany.h mode change 100644 => 100755 deprecated/eo/src/eoSelectNumber.h mode change 100644 => 100755 deprecated/eo/src/eoSelectOne.h mode change 100644 => 100755 deprecated/eo/src/eoSelectPerc.h mode change 100644 => 100755 deprecated/eo/src/eoSequentialSelect.h mode change 100644 => 100755 deprecated/eo/src/eoSharing.h mode change 100644 => 100755 deprecated/eo/src/eoSharingSelect.h mode change 100644 => 100755 deprecated/eo/src/eoShiftMutation.h mode change 100644 => 100755 deprecated/eo/src/eoSigBinaryFlight.h mode change 100644 => 100755 deprecated/eo/src/eoSimpleEDA.h mode change 100644 => 100755 deprecated/eo/src/eoSocialNeighborhood.h mode change 100644 => 100755 deprecated/eo/src/eoStandardFlight.h mode change 100644 => 100755 deprecated/eo/src/eoStandardVelocity.h mode change 100644 => 100755 deprecated/eo/src/eoStarTopology.h mode change 100644 => 100755 deprecated/eo/src/eoSteadyFitContinue.h mode change 100644 => 100755 deprecated/eo/src/eoStochTournamentSelect.h mode change 100644 => 100755 deprecated/eo/src/eoStochasticUniversalSelect.h mode change 100644 => 100755 deprecated/eo/src/eoSurviveAndDie.h mode change 100644 => 100755 deprecated/eo/src/eoSwapMutation.h mode change 100644 => 100755 deprecated/eo/src/eoSyncEasyPSO.h mode change 100644 => 100755 deprecated/eo/src/eoTimeContinue.h mode change 100644 => 100755 deprecated/eo/src/eoTopology.h mode change 100644 => 100755 deprecated/eo/src/eoTransform.h mode change 100644 => 100755 deprecated/eo/src/eoTruncSelect.h mode change 100644 => 100755 deprecated/eo/src/eoTruncatedSelectMany.h mode change 100644 => 100755 deprecated/eo/src/eoTruncatedSelectOne.h mode change 100644 => 100755 deprecated/eo/src/eoTwoOptMutation.h mode change 100644 => 100755 deprecated/eo/src/eoVariableInertiaWeightedVelocity.h mode change 100644 => 100755 deprecated/eo/src/eoVariableLengthCrossover.h mode change 100644 => 100755 deprecated/eo/src/eoVariableLengthMutation.h mode change 100644 => 100755 deprecated/eo/src/eoVector.h mode change 100644 => 100755 deprecated/eo/src/eoVectorParticle.h mode change 100644 => 100755 deprecated/eo/src/eoVelocity.h mode change 100644 => 100755 deprecated/eo/src/eoVelocityInit.h mode change 100644 => 100755 deprecated/eo/src/eoWeightUpdater.h mode change 100644 => 100755 deprecated/eo/src/es.h mode change 100644 => 100755 deprecated/eo/src/es/CMAParams.cpp mode change 100644 => 100755 deprecated/eo/src/es/CMAParams.h mode change 100644 => 100755 deprecated/eo/src/es/CMAState.cpp mode change 100644 => 100755 deprecated/eo/src/es/CMAState.h mode change 100644 => 100755 deprecated/eo/src/es/CMakeLists.txt mode change 100644 => 100755 deprecated/eo/src/es/ChangeLog mode change 100644 => 100755 deprecated/eo/src/es/eig.cpp mode change 100644 => 100755 deprecated/eo/src/es/eig.h mode change 100644 => 100755 deprecated/eo/src/es/eoCMABreed.h mode change 100644 => 100755 deprecated/eo/src/es/eoCMAInit.h mode change 100644 => 100755 deprecated/eo/src/es/eoEsChromInit.h mode change 100644 => 100755 deprecated/eo/src/es/eoEsFull.h mode change 100644 => 100755 deprecated/eo/src/es/eoEsGlobalXover.h mode change 100644 => 100755 deprecated/eo/src/es/eoEsMutate.h mode change 100644 => 100755 deprecated/eo/src/es/eoEsMutationInit.h mode change 100644 => 100755 deprecated/eo/src/es/eoEsSimple.h mode change 100644 => 100755 deprecated/eo/src/es/eoEsStandardXover.h mode change 100644 => 100755 deprecated/eo/src/es/eoEsStdev.h mode change 100644 => 100755 deprecated/eo/src/es/eoNormalMutation.h mode change 100644 => 100755 deprecated/eo/src/es/eoReal.h mode change 100644 => 100755 deprecated/eo/src/es/eoRealAtomXover.h mode change 100644 => 100755 deprecated/eo/src/es/eoRealInitBounded.h mode change 100644 => 100755 deprecated/eo/src/es/eoRealOp.h mode change 100644 => 100755 deprecated/eo/src/es/eoSBXcross.h mode change 100644 => 100755 deprecated/eo/src/es/make_algo_scalar_es.cpp mode change 100644 => 100755 deprecated/eo/src/es/make_algo_scalar_real.cpp mode change 100644 => 100755 deprecated/eo/src/es/make_checkpoint_es.cpp mode change 100644 => 100755 deprecated/eo/src/es/make_checkpoint_real.cpp mode change 100644 => 100755 deprecated/eo/src/es/make_continue_es.cpp mode change 100644 => 100755 deprecated/eo/src/es/make_continue_real.cpp mode change 100644 => 100755 deprecated/eo/src/es/make_es.h mode change 100644 => 100755 deprecated/eo/src/es/make_genotype_es.cpp mode change 100644 => 100755 deprecated/eo/src/es/make_genotype_real.cpp mode change 100644 => 100755 deprecated/eo/src/es/make_genotype_real.h mode change 100644 => 100755 deprecated/eo/src/es/make_op.h mode change 100644 => 100755 deprecated/eo/src/es/make_op_es.cpp mode change 100644 => 100755 deprecated/eo/src/es/make_op_es.h mode change 100644 => 100755 deprecated/eo/src/es/make_op_real.cpp mode change 100644 => 100755 deprecated/eo/src/es/make_op_real.h mode change 100644 => 100755 deprecated/eo/src/es/make_pop_es.cpp mode change 100644 => 100755 deprecated/eo/src/es/make_pop_real.cpp mode change 100644 => 100755 deprecated/eo/src/es/make_real.h mode change 100644 => 100755 deprecated/eo/src/es/make_run_es.cpp mode change 100644 => 100755 deprecated/eo/src/es/make_run_real.cpp mode change 100644 => 100755 deprecated/eo/src/es/matrices.h mode change 100644 => 100755 deprecated/eo/src/ga.h mode change 100644 => 100755 deprecated/eo/src/ga/CMakeLists.txt mode change 100644 => 100755 deprecated/eo/src/ga/ChangeLog mode change 100644 => 100755 deprecated/eo/src/ga/Readme mode change 100644 => 100755 deprecated/eo/src/ga/eoBit.h mode change 100644 => 100755 deprecated/eo/src/ga/eoBitOp.h mode change 100644 => 100755 deprecated/eo/src/ga/eoBitOpFactory.h mode change 100644 => 100755 deprecated/eo/src/ga/eoBoolFlip.h mode change 100644 => 100755 deprecated/eo/src/ga/eoPBILAdditive.h mode change 100644 => 100755 deprecated/eo/src/ga/eoPBILDistrib.h mode change 100644 => 100755 deprecated/eo/src/ga/eoPBILOrg.h mode change 100644 => 100755 deprecated/eo/src/ga/make_PBILdistrib.h mode change 100644 => 100755 deprecated/eo/src/ga/make_PBILupdate.h mode change 100644 => 100755 deprecated/eo/src/ga/make_algo_scalar_ga.cpp mode change 100644 => 100755 deprecated/eo/src/ga/make_checkpoint_ga.cpp mode change 100644 => 100755 deprecated/eo/src/ga/make_continue_ga.cpp mode change 100644 => 100755 deprecated/eo/src/ga/make_ga.h mode change 100644 => 100755 deprecated/eo/src/ga/make_genotype_ga.cpp mode change 100644 => 100755 deprecated/eo/src/ga/make_genotype_ga.h mode change 100644 => 100755 deprecated/eo/src/ga/make_op.h mode change 100644 => 100755 deprecated/eo/src/ga/make_op_ga.cpp mode change 100644 => 100755 deprecated/eo/src/ga/make_pop_ga.cpp mode change 100644 => 100755 deprecated/eo/src/ga/make_run_ga.cpp mode change 100644 => 100755 deprecated/eo/src/gp/eoParseTree.h mode change 100644 => 100755 deprecated/eo/src/gp/eoParseTreeDepthInit.h mode change 100644 => 100755 deprecated/eo/src/gp/eoParseTreeOp.h mode change 100644 => 100755 deprecated/eo/src/gp/eoStParseTreeDepthInit.h mode change 100644 => 100755 deprecated/eo/src/gp/eoStParseTreeOp.h mode change 100644 => 100755 deprecated/eo/src/gp/node_pool.h mode change 100644 => 100755 deprecated/eo/src/gp/parse_tree.h mode change 100644 => 100755 deprecated/eo/src/other/eoExternalEO.h mode change 100644 => 100755 deprecated/eo/src/other/eoExternalOpFunctions.h mode change 100644 => 100755 deprecated/eo/src/other/eoString.h mode change 100644 => 100755 deprecated/eo/src/other/external_eo mode change 100644 => 100755 deprecated/eo/src/pyeo/AUTHORS mode change 100644 => 100755 deprecated/eo/src/pyeo/BUILDING mode change 100644 => 100755 deprecated/eo/src/pyeo/CMakeLists.txt mode change 100644 => 100755 deprecated/eo/src/pyeo/COPYING mode change 100644 => 100755 deprecated/eo/src/pyeo/Makefile mode change 100644 => 100755 deprecated/eo/src/pyeo/Makefile.rpm mode change 100644 => 100755 deprecated/eo/src/pyeo/NEWS mode change 100644 => 100755 deprecated/eo/src/pyeo/PyEO.cpp mode change 100644 => 100755 deprecated/eo/src/pyeo/PyEO.h mode change 100644 => 100755 deprecated/eo/src/pyeo/PyEO/__init__.py mode change 100644 => 100755 deprecated/eo/src/pyeo/README mode change 100644 => 100755 deprecated/eo/src/pyeo/abstract1.cpp mode change 100644 => 100755 deprecated/eo/src/pyeo/algos.cpp mode change 100644 => 100755 deprecated/eo/src/pyeo/breeders.cpp mode change 100644 => 100755 deprecated/eo/src/pyeo/continuators.cpp mode change 100644 => 100755 deprecated/eo/src/pyeo/def_abstract_functor.h mode change 100644 => 100755 deprecated/eo/src/pyeo/geneticOps.cpp mode change 100644 => 100755 deprecated/eo/src/pyeo/mergers.cpp mode change 100644 => 100755 deprecated/eo/src/pyeo/monitors.cpp mode change 100644 => 100755 deprecated/eo/src/pyeo/perf2worth.cpp mode change 100644 => 100755 deprecated/eo/src/pyeo/pickle.h mode change 100644 => 100755 deprecated/eo/src/pyeo/random_numbers.cpp mode change 100644 => 100755 deprecated/eo/src/pyeo/reduce.cpp mode change 100644 => 100755 deprecated/eo/src/pyeo/replacement.cpp mode change 100644 => 100755 deprecated/eo/src/pyeo/selectOne.cpp mode change 100644 => 100755 deprecated/eo/src/pyeo/selectors.cpp mode change 100644 => 100755 deprecated/eo/src/pyeo/statistics.cpp mode change 100644 => 100755 deprecated/eo/src/pyeo/test/maxone.py mode change 100644 => 100755 deprecated/eo/src/pyeo/test/test_breeders.py mode change 100644 => 100755 deprecated/eo/src/pyeo/test/test_mo.py mode change 100644 => 100755 deprecated/eo/src/pyeo/test/test_pickling.py mode change 100644 => 100755 deprecated/eo/src/pyeo/test/test_populator.py mode change 100644 => 100755 deprecated/eo/src/pyeo/test/test_reduce.py mode change 100644 => 100755 deprecated/eo/src/pyeo/test/test_selectone.py mode change 100644 => 100755 deprecated/eo/src/pyeo/test/test_sga.py mode change 100644 => 100755 deprecated/eo/src/pyeo/test/test_transform.py mode change 100644 => 100755 deprecated/eo/src/pyeo/valueParam.cpp mode change 100644 => 100755 deprecated/eo/src/pyeo/valueParam.h mode change 100644 => 100755 deprecated/eo/src/utils/CMakeLists.txt mode change 100644 => 100755 deprecated/eo/src/utils/ChangeLog mode change 100644 => 100755 deprecated/eo/src/utils/checkpointing mode change 100644 => 100755 deprecated/eo/src/utils/compatibility.h mode change 100644 => 100755 deprecated/eo/src/utils/eoAssembledFitnessStat.h mode change 100644 => 100755 deprecated/eo/src/utils/eoCheckPoint.h mode change 100644 => 100755 deprecated/eo/src/utils/eoData.cpp mode change 100644 => 100755 deprecated/eo/src/utils/eoData.h mode change 100644 => 100755 deprecated/eo/src/utils/eoDistance.h mode change 100644 => 100755 deprecated/eo/src/utils/eoFDCStat.h mode change 100644 => 100755 deprecated/eo/src/utils/eoFeasibleRatioStat.h mode change 100644 => 100755 deprecated/eo/src/utils/eoFileMonitor.cpp mode change 100644 => 100755 deprecated/eo/src/utils/eoFileMonitor.h mode change 100644 => 100755 deprecated/eo/src/utils/eoFileSnapshot.h mode change 100644 => 100755 deprecated/eo/src/utils/eoFuncPtrStat.h mode change 100644 => 100755 deprecated/eo/src/utils/eoGenCounter.h mode change 100644 => 100755 deprecated/eo/src/utils/eoGnuplot.cpp mode change 100644 => 100755 deprecated/eo/src/utils/eoGnuplot.h mode change 100644 => 100755 deprecated/eo/src/utils/eoGnuplot1DMonitor.cpp mode change 100644 => 100755 deprecated/eo/src/utils/eoGnuplot1DMonitor.h mode change 100644 => 100755 deprecated/eo/src/utils/eoGnuplot1DSnapshot.cpp mode change 100644 => 100755 deprecated/eo/src/utils/eoGnuplot1DSnapshot.h mode change 100644 => 100755 deprecated/eo/src/utils/eoHowMany.h mode change 100644 => 100755 deprecated/eo/src/utils/eoIntBounds.cpp mode change 100644 => 100755 deprecated/eo/src/utils/eoIntBounds.h mode change 100644 => 100755 deprecated/eo/src/utils/eoLogger.cpp mode change 100644 => 100755 deprecated/eo/src/utils/eoLogger.h mode change 100644 => 100755 deprecated/eo/src/utils/eoMOFitnessStat.h mode change 100644 => 100755 deprecated/eo/src/utils/eoMonitor.h mode change 100644 => 100755 deprecated/eo/src/utils/eoOStreamMonitor.cpp mode change 100644 => 100755 deprecated/eo/src/utils/eoOStreamMonitor.h mode change 100644 => 100755 deprecated/eo/src/utils/eoParallel.cpp mode change 100644 => 100755 deprecated/eo/src/utils/eoParallel.h mode change 100644 => 100755 deprecated/eo/src/utils/eoParam.h mode change 100644 => 100755 deprecated/eo/src/utils/eoParser.cpp mode change 100644 => 100755 deprecated/eo/src/utils/eoParser.h mode change 100644 => 100755 deprecated/eo/src/utils/eoParserLogger.h mode change 100644 => 100755 deprecated/eo/src/utils/eoPopStat.h mode change 100644 => 100755 deprecated/eo/src/utils/eoRNG.cpp mode change 100644 => 100755 deprecated/eo/src/utils/eoRNG.h mode change 100644 => 100755 deprecated/eo/src/utils/eoRealBounds.cpp mode change 100644 => 100755 deprecated/eo/src/utils/eoRealBounds.h mode change 100644 => 100755 deprecated/eo/src/utils/eoRealVectorBounds.h mode change 100644 => 100755 deprecated/eo/src/utils/eoRndGenerators.h mode change 100644 => 100755 deprecated/eo/src/utils/eoScalarFitnessStat.h mode change 100644 => 100755 deprecated/eo/src/utils/eoSignal.cpp mode change 100644 => 100755 deprecated/eo/src/utils/eoSignal.h mode change 100644 => 100755 deprecated/eo/src/utils/eoStat.h mode change 100644 => 100755 deprecated/eo/src/utils/eoState.cpp mode change 100644 => 100755 deprecated/eo/src/utils/eoState.h mode change 100644 => 100755 deprecated/eo/src/utils/eoStdoutMonitor.h mode change 100644 => 100755 deprecated/eo/src/utils/eoTimeCounter.h mode change 100644 => 100755 deprecated/eo/src/utils/eoTimedMonitor.h mode change 100644 => 100755 deprecated/eo/src/utils/eoUniformInit.h mode change 100644 => 100755 deprecated/eo/src/utils/eoUpdatable.h mode change 100644 => 100755 deprecated/eo/src/utils/eoUpdater.cpp mode change 100644 => 100755 deprecated/eo/src/utils/eoUpdater.h mode change 100644 => 100755 deprecated/eo/src/utils/make_help.cpp mode change 100644 => 100755 deprecated/eo/src/utils/pipecom.cpp mode change 100644 => 100755 deprecated/eo/src/utils/pipecom.h mode change 100644 => 100755 deprecated/eo/src/utils/rnd_generators.h mode change 100644 => 100755 deprecated/eo/src/utils/selectors.h mode change 100644 => 100755 deprecated/eo/test/CMakeLists.txt mode change 100644 => 100755 deprecated/eo/test/ChangeLog mode change 100644 => 100755 deprecated/eo/test/RoyalRoad.h mode change 100644 => 100755 deprecated/eo/test/binary_value.h mode change 100644 => 100755 deprecated/eo/test/fitness_traits.cpp mode change 100644 => 100755 deprecated/eo/test/real_value.h mode change 100644 => 100755 deprecated/eo/test/t-MGE-control.cpp mode change 100644 => 100755 deprecated/eo/test/t-MGE.cpp mode change 100644 => 100755 deprecated/eo/test/t-MGE1bit.cpp mode change 100644 => 100755 deprecated/eo/test/t-eo.cpp mode change 100644 => 100755 deprecated/eo/test/t-eo2dVector.cc mode change 100644 => 100755 deprecated/eo/test/t-eoCMAES.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoCheckpointing.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoDualFitness.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoESAll.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoESFull.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoEasyEA.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoEasyPSO.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoExtendedVelocity.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoExternalEO.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoFitnessAssembled.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoFitnessAssembledEA.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoFunctor.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoGA.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoGenOp.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoIQRStat.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoInitPermutation.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoInt.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoLogger.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoOrderXover.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoPBIL.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoParallel.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoParser.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoRNG.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoRandom.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoReal.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoReplacement.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoRingTopology.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoRoulette.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoSSGA.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoSecondsElapsedContinue.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoSelect.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoSharing.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoShiftMutation.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoStateAndParser.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoSwapMutation.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoSymreg.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoSyncEasyPSO.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoTwoOptMutation.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoUniform.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoVector.cpp mode change 100644 => 100755 deprecated/eo/test/t-eoVirus.cpp mode change 100644 => 100755 deprecated/eo/test/t-eobin.cpp mode change 100644 => 100755 deprecated/eo/test/t-eofitness.cpp mode change 100644 => 100755 deprecated/eo/test/t-openmp.cpp mode change 100644 => 100755 deprecated/eo/test/t-selectOne.cpp mode change 100644 => 100755 deprecated/eo/tutorial/CMakeLists.txt mode change 100644 => 100755 deprecated/eo/tutorial/Lesson1/CMakeLists.txt mode change 100644 => 100755 deprecated/eo/tutorial/Lesson1/FirstBitGA.cpp mode change 100644 => 100755 deprecated/eo/tutorial/Lesson1/FirstRealGA.cpp mode change 100644 => 100755 deprecated/eo/tutorial/Lesson1/Makefile.simple mode change 100644 => 100755 deprecated/eo/tutorial/Lesson1/exercise1.3.cpp mode change 100644 => 100755 deprecated/eo/tutorial/Lesson2/CMakeLists.txt mode change 100644 => 100755 deprecated/eo/tutorial/Lesson2/FirstBitEA.cpp mode change 100644 => 100755 deprecated/eo/tutorial/Lesson2/FirstRealEA.cpp mode change 100644 => 100755 deprecated/eo/tutorial/Lesson2/Makefile.simple mode change 100644 => 100755 deprecated/eo/tutorial/Lesson2/binary_value.h mode change 100644 => 100755 deprecated/eo/tutorial/Lesson2/exercise2.3.cpp mode change 100644 => 100755 deprecated/eo/tutorial/Lesson2/real_value.h mode change 100644 => 100755 deprecated/eo/tutorial/Lesson3/CMakeLists.txt mode change 100644 => 100755 deprecated/eo/tutorial/Lesson3/Makefile.simple mode change 100644 => 100755 deprecated/eo/tutorial/Lesson3/SecondBitEA.cpp mode change 100644 => 100755 deprecated/eo/tutorial/Lesson3/SecondRealEA.cpp mode change 100644 => 100755 deprecated/eo/tutorial/Lesson3/binary_value.h mode change 100644 => 100755 deprecated/eo/tutorial/Lesson3/exercise3.1.cpp mode change 100644 => 100755 deprecated/eo/tutorial/Lesson3/real_value.h mode change 100644 => 100755 deprecated/eo/tutorial/Lesson4/BitEA.cpp mode change 100644 => 100755 deprecated/eo/tutorial/Lesson4/CMakeLists.txt mode change 100644 => 100755 deprecated/eo/tutorial/Lesson4/ESEA.cpp mode change 100644 => 100755 deprecated/eo/tutorial/Lesson4/ESEA.param mode change 100644 => 100755 deprecated/eo/tutorial/Lesson4/Makefile.simple mode change 100644 => 100755 deprecated/eo/tutorial/Lesson4/RealEA.cpp mode change 100644 => 100755 deprecated/eo/tutorial/Lesson4/RealEA.param mode change 100644 => 100755 deprecated/eo/tutorial/Lesson4/binary_value.h mode change 100644 => 100755 deprecated/eo/tutorial/Lesson4/real_value.h mode change 100644 => 100755 deprecated/eo/tutorial/Lesson5/CMakeLists.txt mode change 100644 => 100755 deprecated/eo/tutorial/Lesson5/Makefile.simple mode change 100644 => 100755 deprecated/eo/tutorial/Lesson5/OneMaxEA.cpp mode change 100644 => 100755 deprecated/eo/tutorial/Lesson5/OneMaxLibEA.cpp mode change 100644 => 100755 deprecated/eo/tutorial/Lesson5/eoOneMax.h mode change 100644 => 100755 deprecated/eo/tutorial/Lesson5/eoOneMaxEvalFunc.h mode change 100644 => 100755 deprecated/eo/tutorial/Lesson5/eoOneMaxInit.h mode change 100644 => 100755 deprecated/eo/tutorial/Lesson5/eoOneMaxMutation.h mode change 100644 => 100755 deprecated/eo/tutorial/Lesson5/eoOneMaxQuadCrossover.h mode change 100644 => 100755 deprecated/eo/tutorial/Lesson5/make_OneMax.cpp mode change 100644 => 100755 deprecated/eo/tutorial/Lesson5/make_genotype_OneMax.h mode change 100644 => 100755 deprecated/eo/tutorial/Lesson5/make_op_OneMax.h mode change 100644 => 100755 deprecated/eo/tutorial/Lesson6/BinaryPSO.cpp mode change 100644 => 100755 deprecated/eo/tutorial/Lesson6/CMakeLists.txt mode change 100644 => 100755 deprecated/eo/tutorial/Lesson6/Makefile.simple mode change 100644 => 100755 deprecated/eo/tutorial/Lesson6/RealPSO.cpp mode change 100644 => 100755 deprecated/eo/tutorial/Makefile.simple mode change 100644 => 100755 deprecated/eo/tutorial/README mode change 100644 => 100755 deprecated/eo/tutorial/Templates/ChangeLog mode change 100644 => 100755 deprecated/eo/tutorial/Templates/EO.tpl mode change 100644 => 100755 deprecated/eo/tutorial/Templates/Makefile.am.src-tmpl mode change 100644 => 100755 deprecated/eo/tutorial/Templates/Makefile.am.top-tmpl mode change 100644 => 100755 deprecated/eo/tutorial/Templates/MyStructEA.cpp mode change 100644 => 100755 deprecated/eo/tutorial/Templates/MyStructLibEA.cpp mode change 100644 => 100755 deprecated/eo/tutorial/Templates/MyStructSEA.cpp mode change 100644 => 100755 deprecated/eo/tutorial/Templates/README mode change 100644 => 100755 deprecated/eo/tutorial/Templates/README.manual mode change 100644 => 100755 deprecated/eo/tutorial/Templates/README.tmpl mode change 100644 => 100755 deprecated/eo/tutorial/Templates/binCrossover.tmpl mode change 100644 => 100755 deprecated/eo/tutorial/Templates/configure.ac.tmpl mode change 100644 => 100755 deprecated/eo/tutorial/Templates/continue.tmpl mode change 100644 => 100755 deprecated/eo/tutorial/Templates/eoMyStruct.tmpl mode change 100644 => 100755 deprecated/eo/tutorial/Templates/evalFunc.tmpl mode change 100644 => 100755 deprecated/eo/tutorial/Templates/init.tmpl mode change 100644 => 100755 deprecated/eo/tutorial/Templates/lessOffspringExternalSelectorGenOp.tmpl mode change 100644 => 100755 deprecated/eo/tutorial/Templates/lessOffspringSameSelectorGenOp.tmpl mode change 100644 => 100755 deprecated/eo/tutorial/Templates/make_MyStruct.cpp mode change 100644 => 100755 deprecated/eo/tutorial/Templates/make_genotype_MyStruct.h mode change 100644 => 100755 deprecated/eo/tutorial/Templates/make_op_MyStruct.h mode change 100644 => 100755 deprecated/eo/tutorial/Templates/moreOffspringGenOp.tmpl mode change 100644 => 100755 deprecated/eo/tutorial/Templates/mutation.tmpl mode change 100644 => 100755 deprecated/eo/tutorial/Templates/quadCrossover.tmpl mode change 100644 => 100755 deprecated/eo/tutorial/Templates/stat.tmpl mode change 100644 => 100755 deprecated/eo/tutorial/html/BitEA.html mode change 100644 => 100755 deprecated/eo/tutorial/html/EA_tutorial.jpg mode change 100644 => 100755 deprecated/eo/tutorial/html/FirstBitEA.html mode change 100644 => 100755 deprecated/eo/tutorial/html/FirstBitGA.html mode change 100644 => 100755 deprecated/eo/tutorial/html/FirstRealEA.html mode change 100644 => 100755 deprecated/eo/tutorial/html/FirstRealGA.html mode change 100644 => 100755 deprecated/eo/tutorial/html/Firstmerge.html mode change 100644 => 100755 deprecated/eo/tutorial/html/NoWay.html mode change 100644 => 100755 deprecated/eo/tutorial/html/OneMaxEA.html mode change 100644 => 100755 deprecated/eo/tutorial/html/SecondBitEA.html mode change 100644 => 100755 deprecated/eo/tutorial/html/SecondRealEA.html mode change 100644 => 100755 deprecated/eo/tutorial/html/beige009.jpg mode change 100644 => 100755 deprecated/eo/tutorial/html/binary_value.html mode change 100644 => 100755 deprecated/eo/tutorial/html/debut.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoBottomUp.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoCheckPoint.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoEngine.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoEval.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoGeneration.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoInit.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoIo.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoLesson1.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoLesson2.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoLesson3.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoLesson4.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoLesson5.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoOneMax.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoOneMaxEvalFunc.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoOneMaxInit.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoOneMaxMutation.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoOneMaxQuadCrossover.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoOneMax_complete.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoOperators.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoOutput.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoProgramming.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoRepresentation.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoSGA.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoSelect.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoStop.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoTopDown.html mode change 100644 => 100755 deprecated/eo/tutorial/html/eoTutorial.html mode change 100644 => 100755 deprecated/eo/tutorial/html/make_genotype_OneMax.html mode change 100644 => 100755 deprecated/eo/tutorial/html/make_op_OneMax.html mode change 100644 => 100755 deprecated/eo/tutorial/html/real_value.html mode change 100644 => 100755 deprecated/eo/tutorial/index.html create mode 100755 doc/CMakeLists.txt rename {edo/doc => doc/edo}/CMakeLists.txt (96%) mode change 100644 => 100755 rename {edo/doc => doc/edo}/edo.doxyfile.cmake (100%) mode change 100644 => 100755 rename {edo/doc => doc/edo}/edo_design.svg (100%) mode change 100644 => 100755 rename {edo/doc => doc/edo}/edo_distrib.svg (100%) mode change 100644 => 100755 rename {edo/doc => doc/edo}/index.h (100%) mode change 100644 => 100755 rename {eo/doc => doc/eo}/CMakeLists.txt (97%) mode change 100644 => 100755 rename {eo/doc => doc/eo}/ChangeLog (100%) mode change 100644 => 100755 rename {eo/doc => doc/eo}/EO_EA2001.pdf (100%) mode change 100644 => 100755 rename {eo/doc => doc/eo}/LeCreusot.pdf (100%) mode change 100644 => 100755 rename {eo/doc => doc/eo}/eo.doxyfile.cmake (100%) mode change 100644 => 100755 rename {smp/doc => doc/eo}/index.h (100%) mode change 100644 => 100755 rename {eo/doc => doc/eo}/sflogo-hammer1.jpg (100%) mode change 100644 => 100755 rename {mo/doc => doc/mo}/CMakeLists.txt (96%) rename {mo/doc => doc/mo}/index.h (100%) mode change 100644 => 100755 rename {mo/doc => doc/mo}/mo.doxyfile.cmake (100%) mode change 100644 => 100755 rename {moeo/doc => doc/moeo}/CMakeLists.txt (96%) mode change 100644 => 100755 rename {moeo/doc => doc/moeo}/index.h (100%) mode change 100644 => 100755 rename {moeo/doc => doc/moeo}/moeo.doxyfile.cmake (100%) mode change 100644 => 100755 rename {smp/doc => doc/smp}/CMakeLists.txt (96%) mode change 100644 => 100755 create mode 100755 doc/smp/index.h rename {smp/doc => doc/smp}/smp.doxyfile.cmake (100%) mode change 100644 => 100755 delete mode 100644 edo/CMakeLists.txt delete mode 100644 edo/src/CMakeLists.txt delete mode 100644 edo/src/edo delete mode 100644 edo/test/t-binomialmulti.cpp delete mode 100644 eo/.gitignore delete mode 100644 eo/CMakeLists.txt delete mode 100644 eo/cmake/modules/FindEO.cmake delete mode 100644 eo/contrib/mathsym/test_data.txt delete mode 100644 eo/doc/index.h delete mode 100644 eo/doc/mainpage.html delete mode 100644 eo/doc/publications.html delete mode 100644 eo/src/CMakeLists.txt delete mode 100644 eo/src/eo delete mode 100644 eo/src/other/external_eo delete mode 100644 eo/tutorial/html/BitEA.html delete mode 100644 eo/tutorial/html/FirstBitEA.html delete mode 100644 eo/tutorial/html/FirstBitGA.html delete mode 100644 eo/tutorial/html/FirstRealEA.html delete mode 100644 eo/tutorial/html/FirstRealGA.html delete mode 100644 eo/tutorial/html/Firstmerge.html delete mode 100644 eo/tutorial/html/NoWay.html delete mode 100644 eo/tutorial/html/OneMaxEA.html delete mode 100644 eo/tutorial/html/SecondBitEA.html delete mode 100644 eo/tutorial/html/SecondRealEA.html delete mode 100644 eo/tutorial/html/binary_value.html delete mode 100644 eo/tutorial/html/debut.html delete mode 100644 eo/tutorial/html/eoBottomUp.html delete mode 100644 eo/tutorial/html/eoCheckPoint.html delete mode 100644 eo/tutorial/html/eoEngine.html delete mode 100644 eo/tutorial/html/eoEval.html delete mode 100644 eo/tutorial/html/eoGeneration.html delete mode 100644 eo/tutorial/html/eoInit.html delete mode 100644 eo/tutorial/html/eoIo.html delete mode 100644 eo/tutorial/html/eoLesson1.html delete mode 100644 eo/tutorial/html/eoLesson2.html delete mode 100644 eo/tutorial/html/eoLesson3.html delete mode 100644 eo/tutorial/html/eoLesson4.html delete mode 100644 eo/tutorial/html/eoLesson5.html delete mode 100644 eo/tutorial/html/eoOneMax.html delete mode 100644 eo/tutorial/html/eoOneMaxEvalFunc.html delete mode 100644 eo/tutorial/html/eoOneMaxInit.html delete mode 100644 eo/tutorial/html/eoOneMaxMutation.html delete mode 100644 eo/tutorial/html/eoOneMaxQuadCrossover.html delete mode 100644 eo/tutorial/html/eoOneMax_complete.html delete mode 100644 eo/tutorial/html/eoOperators.html delete mode 100644 eo/tutorial/html/eoOutput.html delete mode 100644 eo/tutorial/html/eoProgramming.html delete mode 100644 eo/tutorial/html/eoRepresentation.html delete mode 100644 eo/tutorial/html/eoSGA.html delete mode 100644 eo/tutorial/html/eoSelect.html delete mode 100644 eo/tutorial/html/eoStop.html delete mode 100644 eo/tutorial/html/eoTopDown.html delete mode 100644 eo/tutorial/html/eoTutorial.html delete mode 100644 eo/tutorial/html/make_genotype_OneMax.html delete mode 100644 eo/tutorial/html/make_op_OneMax.html delete mode 100644 eo/tutorial/html/real_value.html delete mode 100644 eo/tutorial/index.html delete mode 100644 eompi/CMakeLists.txt delete mode 100644 eoserial/CMakeLists.txt delete mode 100644 mo/CMakeLists.txt delete mode 100755 mo/src/mo.h delete mode 100644 moeo/CMakeLists.txt delete mode 100644 moeo/src/moeo delete mode 100644 smp/CMakeLists.txt create mode 100755 src/CMakeLists.txt rename {edo => src/edo}/AUTHORS (100%) mode change 100644 => 100755 create mode 100755 src/edo/CMakeLists.txt rename {edo => src/edo}/COPYING (100%) mode change 100644 => 100755 rename {edo => src/edo}/NEWS (100%) mode change 100644 => 100755 rename {edo => src/edo}/Packaging.cmake (100%) mode change 100644 => 100755 rename {edo => src/edo}/README (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/TODO (100%) mode change 100644 => 100755 rename {edo => src/edo}/distclean (100%) create mode 100755 src/edo/edo.h rename {edo => src/edo}/edo.pc (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoAlgo.h (98%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoAlgoAdaptive.h (99%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoAlgoStateless.h (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoBinomial.h (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoBinomialMulti.h (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoBounder.h (98%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoBounderBound.h (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoBounderNo.h (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoBounderRng.h (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoBounderUniform.h (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoContinue.h (96%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoDistrib.h (98%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoEDASA.h (98%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoEstimator.h (96%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoEstimatorAdaptive.h (96%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoEstimatorBinomial.h (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoEstimatorBinomialMulti.h (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoEstimatorNormalAdaptive.h (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoEstimatorNormalMono.h (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoEstimatorNormalMulti.h (68%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoEstimatorUniform.h (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoModifier.h (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoModifierDispersion.h (96%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoModifierMass.h (98%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoNormalAdaptive.h (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoNormalMono.h (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoNormalMonoCenter.h (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoNormalMulti.h (97%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoNormalMultiCenter.h (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoRepairer.h (98%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoRepairerApply.h (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoRepairerDispatcher.h (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoRepairerModulo.h (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoRepairerRound.h (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoSampler.h (98%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoSamplerBinomial.h (98%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoSamplerBinomialMulti.h (98%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoSamplerNormalAdaptive.h (99%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoSamplerNormalMono.h (98%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoSamplerNormalMulti.h (99%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoSamplerUniform.h (98%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoTransform.h (99%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoUniform.h (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoUniformCenter.h (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/edoVectorBounds.h (100%) mode change 100644 => 100755 rename {edo => src/edo}/install.cmake-dist (100%) mode change 100644 => 100755 rename {edo => src/edo}/package_deb (100%) rename {edo => src/edo}/package_rpm (100%) rename {edo/src => src/edo}/utils/CMakeLists.txt (89%) mode change 100644 => 100755 rename {edo/src => src/edo}/utils/edoCheckPoint.h (97%) mode change 100644 => 100755 rename {edo/src => src/edo}/utils/edoCholesky.h (98%) mode change 100644 => 100755 rename {edo/src => src/edo}/utils/edoFileSnapshot.cpp (96%) mode change 100644 => 100755 rename {edo/src => src/edo}/utils/edoFileSnapshot.h (98%) mode change 100644 => 100755 rename {edo/src => src/edo}/utils/edoHyperVolume.h (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/utils/edoPopStat.h (98%) mode change 100644 => 100755 rename {edo/src => src/edo}/utils/edoStat.h (98%) mode change 100644 => 100755 rename {edo/src => src/edo}/utils/edoStatNormalMono.h (98%) mode change 100644 => 100755 rename {edo/src => src/edo}/utils/edoStatNormalMulti.h (100%) mode change 100644 => 100755 rename {edo/src => src/edo}/utils/edoStatUniform.h (98%) mode change 100644 => 100755 rename {eo => src/eo}/BuildConfig.cmake (100%) mode change 100644 => 100755 rename {eo => src/eo}/CHANGELOG (100%) mode change 100644 => 100755 create mode 100755 src/eo/CMakeLists.txt rename {eo => src/eo}/COPYING (100%) mode change 100644 => 100755 rename {eo => src/eo}/ConfigureChecks.cmake (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/EO.h (98%) mode change 100644 => 100755 rename {eo => src/eo}/INSTALL (100%) mode change 100644 => 100755 rename {eo => src/eo}/LICENSE (100%) mode change 100644 => 100755 rename {eo => src/eo}/NEWS (100%) mode change 100644 => 100755 rename {eo => src/eo}/PKGBUILD.cmake (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/PO.h (99%) mode change 100644 => 100755 rename {eo => src/eo}/README (100%) mode change 100644 => 100755 rename {eo => src/eo}/THANKS (100%) mode change 100644 => 100755 rename {eo => src/eo}/ToDo (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/apply.h (97%) mode change 100644 => 100755 rename {eo => src/eo}/config.h.cmake (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/MGE/ChangeLog (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/MGE/VirusOp.h (99%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/MGE/eoInitVirus.h (95%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/MGE/eoVirus.h (99%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/abi_prefix.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/abi_suffix.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/auto_link.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/compiler/borland.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/compiler/comeau.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/compiler/common_edg.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/compiler/compaq_cxx.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/compiler/digitalmars.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/compiler/gcc.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/compiler/greenhills.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/compiler/hp_acc.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/compiler/intel.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/compiler/kai.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/compiler/metrowerks.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/compiler/mpw.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/compiler/sgi_mipspro.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/compiler/sunpro_cc.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/compiler/vacpp.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/compiler/visualc.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/platform/aix.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/platform/amigaos.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/platform/beos.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/platform/bsd.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/platform/cygwin.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/platform/hpux.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/platform/irix.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/platform/linux.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/platform/macos.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/platform/solaris.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/platform/win32.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/posix_features.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/requires_threads.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/select_compiler_config.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/select_platform_config.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/select_stdlib_config.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/stdlib/dinkumware.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/stdlib/libcomo.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/stdlib/libstdcpp3.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/stdlib/modena.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/stdlib/msl.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/stdlib/roguewave.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/stdlib/sgi.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/stdlib/stlport.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/stdlib/vacpp.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/suffix.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/config/user.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/limits.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/arith.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/arith2.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/arith3.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/checking.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/compare.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/compare/certain.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/compare/explicit.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/compare/lexicographic.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/compare/possible.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/compare/set.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/compare/tribool.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/constants.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/detail/bcc_rounding_control.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/detail/bugs.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/detail/c99_rounding_control.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/detail/c99sub_rounding_control.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/detail/division.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/detail/interval_prototype.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/detail/msvc_rounding_control.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/detail/ppc_rounding_control.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/detail/sparc_rounding_control.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/detail/test_input.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/detail/x86_rounding_control.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/detail/x86gcc_rounding_control.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/ext/integer.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/ext/x86_fast_rounding_control.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/hw_rounding.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/interval.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/io.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/limits.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/policies.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/rounded_arith.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/rounded_transc.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/rounding.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/transc.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/boost/numeric/interval/utility.hpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/eo-pso-22062007.bz2 (100%) rename {eo => src/eo}/contrib/eoAged.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/eoDrawable.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/COPYING (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/GNUmakefile (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/README (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/README.TCC (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/eo_interface/eoSym.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/eo_interface/eoSymCrossover.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/eo_interface/eoSymCrossover.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/eo_interface/eoSymEval.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/eo_interface/eoSymInit.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/eo_interface/eoSymLambdaMutate.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/eo_interface/eoSymLambdaMutate.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/eo_interface/eoSymMutate.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/eo_interface/eoSymMutate.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/eval/BoundsCheck.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/eval/BoundsCheck.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/eval/Interval.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/eval/MultiFuncs.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/eval/MultiFunction.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/eval/MultiFunction.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/eval/c_compile.c (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/eval/sym_compile.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/eval/sym_compile.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/fun/FunDef.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/fun/FunDef.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/fun/SymOps.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/fun/SymOps.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/fun/sym_operations.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/fun/util.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/gen/LanguageTable.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/gen/LanguageTable.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/gen/NodeSelector.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/gen/NodeSelector.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/gen/TreeBuilder.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/gen/TreeBuilder.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/header (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/regression/Dataset.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/regression/Dataset.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/regression/ErrorMeasure.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/regression/ErrorMeasure.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/regression/Scaling.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/regression/Scaling.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/regression/TargetInfo.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/regression/TargetInfo.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/regression/stats.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/shared_ptr.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/sym/README.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/sym/Sym.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/sym/Sym.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/sym/SymImpl.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/sym/SymImpl.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/sym/token.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/symreg.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/tcc.tar.gz (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/tcc_patched.tar.gz (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/test/test_compile.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/test/test_diff.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/test/test_lambda.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/test/test_mf.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/test/test_simplify.cpp (100%) mode change 100644 => 100755 rename {eo => src/eo}/contrib/mathsym/test/testeo.cpp (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/do/Readme (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/do/make_algo_easea.h (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/do/make_algo_scalar.h (94%) mode change 100644 => 100755 rename {eo/src => src/eo}/do/make_checkpoint.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/do/make_checkpoint_FDC.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/do/make_checkpoint_assembled.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/do/make_continue.h (95%) mode change 100644 => 100755 rename {eo/src => src/eo}/do/make_general_replacement.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/do/make_pop.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/do/make_run.h (98%) mode change 100644 => 100755 create mode 100755 src/eo/eo.h rename {eo/src => src/eo}/eoAlgo.h (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoBinaryFlight.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoBitParticle.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoBreed.h (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoCellularEasyEA.h (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoCloneOps.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoCombinedContinue.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoCombinedInit.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoConstrictedVariableWeightVelocity.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoConstrictedVelocity.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoContinue.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoCounter.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoCtrlCContinue.cpp (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoCtrlCContinue.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoDetSelect.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoDetTournamentSelect.h (95%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoDistribUpdater.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoDistribution.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoDualFitness.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoEDA.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoEasyEA.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoEasyPSO.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoEvalContinue.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoEvalCounterThrowException.h (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoEvalDump.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoEvalFunc.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoEvalFuncCounter.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoEvalFuncCounterBounder.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoEvalFuncPtr.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoEvalKeepBest.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoEvalTimeThrowException.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoEvalUserTimeThrowException.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoExceptions.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoExtendedVelocity.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoFactory.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoFitContinue.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoFitnessScalingSelect.h (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoFixedInertiaWeightedVelocity.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoFlOrBinOp.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoFlOrMonOp.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoFlOrQuadOp.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoFlight.h (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoFunctor.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoFunctorStore.cpp (82%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoFunctorStore.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoG3Replacement.h (95%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoGaussRealWeightUp.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoGenContinue.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoGenOp.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoGeneralBreeder.h (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoInit.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoInitializer.h (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoInt.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoIntegerVelocity.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoInvalidateOps.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoInvertedContinue.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoLinearDecreasingWeightUp.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoLinearFitScaling.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoLinearTopology.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoMGGReplacement.h (95%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoMerge.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoMergeReduce.h (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoNDSorting.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoNeighborhood.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoObject.h (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoOneToOneBreeder.h (94%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoOp.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoOpContainer.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoOpSelMason.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoOrderXover.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoPSO.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoParticleBestInit.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoParticleFullInitializer.h (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoPerf2Worth.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoPeriodicContinue.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoPersistent.cpp (89%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoPersistent.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoPop.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoPopEvalFunc.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoPopulator.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoPrintable.cpp (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoPrintable.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoPropGAGenOp.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoProportionalCombinedOp.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoProportionalSelect.h (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoRandomRealWeightUp.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoRandomSelect.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoRankMuSelect.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoRanking.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoRankingSelect.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoRealBoundModifier.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoRealParticle.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoReduce.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoReduceMerge.h (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoReduceMergeReduce.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoReduceSplit.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoReplacement.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoRingTopology.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoSGA.h (94%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoSGAGenOp.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoSGATransform.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoSIGContinue.cpp (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoSIGContinue.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoSTLFunctor.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoScalarFitness.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoScalarFitnessAssembled.cpp (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoScalarFitnessAssembled.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoSecondsElapsedContinue.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoSelect.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoSelectFactory.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoSelectFromWorth.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoSelectMany.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoSelectNumber.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoSelectOne.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoSelectPerc.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoSequentialSelect.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoSharing.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoSharingSelect.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoShiftMutation.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoSigBinaryFlight.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoSimpleEDA.h (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoSocialNeighborhood.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoStandardFlight.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoStandardVelocity.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoStarTopology.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoSteadyFitContinue.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoStochTournamentSelect.h (95%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoStochasticUniversalSelect.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoSurviveAndDie.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoSwapMutation.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoSyncEasyPSO.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoTimeContinue.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoTopology.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoTransform.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoTruncSelect.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoTruncatedSelectMany.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoTruncatedSelectOne.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoTwoOptMutation.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoVariableInertiaWeightedVelocity.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoVariableLengthCrossover.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoVariableLengthMutation.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoVector.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoVectorParticle.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoVelocity.h (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoVelocityInit.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/eoWeightUpdater.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/es.h (79%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/CMAParams.cpp (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/CMAParams.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/CMAState.cpp (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/CMAState.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/CMakeLists.txt (94%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/ChangeLog (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/eig.cpp (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/eig.h (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/eoCMABreed.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/eoCMAInit.h (95%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/eoEsChromInit.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/eoEsFull.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/eoEsGlobalXover.h (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/eoEsMutate.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/eoEsMutationInit.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/eoEsSimple.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/eoEsStandardXover.h (95%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/eoEsStdev.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/eoNormalMutation.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/eoReal.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/eoRealAtomXover.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/eoRealInitBounded.h (95%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/eoRealOp.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/eoSBXcross.h (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/make_algo_scalar_es.cpp (94%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/make_algo_scalar_real.cpp (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/make_checkpoint_es.cpp (93%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/make_checkpoint_real.cpp (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/make_continue_es.cpp (93%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/make_continue_real.cpp (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/make_es.h (95%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/make_genotype_es.cpp (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/make_genotype_real.cpp (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/make_genotype_real.h (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/make_op.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/make_op_es.cpp (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/make_op_es.h (94%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/make_op_real.cpp (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/make_op_real.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/make_pop_es.cpp (93%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/make_pop_real.cpp (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/make_real.h (93%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/make_run_es.cpp (91%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/make_run_real.cpp (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/es/matrices.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/ga.h (92%) mode change 100644 => 100755 rename {eo/src => src/eo}/ga/CMakeLists.txt (92%) mode change 100644 => 100755 rename {eo/src => src/eo}/ga/ChangeLog (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/ga/Readme (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/ga/eoBit.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/ga/eoBitOp.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/ga/eoBitOpFactory.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/ga/eoBoolFlip.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/ga/eoPBILAdditive.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/ga/eoPBILDistrib.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/ga/eoPBILOrg.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/ga/make_PBILdistrib.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/ga/make_PBILupdate.h (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/ga/make_algo_scalar_ga.cpp (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/ga/make_checkpoint_ga.cpp (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/ga/make_continue_ga.cpp (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/ga/make_ga.h (94%) mode change 100644 => 100755 rename {eo/src => src/eo}/ga/make_genotype_ga.cpp (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/ga/make_genotype_ga.h (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/ga/make_op.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/ga/make_op_ga.cpp (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/ga/make_pop_ga.cpp (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/ga/make_run_ga.cpp (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/gp/eoParseTree.h (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/gp/eoParseTreeDepthInit.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/gp/eoParseTreeOp.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/gp/eoStParseTreeDepthInit.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/gp/eoStParseTreeOp.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/gp/node_pool.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/gp/parse_tree.h (100%) mode change 100644 => 100755 rename {eo => src/eo}/install_symlink.py.cmake (100%) rename {eo/src => src/eo}/other/eoExternalEO.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/other/eoExternalOpFunctions.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/other/eoString.h (99%) mode change 100644 => 100755 create mode 100755 src/eo/other/external_eo rename {eo => src/eo}/pc.cmake (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/AUTHORS (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/BUILDING (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/CMakeLists.txt (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/COPYING (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/Makefile (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/Makefile.rpm (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/NEWS (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/PyEO.cpp (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/PyEO.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/PyEO/__init__.py (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/README (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/abstract1.cpp (91%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/algos.cpp (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/breeders.cpp (95%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/continuators.cpp (93%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/def_abstract_functor.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/geneticOps.cpp (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/mergers.cpp (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/monitors.cpp (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/perf2worth.cpp (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/pickle.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/random_numbers.cpp (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/reduce.cpp (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/replacement.cpp (93%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/selectOne.cpp (94%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/selectors.cpp (91%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/statistics.cpp (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/test/maxone.py (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/test/run_tests.sh (100%) rename {eo/src => src/eo}/pyeo/test/test_breeders.py (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/test/test_mo.py (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/test/test_pickling.py (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/test/test_populator.py (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/test/test_reduce.py (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/test/test_selectone.py (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/test/test_sga.py (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/test/test_transform.py (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/valueParam.cpp (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/pyeo/valueParam.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/CMakeLists.txt (89%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/ChangeLog (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/checkpointing (66%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/compatibility.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoAssembledFitnessStat.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoCheckPoint.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoData.cpp (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoData.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoDistance.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoFDCStat.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoFeasibleRatioStat.h (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoFileMonitor.cpp (94%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoFileMonitor.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoFileSnapshot.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoFuncPtrStat.h (96%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoGenCounter.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoGnuplot.cpp (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoGnuplot.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoGnuplot1DMonitor.cpp (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoGnuplot1DMonitor.h (95%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoGnuplot1DSnapshot.cpp (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoGnuplot1DSnapshot.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoHowMany.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoIntBounds.cpp (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoIntBounds.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoLogger.cpp (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoLogger.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoMOFitnessStat.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoMonitor.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoOStreamMonitor.cpp (92%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoOStreamMonitor.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoParallel.cpp (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoParallel.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoParam.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoParser.cpp (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoParser.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoPopStat.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoRNG.cpp (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoRNG.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoRealBounds.cpp (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoRealBounds.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoRealVectorBounds.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoRndGenerators.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoScalarFitnessStat.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoSignal.cpp (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoSignal.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoStat.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoState.cpp (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoState.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoStdoutMonitor.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoTimeCounter.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoTimedMonitor.h (97%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoTimer.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoUniformInit.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoUpdatable.h (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoUpdater.cpp (93%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/eoUpdater.h (98%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/make_help.cpp (99%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/pipecom.cpp (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/pipecom.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/rnd_generators.h (100%) mode change 100644 => 100755 rename {eo/src => src/eo}/utils/selectors.h (99%) mode change 100644 => 100755 rename {eompi/src => src/eompi}/CMakeLists.txt (69%) mode change 100644 => 100755 rename {eompi/src => src/eompi}/eoMpi.cpp (100%) mode change 100644 => 100755 rename {eompi/src => src/eompi}/eoMpi.h (99%) mode change 100644 => 100755 rename {eompi/src => src/eompi}/eoMpiAssignmentAlgorithm.cpp (100%) mode change 100644 => 100755 rename {eompi/src => src/eompi}/eoMpiAssignmentAlgorithm.h (100%) mode change 100644 => 100755 rename {eompi/src => src/eompi}/eoMpiNode.cpp (100%) mode change 100644 => 100755 rename {eompi/src => src/eompi}/eoMpiNode.h (100%) mode change 100644 => 100755 rename {eompi/src => src/eompi}/eoMultiStart.h (99%) mode change 100644 => 100755 rename {eompi/src => src/eompi}/eoParallelApply.h (99%) mode change 100644 => 100755 rename {eompi/src => src/eompi}/eoTerminateJob.h (100%) mode change 100644 => 100755 create mode 100755 src/eompi/eompi.h rename {eompi/src => src/eompi}/implMpi.cpp (100%) mode change 100644 => 100755 rename {eompi/src => src/eompi}/implMpi.h (99%) mode change 100644 => 100755 rename {eoserial/src => src/eoserial}/CMakeLists.txt (74%) mode change 100644 => 100755 rename {eoserial/src => src/eoserial}/Entity.h (100%) mode change 100644 => 100755 rename {eoserial/src => src/eoserial}/Parser.cpp (100%) mode change 100644 => 100755 rename {eoserial/src => src/eoserial}/Parser.h (100%) mode change 100644 => 100755 rename {eoserial/src => src/eoserial}/SerialArray.cpp (100%) mode change 100644 => 100755 rename {eoserial/src => src/eoserial}/SerialArray.h (100%) mode change 100644 => 100755 rename {eoserial/src => src/eoserial}/SerialObject.cpp (100%) mode change 100644 => 100755 rename {eoserial/src => src/eoserial}/SerialObject.h (100%) mode change 100644 => 100755 rename {eoserial/src => src/eoserial}/SerialString.cpp (100%) mode change 100644 => 100755 rename {eoserial/src => src/eoserial}/SerialString.h (100%) mode change 100644 => 100755 rename {eoserial/src => src/eoserial}/Serializable.h (100%) mode change 100644 => 100755 rename {eoserial/src => src/eoserial}/Traits.h (100%) mode change 100644 => 100755 rename {eoserial/src => src/eoserial}/Utils.h (100%) mode change 100644 => 100755 rename {eoserial/src => src/eoserial}/eoSerial.h (100%) mode change 100644 => 100755 create mode 100755 src/eoserial/eoserial.h rename {eoserial/src => src/eoserial}/json_example (100%) mode change 100644 => 100755 rename {mo/src => src/mo}/CMakeLists.txt (76%) mode change 100644 => 100755 rename {mo/src => src/mo}/acceptCrit/moAcceptanceCriterion.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/acceptCrit/moAlwaysAcceptCrit.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/acceptCrit/moBetterAcceptCrit.h (95%) mode change 100644 => 100755 rename {mo/src => src/mo}/algo/eoDummyMonOp.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/algo/moDummyLS.h (95%) mode change 100644 => 100755 rename {mo/src => src/mo}/algo/moFirstImprHC.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/algo/moILS.h (92%) mode change 100644 => 100755 rename {mo/src => src/mo}/algo/moLocalSearch.h (95%) mode change 100644 => 100755 rename {mo/src => src/mo}/algo/moMetropolisHasting.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/algo/moNeutralHC.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/algo/moRandomBestHC.h (95%) mode change 100644 => 100755 rename {mo/src => src/mo}/algo/moRandomNeutralWalk.h (95%) mode change 100644 => 100755 rename {mo/src => src/mo}/algo/moRandomSearch.h (94%) mode change 100644 => 100755 rename {mo/src => src/mo}/algo/moRandomWalk.h (94%) mode change 100644 => 100755 rename {mo/src => src/mo}/algo/moSA.h (94%) mode change 100644 => 100755 rename {mo/src => src/mo}/algo/moSimpleHC.h (95%) mode change 100644 => 100755 rename {mo/src => src/mo}/algo/moTS.h (92%) mode change 100644 => 100755 rename {mo/src => src/mo}/algo/moVNS.h (89%) mode change 100644 => 100755 rename {mo/src => src/mo}/comparator/moComparator.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/comparator/moEqualNeighborComparator.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/comparator/moEqualSolComparator.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/comparator/moEqualSolNeighborComparator.h (95%) mode change 100644 => 100755 rename {mo/src => src/mo}/comparator/moNeighborComparator.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/comparator/moSolComparator.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/comparator/moSolNeighborComparator.h (95%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moAverageFitnessNeighborStat.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moBestFitnessStat.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moBestNoImproveContinuator.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moBestSoFarStat.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moBooleanStat.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moCheckpoint.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moCombinedContinuator.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moContinuator.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moCounterMonitorSaver.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moCounterStat.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moDistanceStat.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moEvalsContinuator.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moFitContinuator.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moFitnessStat.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moFullEvalContinuator.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moIterContinuator.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moMaxNeighborStat.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moMinNeighborStat.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moMinusOneCounterStat.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moNbInfNeighborStat.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moNbSupNeighborStat.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moNeighborBestStat.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moNeighborEvalContinuator.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moNeighborFitnessStat.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moNeighborhoodStat.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moNeutralDegreeNeighborStat.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moSecondMomentNeighborStat.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moSizeNeighborStat.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moSolutionStat.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moStat.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moStatBase.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moStatFromStat.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moStdFitnessNeighborStat.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moTimeContinuator.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moTrueContinuator.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moUnsignedStat.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moUpdater.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moValueParamContinuator.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moValueStat.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/continuator/moVectorMonitor.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/coolingSchedule/moCoolingSchedule.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/coolingSchedule/moDynSpanCoolingSchedule.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/coolingSchedule/moSimpleCoolingSchedule.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/eval/moDoubleIncrEvaluation.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/eval/moDoubleIncrNeighborhoodEval.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/eval/moDummyEval.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/eval/moEval.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/eval/moEvalCounter.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/eval/moFullEvalByCopy.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/eval/moFullEvalByModif.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/eval/moNeighborhoodEvaluation.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/explorer/moDummyExplorer.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/explorer/moFirstImprHCexplorer.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/explorer/moILSexplorer.h (93%) mode change 100644 => 100755 rename {mo/src => src/mo}/explorer/moMetropolisHastingExplorer.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/explorer/moNeighborhoodExplorer.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/explorer/moNeutralHCexplorer.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/explorer/moRandomBestHCexplorer.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/explorer/moRandomNeutralWalkExplorer.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/explorer/moRandomSearchExplorer.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/explorer/moRandomWalkExplorer.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/explorer/moSAexplorer.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/explorer/moSimpleHCexplorer.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/explorer/moTSexplorer.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/explorer/moVNSexplorer.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/memory/moAspiration.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/memory/moBestImprAspiration.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/memory/moCountMoveMemory.h (99%) mode change 100644 => 100755 rename {mo/src => src/mo}/memory/moDiversification.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/memory/moDummyDiversification.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/memory/moDummyIntensification.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/memory/moDummyMemory.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/memory/moIndexedVectorTabuList.h (99%) mode change 100644 => 100755 rename {mo/src => src/mo}/memory/moIntensification.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/memory/moMemory.h (100%) mode change 100644 => 100755 rename {mo/src => src/mo}/memory/moMonOpDiversification.h (95%) mode change 100644 => 100755 rename {mo/src => src/mo}/memory/moNeighborVectorTabuList.h (99%) mode change 100644 => 100755 rename {mo/src => src/mo}/memory/moRndIndexedVectorTabuList.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/memory/moSolVectorTabuList.h (99%) mode change 100644 => 100755 rename {mo/src => src/mo}/memory/moTabuList.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/mo (98%) create mode 100755 src/mo/mo.h rename {mo/src => src/mo}/neighborhood/moBackableNeighbor.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/neighborhood/moBackwardVectorVNSelection.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/neighborhood/moDummyNeighbor.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/neighborhood/moDummyNeighborhood.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/neighborhood/moEvaluatedNeighborhood.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/neighborhood/moForwardVectorVNSelection.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/neighborhood/moIndexNeighbor.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/neighborhood/moIndexNeighborhood.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/neighborhood/moNeighbor.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/neighborhood/moNeighborhood.h (99%) mode change 100644 => 100755 rename {mo/src => src/mo}/neighborhood/moOrderNeighborhood.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/neighborhood/moRndNeighborhood.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/neighborhood/moRndVectorVNSelection.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/neighborhood/moRndWithReplNeighborhood.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/neighborhood/moRndWithoutReplNeighborhood.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/neighborhood/moVariableNeighborhoodSelection.h (99%) mode change 100644 => 100755 rename {mo/src => src/mo}/neighborhood/moVectorVNSelection.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/perturb/moLocalSearchInit.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/perturb/moMonOpPerturb.h (95%) mode change 100644 => 100755 rename {mo/src => src/mo}/perturb/moNeighborhoodPerturb.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/perturb/moPerturbation.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/perturb/moRestartPerturb.h (95%) mode change 100644 => 100755 rename {mo/src => src/mo}/perturb/moSolInit.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/problems/bitString/moBitFlipNeighborhood.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/problems/bitString/moBitNeighbor.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/problems/bitString/moBitsNeighbor.h (99%) mode change 100644 => 100755 rename {mo/src => src/mo}/problems/bitString/moBitsNeighborhood.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/problems/bitString/moBitsWithReplNeighborhood.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/problems/bitString/moBitsWithoutReplNeighborhood.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/problems/eval/moMaxSATincrEval.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/problems/eval/moOneMaxBitsIncrEval.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/problems/eval/moOneMaxIncrEval.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/problems/eval/moQAPIncrEval.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/problems/eval/moRoyalRoadIncrEval.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/problems/eval/moUBQPBitsIncrEval.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/problems/eval/moUBQPSimpleIncrEval.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/problems/eval/moUBQPdoubleIncrEvaluation.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/problems/permutation/moIndexedSwapNeighbor.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/problems/permutation/moShiftNeighbor.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/problems/permutation/moSwapNeighbor.h (98%) mode change 100644 => 100755 rename {mo/src => src/mo}/problems/permutation/moSwapNeighborhood.h (97%) mode change 100644 => 100755 rename {mo/src => src/mo}/problems/permutation/moTwoOptExNeighbor.h (98%) rename {mo/src => src/mo}/problems/permutation/moTwoOptExNeighborhood.h (95%) rename {mo/src => src/mo}/sampling/moAdaptiveWalkSampling.h (90%) mode change 100644 => 100755 rename {mo/src => src/mo}/sampling/moAutocorrelationSampling.h (94%) mode change 100644 => 100755 rename {mo/src => src/mo}/sampling/moDensityOfStatesSampling.h (94%) mode change 100644 => 100755 rename {mo/src => src/mo}/sampling/moFDCsampling.h (92%) mode change 100644 => 100755 rename {mo/src => src/mo}/sampling/moFitnessCloudSampling.h (92%) mode change 100644 => 100755 rename {mo/src => src/mo}/sampling/moHillClimberSampling.h (90%) mode change 100644 => 100755 rename {mo/src => src/mo}/sampling/moMHBestFitnessCloudSampling.h (94%) mode change 100644 => 100755 rename {mo/src => src/mo}/sampling/moMHRndFitnessCloudSampling.h (94%) mode change 100644 => 100755 rename {mo/src => src/mo}/sampling/moNeutralDegreeSampling.h (93%) mode change 100644 => 100755 rename {mo/src => src/mo}/sampling/moNeutralWalkSampling.h (87%) mode change 100644 => 100755 rename {mo/src => src/mo}/sampling/moRndBestFitnessCloudSampling.h (94%) mode change 100644 => 100755 rename {mo/src => src/mo}/sampling/moRndRndFitnessCloudSampling.h (94%) mode change 100644 => 100755 rename {mo/src => src/mo}/sampling/moSampling.h (96%) mode change 100644 => 100755 rename {mo/src => src/mo}/sampling/moStatistics.h (99%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/CMakeLists.txt (75%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/algo/moeoASEEA.h (94%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/algo/moeoAlgo.h (100%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/algo/moeoEA.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/algo/moeoEasyEA.h (95%) rename {moeo/src => src/moeo}/algo/moeoIBEA.h (95%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/algo/moeoMOGA.h (94%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/algo/moeoNSGA.h (94%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/algo/moeoNSGAII.h (94%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/algo/moeoPLS1.h (95%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/algo/moeoPLS2.h (96%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/algo/moeoPopAlgo.h (97%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/algo/moeoPopLS.h (98%) rename {moeo/src => src/moeo}/algo/moeoSEEA.h (92%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/algo/moeoSPEA2.h (92%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/algo/moeoUnifiedDominanceBasedLS.h (94%) rename {moeo/src => src/moeo}/archive/moeo2DMinHypervolumeArchive.h (100%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/archive/moeoArchive.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/archive/moeoBoundedArchive.h (99%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/archive/moeoEpsilonHyperboxArchive.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/archive/moeoFitDivBoundedArchive.h (96%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/archive/moeoFixedSizeArchive.h (94%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/archive/moeoImprOnlyBoundedArchive.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/archive/moeoSPEA2Archive.h (95%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/archive/moeoUnboundedArchive.h (94%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/comparator/moeoAggregativeComparator.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/comparator/moeoComparator.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/comparator/moeoDiversityThenFitnessComparator.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/comparator/moeoEpsilonObjectiveVectorComparator.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/comparator/moeoFitnessComparator.h (98%) rename {moeo/src => src/moeo}/comparator/moeoFitnessThenDiversityComparator.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/comparator/moeoGDominanceObjectiveVectorComparator.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/comparator/moeoObjectiveObjectiveVectorComparator.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/comparator/moeoObjectiveVectorComparator.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/comparator/moeoOneObjectiveComparator.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/comparator/moeoParetoDualObjectiveVectorComparator.h (96%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/comparator/moeoParetoObjectiveVectorComparator.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/comparator/moeoPtrComparator.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/comparator/moeoStrictObjectiveVectorComparator.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/comparator/moeoWeakObjectiveVectorComparator.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/continue/moeoDualHypContinue.h (99%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/continue/moeoHypContinue.h (96%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/core/MOEO.h (99%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/core/moeoBitVector.h (99%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/core/moeoDualRealObjectiveVector.h (96%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/core/moeoEvalFunc.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/core/moeoIntVector.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/core/moeoObjectiveVector.h (100%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/core/moeoObjectiveVectorTraits.cpp (97%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/core/moeoObjectiveVectorTraits.h (100%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/core/moeoRealObjectiveVector.h (97%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/core/moeoRealVector.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/core/moeoScalarObjectiveVector.h (97%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/core/moeoVector.h (99%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/distance/moeoDistance.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/distance/moeoDistanceMatrix.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/distance/moeoEuclideanDistance.h (97%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/distance/moeoManhattanDistance.h (97%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/distance/moeoNormalizedDistance.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/distance/moeoObjSpaceDistance.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/diversity/moeoCrowdingDiversityAssignment.h (97%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/diversity/moeoDiversityAssignment.h (97%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/diversity/moeoDummyDiversityAssignment.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/diversity/moeoFrontByFrontCrowdingDiversityAssignment.h (97%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/diversity/moeoFrontByFrontSharingDiversityAssignment.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/diversity/moeoNearestNeighborDiversityAssignment.h (95%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/diversity/moeoSharingDiversityAssignment.h (95%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/do/make_checkpoint_moeo.h (94%) rename {moeo/src => src/moeo}/do/make_continue_moeo.h (94%) rename {moeo/src => src/moeo}/do/make_ea_moeo.h (86%) rename {moeo/src => src/moeo}/explorer/moeoExhaustiveNeighborhoodExplorer.h (95%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/explorer/moeoFirstImprovingNeighborhoodExplorer.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/explorer/moeoNoDesimprovingNeighborhoodExplorer.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/explorer/moeoPopNeighborhoodExplorer.h (98%) rename {moeo/src => src/moeo}/explorer/moeoSimpleSubNeighborhoodExplorer.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/explorer/moeoSubNeighborhoodExplorer.h (95%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/fitness/moeoAggregationFitnessAssignment.h (97%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/fitness/moeoBinaryIndicatorBasedFitnessAssignment.h (97%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/fitness/moeoConstraintFitnessAssignment.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/fitness/moeoCriterionBasedFitnessAssignment.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/fitness/moeoDominanceBasedFitnessAssignment.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/fitness/moeoDominanceCountFitnessAssignment.h (92%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/fitness/moeoDominanceCountRankingFitnessAssignment.h (92%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/fitness/moeoDominanceDepthFitnessAssignment.h (97%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/fitness/moeoDominanceRankFitnessAssignment.h (92%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/fitness/moeoDummyFitnessAssignment.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/fitness/moeoExpBinaryIndicatorBasedDualFitnessAssignment.h (99%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/fitness/moeoExpBinaryIndicatorBasedFitnessAssignment.h (97%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/fitness/moeoFitnessAssignment.h (97%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/fitness/moeoIndicatorBasedFitnessAssignment.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/fitness/moeoReferencePointIndicatorBasedFitnessAssignment.h (97%) rename {moeo/src => src/moeo}/fitness/moeoScalarFitnessAssignment.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/fitness/moeoSingleObjectivization.h (97%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/fitness/moeoUnaryIndicatorBasedFitnessAssignment.h (97%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/hybridization/moeoDMLSGenUpdater.h (95%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/hybridization/moeoDMLSMonOp.h (94%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/metric/moeoAdditiveEpsilonBinaryMetric.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/metric/moeoContributionMetric.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/metric/moeoDistanceMetric.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/metric/moeoDualHyperVolumeDifferenceMetric.h (99%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/metric/moeoEntropyMetric.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/metric/moeoHyperVolumeDifferenceMetric.h (99%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/metric/moeoHyperVolumeMetric.h (99%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/metric/moeoHypervolumeBinaryMetric.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/metric/moeoMetric.h (99%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/metric/moeoNormalizedSolutionVsSolutionBinaryMetric.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/metric/moeoVecVsVecAdditiveEpsilonBinaryMetric.h (96%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/metric/moeoVecVsVecEpsilonBinaryMetric.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/metric/moeoVecVsVecMultiplicativeEpsilonBinaryMetric.h (97%) mode change 100644 => 100755 create mode 100755 src/moeo/moeo.h rename {moeo/src => src/moeo}/replacement/moeoElitistReplacement.h (95%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/replacement/moeoEnvironmentalReplacement.h (96%) rename {moeo/src => src/moeo}/replacement/moeoGenerationalReplacement.h (97%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/replacement/moeoReplacement.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/scalarStuffs/algo/moeoHC.h (94%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/scalarStuffs/algo/moeoILS.h (95%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/scalarStuffs/algo/moeoSA.h (93%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/scalarStuffs/algo/moeoSolAlgo.h (96%) rename {moeo/src => src/moeo}/scalarStuffs/algo/moeoTS.h (95%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/scalarStuffs/algo/moeoVFAS.h (93%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/scalarStuffs/algo/moeoVNS.h (93%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/scalarStuffs/archive/moeoArchiveIndex.h (97%) rename {moeo/src => src/moeo}/scalarStuffs/archive/moeoIndexedArchive.h (96%) rename {moeo/src => src/moeo}/scalarStuffs/archive/moeoQuadTree.h (99%) rename {moeo/src => src/moeo}/scalarStuffs/archive/moeoQuadTreeArchive.h (99%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/scalarStuffs/archive/moeoQuickUnboundedArchiveIndex.h (97%) rename {moeo/src => src/moeo}/scalarStuffs/distance/moeoAchievementScalarizingFunctionDistance.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/scalarStuffs/distance/moeoAugmentedAchievementScalarizingFunctionDistance.h (99%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/scalarStuffs/distance/moeoAugmentedWeightedChebychevDistance.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/scalarStuffs/distance/moeoWeightedChebychevDistance.h (99%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/scalarStuffs/explorer/moeoHCMoveLoopExpl.h (98%) rename {moeo/src => src/moeo}/scalarStuffs/explorer/moeoTSMoveLoopExpl.h (99%) rename {moeo/src => src/moeo}/scalarStuffs/fitness/moeoAchievementFitnessAssignment.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/scalarStuffs/fitness/moeoAchievementScalarizingFunctionMetricFitnessAssignment.h (95%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/scalarStuffs/fitness/moeoAugmentedAchievementScalarizingFunctionMetricFitnessAssignment.h (96%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/scalarStuffs/fitness/moeoAugmentedWeightedChebychevMetricFitnessAssignment.h (97%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/scalarStuffs/fitness/moeoIncrEvalSingleObjectivizer.h (95%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/scalarStuffs/fitness/moeoMetricFitnessAssignment.h (96%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/scalarStuffs/fitness/moeoWeightedChebychevMetricFitnessAssignment.h (96%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/scalarStuffs/weighting/moeoAnytimeWeightStrategy.h (97%) rename {moeo/src => src/moeo}/scalarStuffs/weighting/moeoAugmentedQexploreWeightStrategy.h (97%) rename {moeo/src => src/moeo}/scalarStuffs/weighting/moeoDichoWeightStrategy.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/scalarStuffs/weighting/moeoDummyRefPointStrategy.h (100%) rename {moeo/src => src/moeo}/scalarStuffs/weighting/moeoDummyWeightStrategy.h (97%) rename {moeo/src => src/moeo}/scalarStuffs/weighting/moeoFixedTimeBothDirectionWeightStrategy.h (96%) rename {moeo/src => src/moeo}/scalarStuffs/weighting/moeoFixedTimeOneDirectionWeightStrategy.h (96%) rename {moeo/src => src/moeo}/scalarStuffs/weighting/moeoQexploreWeightStrategy.h (97%) rename {moeo/src => src/moeo}/scalarStuffs/weighting/moeoRandWeightStrategy.h (97%) rename {moeo/src => src/moeo}/scalarStuffs/weighting/moeoVariableRefPointStrategy.h (100%) rename {moeo/src => src/moeo}/scalarStuffs/weighting/moeoVariableWeightStrategy.h (100%) rename {moeo/src => src/moeo}/selection/moeoDetArchiveSelect.h (99%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/selection/moeoDetTournamentSelect.h (95%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/selection/moeoExhaustiveUnvisitedSelect.h (97%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/selection/moeoNumberUnvisitedSelect.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/selection/moeoRandomSelect.h (97%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/selection/moeoRouletteSelect.h (97%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/selection/moeoSelectFromPopAndArch.h (96%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/selection/moeoSelectOne.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/selection/moeoSelectors.h (99%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/selection/moeoStochTournamentSelect.h (95%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/selection/moeoUnvisitedSelect.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/utils/moeoArchiveObjectiveVectorSavingUpdater.h (97%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/utils/moeoArchiveUpdater.h (96%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/utils/moeoAverageObjVecStat.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/utils/moeoBestObjVecStat.h (99%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/utils/moeoBinaryMetricSavingUpdater.h (97%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/utils/moeoBinaryMetricStat.h (99%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/utils/moeoConvertPopToObjectiveVectors.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/utils/moeoDominanceMatrix.h (100%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/utils/moeoFullEvalByCopy.h (93%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/utils/moeoObjVecStat.h (98%) mode change 100644 => 100755 rename {moeo/src => src/moeo}/utils/moeoObjectiveVectorNormalizer.h (99%) mode change 100644 => 100755 create mode 100755 src/problems/CMakeLists.txt rename {problems => src/problems}/eval/bbRoyalRoadEval.h (99%) mode change 100644 => 100755 rename {problems => src/problems}/eval/longKPathEval.h (99%) mode change 100644 => 100755 rename {problems => src/problems}/eval/maxSATeval.h (99%) mode change 100644 => 100755 rename {problems => src/problems}/eval/moPopSolEval.h (96%) mode change 100644 => 100755 rename {problems => src/problems}/eval/nkLandscapesEval.h (99%) mode change 100644 => 100755 rename {problems => src/problems}/eval/nkpLandscapesEval.h (99%) mode change 100644 => 100755 rename {problems => src/problems}/eval/nkqLandscapesEval.h (99%) mode change 100644 => 100755 rename {problems => src/problems}/eval/oneMaxEval.h (98%) mode change 100644 => 100755 rename {problems => src/problems}/eval/oneMaxPopEval.h (96%) mode change 100644 => 100755 rename {problems => src/problems}/eval/qapEval.h (98%) mode change 100644 => 100755 rename {problems => src/problems}/eval/queenEval.h (98%) mode change 100644 => 100755 rename {problems => src/problems}/eval/royalRoadEval.h (98%) mode change 100644 => 100755 rename {problems => src/problems}/eval/ubqpEval.h (99%) mode change 100644 => 100755 rename {smp/src => src/smp}/CMakeLists.txt (53%) mode change 100644 => 100755 rename {smp/src => src/smp}/MWAlgo/MWAlgo.h (90%) mode change 100644 => 100755 rename {smp/src => src/smp}/MWAlgo/eoEasyEA.cpp (100%) mode change 100644 => 100755 rename {smp/src => src/smp}/MWAlgo/eoEasyPSO.cpp (100%) mode change 100644 => 100755 rename {smp/src => src/smp}/MWAlgo/eoSyncEasyPSO.cpp (100%) mode change 100644 => 100755 rename {smp/src => src/smp}/MWModel.cpp (100%) mode change 100644 => 100755 rename {smp/src => src/smp}/MWModel.h (95%) mode change 100644 => 100755 rename {smp/src => src/smp}/PPExpander.h (100%) mode change 100644 => 100755 rename {smp/src => src/smp}/abstractIsland.h (98%) mode change 100644 => 100755 rename {smp/src => src/smp}/algoDispatching.h (93%) mode change 100644 => 100755 rename {smp/src => src/smp}/bimap.cpp (100%) mode change 100644 => 100755 rename {smp/src => src/smp}/bimap.h (99%) mode change 100644 => 100755 rename {smp/src => src/smp}/contDispatching.h (100%) mode change 100644 => 100755 rename {smp/src => src/smp}/contWrapper.cpp (100%) mode change 100644 => 100755 rename {smp/src => src/smp}/contWrapper.h (93%) mode change 100644 => 100755 rename {smp/src => src/smp}/intPolicy.h (98%) mode change 100644 => 100755 rename {smp/src => src/smp}/island.cpp (100%) mode change 100644 => 100755 rename {smp/src => src/smp}/island.h (93%) mode change 100644 => 100755 rename {smp/src => src/smp}/islandModel.cpp (100%) mode change 100644 => 100755 rename {smp/src => src/smp}/islandModel.h (96%) mode change 100644 => 100755 rename {smp/src => src/smp}/islandModelWrapper.h (96%) mode change 100644 => 100755 rename {smp/src => src/smp}/islandNotifier.cpp (100%) mode change 100644 => 100755 rename {smp/src => src/smp}/islandNotifier.h (98%) mode change 100644 => 100755 rename {smp/src => src/smp}/migPolicy.h (98%) mode change 100644 => 100755 rename {smp/src => src/smp}/notifier.cpp (98%) mode change 100644 => 100755 rename {smp/src => src/smp}/notifier.h (98%) mode change 100644 => 100755 rename {smp/src => src/smp}/policiesDispatching.h (100%) mode change 100644 => 100755 rename {smp/src => src/smp}/policyElement.cpp (99%) mode change 100644 => 100755 rename {smp/src => src/smp}/policyElement.h (95%) mode change 100644 => 100755 rename {smp/src => src/smp}/scheduler.cpp (100%) mode change 100644 => 100755 rename {smp/src => src/smp}/scheduler.h (96%) mode change 100644 => 100755 rename {smp/src => src/smp}/smp (98%) mode change 100644 => 100755 rename {smp/src => src/smp}/smp.h (62%) mode change 100644 => 100755 rename {smp/src => src/smp}/topology/abstractTopology.h (100%) mode change 100644 => 100755 rename {smp/src => src/smp}/topology/complete.cpp (98%) mode change 100644 => 100755 rename {smp/src => src/smp}/topology/complete.h (97%) mode change 100644 => 100755 rename {smp/src => src/smp}/topology/customBooleanTopology.cpp (98%) mode change 100644 => 100755 rename {smp/src => src/smp}/topology/customBooleanTopology.h (98%) mode change 100644 => 100755 rename {smp/src => src/smp}/topology/customStochasticTopology.cpp (98%) mode change 100644 => 100755 rename {smp/src => src/smp}/topology/customStochasticTopology.h (98%) mode change 100644 => 100755 rename {smp/src => src/smp}/topology/hypercubic.cpp (98%) mode change 100644 => 100755 rename {smp/src => src/smp}/topology/hypercubic.h (98%) mode change 100644 => 100755 rename {smp/src => src/smp}/topology/mesh.cpp (99%) mode change 100644 => 100755 rename {smp/src => src/smp}/topology/mesh.h (98%) mode change 100644 => 100755 rename {smp/src => src/smp}/topology/ring.cpp (98%) mode change 100644 => 100755 rename {smp/src => src/smp}/topology/ring.h (97%) mode change 100644 => 100755 rename {smp/src => src/smp}/topology/star.cpp (98%) mode change 100644 => 100755 rename {smp/src => src/smp}/topology/star.h (98%) mode change 100644 => 100755 rename {smp/src => src/smp}/topology/topology.cpp (100%) mode change 100644 => 100755 rename {smp/src => src/smp}/topology/topology.h (97%) mode change 100644 => 100755 rename {smp/src => src/smp}/topology/topologyBuilder.h (100%) mode change 100644 => 100755 create mode 100755 test/CMakeLists.txt rename {edo/test => test/edo}/CMakeLists.txt (69%) mode change 100644 => 100755 create mode 100755 test/edo/COPYING rename {edo/test => test/edo}/boxplot.py (100%) rename {edo/test => test/edo}/t-binomial.cpp (97%) mode change 100644 => 100755 create mode 100755 test/edo/t-binomialmulti.cpp rename {edo/test => test/edo}/t-bounderno.cpp (95%) mode change 100644 => 100755 rename {edo/test => test/edo}/t-cholesky.cpp (98%) mode change 100644 => 100755 rename {edo/test => test/edo}/t-continue.cpp (96%) mode change 100644 => 100755 rename {edo/test => test/edo}/t-dispatcher-round.cpp (96%) mode change 100644 => 100755 rename {edo/test => test/edo}/t-edoEstimatorNormalMulti.cpp (98%) mode change 100644 => 100755 rename {edo/test => test/edo}/t-mean-distance.cpp (98%) mode change 100644 => 100755 rename {edo/test => test/edo}/t-repairer-modulo.cpp (95%) mode change 100644 => 100755 rename {edo/test => test/edo}/t-uniform.cpp (96%) mode change 100644 => 100755 rename {edo/test => test/edo}/t-variance.cpp (95%) mode change 100644 => 100755 rename {edo/test => test/edo}/test_cov_parameters.py (100%) rename {eo/test => test/eo}/CMakeLists.txt (91%) mode change 100644 => 100755 rename {eo => test/eo}/CTestConfig.cmake (100%) mode change 100644 => 100755 rename {eo/test => test/eo}/ChangeLog (100%) mode change 100644 => 100755 create mode 100755 test/eo/LICENSE rename {eo/test => test/eo}/RoyalRoad.h (98%) mode change 100644 => 100755 rename {eo/test => test/eo}/binary_value.h (100%) mode change 100644 => 100755 rename {eo/test => test/eo}/boxplot.py (100%) rename {eo/test => test/eo}/boxplot_to_pdf.py (100%) rename {eo/test => test/eo}/boxplot_to_png.py (100%) rename {eo/test => test/eo}/fitness_traits.cpp (100%) mode change 100644 => 100755 rename {eo/test => test/eo}/real_value.h (100%) mode change 100644 => 100755 rename {eo/test => test/eo}/run_tests (100%) rename {eo/test => test/eo}/t-MGE-control.cpp (98%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-MGE.cpp (97%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-MGE1bit.cpp (98%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eo.cpp (89%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eo2dVector.cc (97%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoCMAES.cpp (74%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoCheckpointing.cpp (93%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoDualFitness.cpp (95%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoESAll.cpp (98%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoESFull.cpp (98%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoEasyEA.cpp (98%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoEasyPSO.cpp (99%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoEvalKeepBest.cpp (95%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoExtendedVelocity.cpp (98%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoExternalEO.cpp (94%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoFitnessAssembled.cpp (98%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoFitnessAssembledEA.cpp (81%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoFunctor.cpp (80%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoGA.cpp (94%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoGenOp.cpp (99%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoIQRStat.cpp (93%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoInitPermutation.cpp (96%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoInitVariableLength.cpp (99%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoInt.cpp (91%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoLogger.cpp (97%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoOrderXover.cpp (94%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoPBIL.cpp (92%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoParallel.cpp (94%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoParser.cpp (97%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoRNG.cpp (95%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoRandom.cpp (93%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoReal.cpp (96%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoReplacement.cpp (99%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoRingTopology.cpp (98%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoRoulette.cpp (87%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoSSGA.cpp (98%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoSecondsElapsedContinue.cpp (76%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoSelect.cpp (99%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoSharing.cpp (98%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoShiftMutation.cpp (94%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoStateAndParser.cpp (92%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoSwapMutation.cpp (95%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoSymreg.cpp (99%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoSyncEasyPSO.cpp (99%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoTwoOptMutation.cpp (95%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoUniform.cpp (90%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoVector.cpp (91%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eoVirus.cpp (92%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eobin.cpp (97%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-eofitness.cpp (98%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-openmp.cpp (98%) mode change 100644 => 100755 rename {eo/test => test/eo}/t-openmp.py (100%) rename {eo/test => test/eo}/t-selectOne.cpp (90%) mode change 100644 => 100755 rename {eompi/test => test/eompi}/CMakeLists.txt (85%) mode change 100644 => 100755 rename {eompi/test => test/eompi}/DISTRIB_XP_README.md (100%) mode change 100644 => 100755 rename {eompi/test => test/eompi}/experiments.json (100%) mode change 100644 => 100755 rename {eompi/test => test/eompi}/gen-xp.py (100%) mode change 100644 => 100755 rename {eompi/test => test/eompi}/t-mpi-common.h (97%) mode change 100644 => 100755 rename {eompi/test => test/eompi}/t-mpi-distrib-exp.cpp (99%) mode change 100644 => 100755 rename {eompi/test => test/eompi}/t-mpi-eval.cpp (97%) mode change 100644 => 100755 rename {eompi/test => test/eompi}/t-mpi-multipleRoles.cpp (98%) mode change 100644 => 100755 rename {eompi/test => test/eompi}/t-mpi-multistart.cpp (98%) mode change 100644 => 100755 rename {eompi/test => test/eompi}/t-mpi-parallelApply.cpp (98%) mode change 100644 => 100755 rename {eompi/test => test/eompi}/t-mpi-wrapper.cpp (96%) mode change 100644 => 100755 rename {eompi/test => test/eompi}/template-job.cpp (98%) mode change 100644 => 100755 rename {mo/test => test/mo}/CMakeLists.txt (91%) mode change 100644 => 100755 rename {mo/test => test/mo}/moTestClass.h (87%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moAdaptiveWalkSampling.cpp (88%) rename {mo/test => test/mo}/t-moAlwaysAcceptCrit.cpp (96%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moAutocorrelationSampling.cpp (94%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moBestImprAspiration.cpp (97%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moBetterAcceptCrit.cpp (94%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moBitNeighbor.cpp (97%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moCheckpoint.cpp (95%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moCombinedContinuator.cpp (92%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moCountMoveMemory.cpp (98%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moCounterMonitorSaver.cpp (97%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moCounterStat.cpp (97%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moDensityOfStatesSampling.cpp (94%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moDistanceStat.cpp (93%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moDummyEval.cpp (97%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moDummyExplorer.cpp (97%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moDummyLS.cpp (95%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moDummyMemory.cpp (94%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moDummyNeighbor.cpp (96%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moDummyNeighborhood.cpp (94%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moDynSpanCoolingSchedule.cpp (97%) rename {mo/test => test/mo}/t-moEvalCounter.cpp (97%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moFDCsampling.cpp (93%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moFirstImprHC.cpp (91%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moFirstImprHCexplorer.cpp (93%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moFitContinuator.cpp (97%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moFitnessCloudSampling.cpp (86%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moFitnessStat.cpp (94%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moFullEvalByCopy.cpp (97%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moFullEvalByModif.cpp (97%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moFullEvalContinuator.cpp (95%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moHillClimberSampling.cpp (94%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moILS.cpp (84%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moILSexplorer.cpp (85%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moIndexedVectorTabuList.cpp (97%) rename {mo/test => test/mo}/t-moIterContinuator.cpp (97%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moLocalSearch.cpp (86%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moLocalSearchInit.cpp (92%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moMetropolisHasting.cpp (88%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moMetropolisHastingExplorer.cpp (98%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moMinusOneCounterStat.cpp (97%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moMonOpDiversification.cpp (93%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moMonOpPerturb.cpp (94%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moNeighbor.cpp (100%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moNeighborBestStat.cpp (97%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moNeighborComparator.cpp (92%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moNeighborEvalContinuator.cpp (97%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moNeighborFitnessStat.cpp (97%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moNeighborVectorTabuList.cpp (98%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moNeighborhoodPerturb.cpp (94%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moNeighborhoodStat.cpp (88%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moNeutralDegreeSampling.cpp (90%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moNeutralHC.cpp (88%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moNeutralHCexplorer.cpp (94%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moNeutralWalkSampling.cpp (93%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moOrderNeighborhood.cpp (94%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moRandomBestHC.cpp (90%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moRandomBestHCexplorer.cpp (94%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moRandomNeutralWalk.cpp (90%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moRandomNeutralWalkExplorer.cpp (97%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moRandomSearch.cpp (92%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moRandomSearchExplorer.cpp (95%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moRandomWalk.cpp (88%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moRandomWalkExplorer.cpp (97%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moRestartPerturb.cpp (93%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moRndIndexedVectorTabuList.cpp (97%) rename {mo/test => test/mo}/t-moRndWithReplNeighborhood.cpp (97%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moRndWithoutReplNeighborhood.cpp (97%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moSA.cpp (88%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moSAexplorer.cpp (95%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moSampling.cpp (88%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moSimpleCoolingSchedule.cpp (97%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moSimpleHC.cpp (91%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moSimpleHCexplorer.cpp (93%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moSolComparator.cpp (93%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moSolInit.cpp (97%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moSolNeighborComparator.cpp (92%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moSolVectorTabuList.cpp (98%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moSolutionStat.cpp (97%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moStatistics.cpp (97%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moTS.cpp (88%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moTSexplorer.cpp (94%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moTimeContinuator.cpp (97%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moTrueContinuator.cpp (97%) mode change 100644 => 100755 rename {mo/test => test/mo}/t-moVectorMonitor.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/CMakeLists.txt (90%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/moeoTestClass.h (86%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeo.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeo2DMinHypervolumeArchive.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoASEEA.cpp (96%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoASFAMetric.cpp (98%) rename {moeo/test => test/moeo}/t-moeoASFAOrMetric.cpp (98%) rename {moeo/test => test/moeo}/t-moeoAchievementFitnessAssignment.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoAggregationFitnessAssignment.cpp (98%) rename {moeo/test => test/moeo}/t-moeoAggregativeComparator.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoAggregativeFitnessAssignment.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoBitVector.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoBoundedArchive.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoChebyshevMetric.cpp (98%) rename {moeo/test => test/moeo}/t-moeoChebyshevOrientedMetric.cpp (98%) rename {moeo/test => test/moeo}/t-moeoConstraintFitnessAssignment.cpp (98%) rename {moeo/test => test/moeo}/t-moeoCrowdingDiversityAssignment.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoDMLSGenUpdater.cpp (89%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoDMLSMonOp.cpp (89%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoDetArchiveSelect.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoDiversityThenFitnessComparator.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoDominanceCountFitnessAssignment.cpp (96%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoDominanceCountRankingFitnessAssignment.cpp (96%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoDominanceDepthFitnessAssignment.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoDominanceMatrix.cpp (95%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoDominanceRankFitnessAssignment.cpp (96%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoEasyEA.cpp (97%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoEpsilonHyperboxArchive.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoEpsilonObjectiveVectorComparator.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoExhaustiveNeighborhoodExplorer.cpp (100%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoExhaustiveUnvisitedSelect.cpp (95%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoExpBinaryIndicatorBasedFitnessAssignment.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoFirstImprovingNeighborhoodExplorer.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoFitDivBoundedArchive.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoFitnessThenDiversityComparator.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoHyperVolumeDifferenceMetric.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoHyperVolumeMetric.cpp (99%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoIBEA.cpp (96%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoImprOnlyBoundedArchive.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoIntVector.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoMOGA.cpp (96%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoMax3Obj.cpp (96%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoNSGA.cpp (96%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoNSGAII.cpp (96%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoNearestNeighborDiversityAssignment.cpp (96%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoNoDesimprovingNeighborhoodExplorer.cpp (97%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoNumberUnvisitedSelect.cpp (96%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoPLS1.cpp (96%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoPLS2.cpp (96%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoParetoObjectiveVectorComparator.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoQuadTreeArchive.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoQuadTreeIndex.cpp (99%) rename {moeo/test => test/moeo}/t-moeoQuickUnboundedArchiveIndex.cpp (98%) rename {moeo/test => test/moeo}/t-moeoRealVector.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoSEEA.cpp (93%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoSPEA2.cpp (94%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoSPEA2Archive.cpp (96%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoSharingDiversityAssignment.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoSimpleSubNeighborhoodExplorer.cpp (97%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoStrictObjectiveVectorComparator.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoUnboundedArchive.cpp (98%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoVecVsVecAdditiveEpsilonBinaryMetric.cpp (99%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoVecVsVecMultiplicativeEpsilonBinaryMetric.cpp (99%) mode change 100644 => 100755 rename {moeo/test => test/moeo}/t-moeoWeakObjectiveVectorComparator.cpp (98%) mode change 100644 => 100755 rename {smp/test => test/smp}/CMakeLists.txt (81%) mode change 100644 => 100755 rename {smp/test => test/smp}/data-topo-bool (100%) mode change 100644 => 100755 rename {smp/test => test/smp}/data-topo-stoch (100%) mode change 100644 => 100755 rename {smp/test => test/smp}/smpTestClass.h (100%) mode change 100644 => 100755 rename {smp/test => test/smp}/t-data.dat (100%) rename {smp/test => test/smp}/t-smpCustomTopo.cpp (96%) mode change 100644 => 100755 rename {smp/test => test/smp}/t-smpIsland.cpp (98%) mode change 100644 => 100755 rename {smp/test => test/smp}/t-smpMI_Heterogeneous.cpp (98%) mode change 100644 => 100755 rename {smp/test => test/smp}/t-smpMI_Homogeneous.cpp (98%) mode change 100644 => 100755 rename {smp/test => test/smp}/t-smpMI_Wrapper.cpp (97%) mode change 100644 => 100755 rename {smp/test => test/smp}/t-smpMW_eoEasyEA.cpp (96%) mode change 100644 => 100755 rename {smp/test => test/smp}/t-smpMW_eoEasyPSO.cpp (98%) mode change 100644 => 100755 rename {smp/test => test/smp}/t-smpMW_eoSyncEasyPSO.cpp (98%) mode change 100644 => 100755 rename {smp/test => test/smp}/t-smpScheduler.cpp (92%) mode change 100644 => 100755 rename {smp/test => test/smp}/t-smpTopo.cpp (99%) mode change 100644 => 100755 create mode 100755 tutorial/CMakeLists.txt rename {edo/application => tutorial/edo}/CMakeLists.txt (93%) mode change 100644 => 100755 create mode 100755 tutorial/edo/COPYING rename {edo/application => tutorial/edo}/cmaes/CMakeLists.txt (73%) mode change 100644 => 100755 rename {edo/application => tutorial/edo}/cmaes/main.cpp (93%) mode change 100644 => 100755 rename {edo/application => tutorial/edo}/common/CMakeLists.txt (100%) mode change 100644 => 100755 rename {edo/application => tutorial/edo}/common/Rosenbrock.h (58%) mode change 100644 => 100755 rename {edo/application => tutorial/edo}/common/Sphere.h (57%) mode change 100644 => 100755 rename {edo/application => tutorial/edo}/common/boxplot_eda_n_edasa.py (100%) rename {edo/application => tutorial/edo}/common/ggobi.py (100%) rename {edo/application => tutorial/edo}/common/gplot.py (100%) rename {edo/application => tutorial/edo}/eda/CMakeLists.txt (82%) mode change 100644 => 100755 rename {edo/application => tutorial/edo}/eda/eda.param (100%) mode change 100644 => 100755 rename {edo/application => tutorial/edo}/eda/main.cpp (94%) mode change 100644 => 100755 rename {edo/application => tutorial/edo}/eda_sa/CMakeLists.txt (92%) mode change 100644 => 100755 rename {edo/application => tutorial/edo}/eda_sa/eda_sa.param (100%) mode change 100644 => 100755 rename {edo/application => tutorial/edo}/eda_sa/main.cpp (96%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/CMakeLists.txt (92%) mode change 100644 => 100755 create mode 100755 tutorial/eo/LICENSE rename {eo/tutorial => tutorial/eo}/Lesson1/CMakeLists.txt (83%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson1/FirstBitGA.cpp (98%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson1/FirstRealGA.cpp (98%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson1/Makefile.simple (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson1/exercise1.3.cpp (97%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson2/CMakeLists.txt (83%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson2/FirstBitEA.cpp (99%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson2/FirstRealEA.cpp (99%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson2/Makefile.simple (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson2/binary_value.h (93%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson2/exercise2.3.cpp (98%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson2/real_value.h (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson3/CMakeLists.txt (83%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson3/Makefile.simple (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson3/SecondBitEA.cpp (99%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson3/SecondRealEA.cpp (99%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson3/binary_value.h (93%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson3/exercise3.1.cpp (99%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson3/real_value.h (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson4/BitEA.cpp (97%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson4/CMakeLists.txt (85%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson4/ESEA.cpp (98%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson4/ESEA.param (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson4/Makefile.simple (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson4/RealEA.cpp (96%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson4/RealEA.param (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson4/binary_value.h (95%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson4/real_value.h (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson5/CMakeLists.txt (87%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson5/Makefile.simple (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson5/OneMaxEA.cpp (94%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson5/OneMaxLibEA.cpp (98%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson5/eoOneMax.h (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson5/eoOneMaxEvalFunc.h (98%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson5/eoOneMaxInit.h (98%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson5/eoOneMaxMutation.h (98%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson5/eoOneMaxQuadCrossover.h (98%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson5/make_OneMax.cpp (94%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson5/make_genotype_OneMax.h (95%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson5/make_op_OneMax.h (96%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson6/BinaryPSO.cpp (99%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson6/CMakeLists.txt (88%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson6/Makefile.simple (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Lesson6/RealPSO.cpp (99%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Makefile.simple (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/INSTALL (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/css/deck.core.css (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/css/deck.goto.css (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/css/deck.hash.css (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/css/deck.menu.css (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/css/deck.navigation.css (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/css/deck.scale.css (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/css/deck.status.css (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/css/eompi.css (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/css/horizontal-slide.css (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/css/shjs.css (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/css/thales.css (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/eompi.html (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/img/generic_parallel.dia (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/img/generic_parallel.png (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/img/serialisation.dia (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/img/serialisation.png (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/js/deck.core.js (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/js/deck.goto.js (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/js/deck.hash.js (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/js/deck.menu.js (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/js/deck.navigation.js (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/js/deck.scale.js (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/js/deck.status.js (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/js/jquery-1.7.min.js (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/js/modernizr.custom.js (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/js/shjs-cpp.js (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/js/shjs.js (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Parallelization/mpi.c (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/README (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Templates/CMakeLists.txt.src-tmpl (100%) rename {eo/tutorial => tutorial/eo}/Templates/CMakeLists.txt.top-tmpl (100%) rename {eo/tutorial => tutorial/eo}/Templates/ChangeLog (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Templates/EO.tpl (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Templates/Makefile.am.src-tmpl (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Templates/Makefile.am.top-tmpl (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Templates/MyStructEA.cpp (95%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Templates/MyStructLibEA.cpp (96%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Templates/MyStructSEA.cpp (97%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Templates/README (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Templates/README.manual (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Templates/README.tmpl (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Templates/binCrossover.tmpl (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Templates/configure.ac.tmpl (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Templates/continue.tmpl (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Templates/createEOproject.sh (100%) rename {eo/tutorial => tutorial/eo}/Templates/eoMyStruct.tmpl (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Templates/evalFunc.tmpl (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Templates/init.tmpl (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Templates/lessOffspringExternalSelectorGenOp.tmpl (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Templates/lessOffspringSameSelectorGenOp.tmpl (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Templates/make_MyStruct.cpp (97%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Templates/make_genotype_MyStruct.h (94%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Templates/make_op_MyStruct.h (95%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Templates/moreOffspringGenOp.tmpl (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Templates/mutation.tmpl (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Templates/quadCrossover.tmpl (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/Templates/stat.tmpl (100%) mode change 100644 => 100755 rename {eo => tutorial/eo}/app/CMakeLists.txt (100%) mode change 100644 => 100755 rename {eo => tutorial/eo}/app/gprop/CMakeLists.txt (92%) mode change 100644 => 100755 rename {eo => tutorial/eo}/app/gprop/gprop.cpp (98%) mode change 100644 => 100755 rename {eo => tutorial/eo}/app/gprop/gprop.h (90%) mode change 100644 => 100755 rename {eo => tutorial/eo}/app/gprop/l2.h (98%) mode change 100644 => 100755 rename {eo => tutorial/eo}/app/gprop/mlp.h (98%) mode change 100644 => 100755 rename {eo => tutorial/eo}/app/gprop/mse.h (98%) mode change 100644 => 100755 rename {eo => tutorial/eo}/app/gprop/qp.h (95%) mode change 100644 => 100755 rename {eo => tutorial/eo}/app/gprop/vecop.h (100%) mode change 100644 => 100755 rename {eo => tutorial/eo}/app/gpsymreg/CMakeLists.txt (94%) mode change 100644 => 100755 rename {eo => tutorial/eo}/app/gpsymreg/fitness.h (98%) mode change 100644 => 100755 rename {eo => tutorial/eo}/app/gpsymreg/main.cpp (98%) mode change 100644 => 100755 rename {eo => tutorial/eo}/app/gpsymreg/node.h (100%) mode change 100644 => 100755 rename {eo => tutorial/eo}/app/gpsymreg/parameters.h (98%) mode change 100644 => 100755 rename {eo => tutorial/eo}/app/mastermind/CMakeLists.txt (94%) mode change 100644 => 100755 rename {eo => tutorial/eo}/app/mastermind/mastermind.cpp (96%) mode change 100644 => 100755 rename {eo => tutorial/eo}/app/mastermind/mastermind.h (94%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/html/EA_tutorial.jpg (100%) mode change 100644 => 100755 rename {eo/tutorial => tutorial/eo}/html/beige009.jpg (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/CMakeLists.txt (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson1/CMakeLists.txt (91%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson1/firstImprHC_maxSAT.cpp (92%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson1/firstImprHC_maxSAT.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson1/lesson1_combinedContinuator.cpp (89%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson1/lesson1_combinedContinuator.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson1/lesson1_evalContinuator.cpp (91%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson1/lesson1_evalContinuator.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson1/lesson1_firstImprHC.cpp (91%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson1/lesson1_firstImprHC.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson1/lesson1_fitContinuator.cpp (92%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson1/lesson1_fitContinuator.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson1/lesson1_fullEvalContinuator.cpp (91%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson1/lesson1_fullEvalContinuator.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson1/lesson1_iterContinuator.cpp (92%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson1/lesson1_iterContinuator.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson1/lesson1_neutralHC.cpp (92%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson1/lesson1_neutralHC.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson1/lesson1_randomBestHC.cpp (92%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson1/lesson1_randomBestHC.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson1/lesson1_simpleHC.cpp (90%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson1/lesson1_simpleHC.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson2/CMakeLists.txt (88%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson2/testNeighborhood.cpp (91%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson2/testNeighborhood.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson3/CMakeLists.txt (88%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson3/testSimulatedAnnealing.cpp (88%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson3/testSimulatedAnnealing.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson4/CMakeLists.txt (88%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson4/testSimpleTS.cpp (93%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson4/testSimpleTS.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson5/CMakeLists.txt (88%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson5/testILS.cpp (86%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson5/testILS.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson6/CMakeLists.txt (90%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson6/adaptiveWalks.cpp (93%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson6/adaptiveWalks.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson6/autocorrelation.cpp (92%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson6/autocorrelation.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson6/densityOfStates.cpp (94%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson6/densityOfStates.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson6/fdc.cpp (94%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson6/fdc.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson6/fitnessCloud.cpp (91%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson6/fitnessCloud.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson6/neutralDegree.cpp (93%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson6/neutralDegree.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson6/neutralWalk.cpp (93%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson6/neutralWalk.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson6/sampling.cpp (91%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson6/sampling.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson6/testMetropolisHasting.cpp (89%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson6/testMetropolisHasting.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson6/testRandomNeutralWalk.cpp (84%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson6/testRandomNeutralWalk.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson6/testRandomWalk.cpp (88%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson6/testRandomWalk.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson7/CMakeLists.txt (88%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson7/hybridAlgo.cpp (89%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson7/hybridAlgo.param (100%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson9/CMakeLists.txt (88%) mode change 100644 => 100755 rename {mo/tutorial => tutorial/mo}/Lesson9/VNS.cpp (82%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/CMakeLists.txt (88%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/Lesson1/CMakeLists.txt (83%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/Lesson1/Sch1.cpp (97%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/Lesson1/Sch1.param (100%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/Lesson2/CMakeLists.txt (85%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/Lesson2/FlowShopEA.cpp (94%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/Lesson2/FlowShopEA.param (100%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/Lesson3/CMakeLists.txt (85%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/Lesson3/FlowShopEA2.cpp (89%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/Lesson3/FlowShopEA2.param (100%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/Lesson4/CMakeLists.txt (85%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/Lesson4/FlowShopDMLS.cpp (91%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/Lesson4/FlowShopDMLS.param (100%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/CMakeLists.txt (100%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/CMakeLists.txt (81%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/FlowShop.cpp (98%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/FlowShop.h (96%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/FlowShopBenchmarkParser.cpp (100%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/FlowShopBenchmarkParser.h (100%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/FlowShopEval.cpp (99%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/FlowShopEval.h (98%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/FlowShopInit.h (97%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/FlowShopObjectiveVector.h (95%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/FlowShopObjectiveVectorTraits.cpp (97%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/FlowShopObjectiveVectorTraits.h (97%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/FlowShopOpCrossoverQuad.cpp (99%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/FlowShopOpCrossoverQuad.h (98%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/FlowShopOpMutationExchange.h (96%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/FlowShopOpMutationShift.h (96%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/benchs/020_05_01.txt (100%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/benchs/020_05_02.txt (100%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/benchs/020_10_01.txt (100%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/benchs/020_10_02.txt (100%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/benchs/020_20_01.txt (100%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/benchs/050_05_01.txt (100%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/benchs/050_10_01.txt (100%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/benchs/050_20_01.txt (100%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/benchs/100_05_01.txt (100%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/benchs/100_10_01.txt (100%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/benchs/100_20_01.txt (100%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/benchs/200_10_01.txt (100%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/benchs/README (100%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/make_eval_FlowShop.h (93%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/make_genotype_FlowShop.h (94%) mode change 100644 => 100755 rename {moeo/tutorial => tutorial/moeo}/examples/flowshop/make_op_FlowShop.h (92%) mode change 100644 => 100755 rename {smp/tutorial => tutorial/smp}/BaseLesson.h (100%) mode change 100644 => 100755 rename {smp/tutorial => tutorial/smp}/CMakeLists.txt (81%) mode change 100644 => 100755 rename {smp/tutorial => tutorial/smp}/Lesson1/CMakeLists.txt (90%) mode change 100644 => 100755 rename {smp/tutorial => tutorial/smp}/Lesson1/QAP.h (99%) rename {smp/tutorial => tutorial/smp}/Lesson1/QAPGA.h (100%) mode change 100644 => 100755 rename {smp/tutorial => tutorial/smp}/Lesson1/lesson1_data.dat (100%) mode change 100644 => 100755 rename {smp/tutorial => tutorial/smp}/Lesson1/lesson1_eoEasyEA.cpp (99%) mode change 100644 => 100755 rename {smp/tutorial => tutorial/smp}/Lesson1/lesson1_eoEasyEA.param (100%) rename {smp/tutorial => tutorial/smp}/Lesson1/parserStruct.h (100%) mode change 100644 => 100755 rename {smp/tutorial => tutorial/smp}/Lesson1/utils.h (100%) rename {smp/tutorial => tutorial/smp}/Lesson2/CMakeLists.txt (88%) mode change 100644 => 100755 rename {smp/tutorial => tutorial/smp}/Lesson2/lesson2_homogeneous.cpp (98%) mode change 100644 => 100755 rename {smp/tutorial => tutorial/smp}/Lesson3/CMakeLists.txt (88%) mode change 100644 => 100755 rename {smp/tutorial => tutorial/smp}/Lesson3/lesson3_heterogeneous.cpp (98%) mode change 100644 => 100755 rename {smp/tutorial => tutorial/smp}/Lesson4/CMakeLists.txt (88%) mode change 100644 => 100755 rename {smp/tutorial => tutorial/smp}/Lesson4/lesson4_topology.cpp (98%) mode change 100644 => 100755 rename {smp/tutorial => tutorial/smp}/lessonData.dat (100%) mode change 100644 => 100755 mode change 100644 => 100755 website/200px-Graph_betweenness.svg.png mode change 100644 => 100755 website/BatchGantt1.png mode change 100644 => 100755 website/EO_star.svg mode change 100644 => 100755 website/Evolutionary_algorithm.png mode change 100644 => 100755 website/Evolutionary_algorithm.svg mode change 100644 => 100755 website/Gallagher_Gaussian_BBOB_f21.png mode change 100644 => 100755 website/Graph_betweenness.svg mode change 100644 => 100755 website/eo_ico.png mode change 100644 => 100755 website/eo_logo.png mode change 100644 => 100755 website/eo_logo.svg mode change 100644 => 100755 website/eo_logo_48_notext.png mode change 100644 => 100755 website/eo_logo_fronde.svg mode change 100644 => 100755 website/fronde.png mode change 100644 => 100755 website/index.html mode change 100644 => 100755 website/lightblue.css mode change 100644 => 100755 website/paradiseo_logo.svg diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/AUTHORS b/AUTHORS old mode 100644 new mode 100755 diff --git a/CMakeLists.txt b/CMakeLists.txt old mode 100644 new mode 100755 index d3f025904..a92068c4f --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -50,21 +50,6 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Macro.cmake) ## Custom Targets file include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Target.cmake) - -###################################################################################### -### 4) Define and add module paths : EO, MO, MOEO -###################################################################################### - -## Paths to sources of modules -set( EO_SRC_DIR "${CMAKE_SOURCE_DIR}/eo" CACHE INTERNAL "ParadisEO-EO source directory" FORCE) -set( EDO_SRC_DIR "${CMAKE_SOURCE_DIR}/edo" CACHE INTERNAL "ParadisEO-EDO source directory" FORCE) -set( MO_SRC_DIR "${CMAKE_SOURCE_DIR}/mo" CACHE INTERNAL "ParadisEO-MO source directory" FORCE) -set( MOEO_SRC_DIR "${CMAKE_SOURCE_DIR}/moeo" CACHE INTERNAL "ParadisEO-MOEO source directory" FORCE) -set( SMP_SRC_DIR "${CMAKE_SOURCE_DIR}/smp" CACHE INTERNAL "ParadisEO-SMP source directory" FORCE) -set( EOMPI_SRC_DIR "${CMAKE_SOURCE_DIR}/eompi" CACHE INTERNAL "ParadisEO-EOMPI source directory" FORCE) -set(EOSERIAL_SRC_DIR "${CMAKE_SOURCE_DIR}/eoserial" CACHE INTERNAL "ParadisEO-EOSERIAL source directory" FORCE) - -set(PROBLEMS_SRC_DIR "${CMAKE_SOURCE_DIR}/problems" CACHE INTERNAL "Problems dependant source directory" FORCE) set(CMAKE_BASE_SOURCE_DIR ${CMAKE_SOURCE_DIR}) @@ -77,64 +62,56 @@ set( SMP_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-SMP bi set( EOMPI_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-EOMPI binary directory" FORCE) set(EOSERIAL_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-EOSERIAL binary directory" FORCE) -set(EO_ONLY "false" CACHE BOOL "Only build EO and not the other modules") -set(ENABLE_OPENMP "false" CACHE BOOL "Build EO with the OpenMP support (shared-memory parallel evaluators on multi-core)") +###################################################################################### +### 4) Choose module(s) +###################################################################################### + +set(EO_ONLY "false" CACHE BOOL "Only build EO and not the other modules") +set(MO "false" CACHE BOOL "Build the MO module") +set(EDO "false" CACHE BOOL "Build the EDO module") +set(MOEO "false" CACHE BOOL "Build the MOEO module") +set(SMP "false" CACHE BOOL "Build the SMP module") +set(EOMPI "false" CACHE BOOL "Build the EOMPI module") +set(EOSERIAL "false" CACHE BOOL "Build the EOSERIAL module") + +set(ENABLE_OPENMP "false" CACHE BOOL "Build EO with the OpenMP support (shared-memory parallel evaluators on multi-core)") set(ENABLE_GNUPLOT "false" CACHE BOOL "Build EO with the GNUplot support (real-time convergence plotting)") -#set(EDO "false" CACHE BOOL "Build the EDO module") -set(EDO_USE_LIB "Eigen3" CACHE STRING "Which linear algebra library to use to build EDO ('UBlas' or 'Eigen3', Eigen3 is recommended)") -set(SMP "false" CACHE BOOL "Build the SMP module") -set(EOMPI "false" CACHE BOOL "Build the MPI module") - -## EO Module -set(EO_MODULE_NAME "Evolving Object") -set(CMAKE_SOURCE_DIR ${EO_SRC_DIR}) -add_subdirectory(${EO_SRC_DIR}) - -if(NOT EO_ONLY) - ## MO Module - set(MO_MODULE_NAME "Moving objects") - set(CMAKE_SOURCE_DIR ${MO_SRC_DIR}) - add_subdirectory(${MO_SRC_DIR}) - - ## EDO Module - #if(EDO) - set(EDO_MODULE_NAME "Evolving Distribution Objects") - set(CMAKE_SOURCE_DIR ${EDO_SRC_DIR}) - add_subdirectory(${EDO_SRC_DIR}) - #endif() - - ## MOEO Module - set(MOEO_MODULE_NAME "Multi-Objectives EO") - set(CMAKE_SOURCE_DIR ${MOEO_SRC_DIR}) - add_subdirectory(${MOEO_SRC_DIR}) - - ## SMP Module - if(SMP) - set(SMP_MODULE_NAME "Symmetric Multi-Processing") - set(CMAKE_SOURCE_DIR ${SMP_SRC_DIR}) - add_subdirectory(${SMP_SRC_DIR}) - endif() - - ## EOMPI Module - if(EOMPI) - find_package(MPI REQUIRED) - add_definitions(-DWITH_MPI) - set(CMAKE_CXX_COMPILE_FLAGS ${CMAKE_CXX_COMPILE_FLAGS} ${MPI_COMPILE_FLAGS}) - set(CMAKE_CXX_LINK_FLAGS ${CMAKE_CXX_LINK_FLAGS} ${MPI_LINK_FLAGS}) - include_directories(${EOMPI_INCLUDE_PATH}) - add_subdirectory(${EOMPI_SRC_DIR}) - endif() - - ## EOSERIAL Module - #if(EOSERIAL) - set(EOSERIAL_MODULE_NAME "Serialization Module") - set(CMAKE_SOURCE_DIR ${EOSERIAL_SRC_DIR}) - add_subdirectory(${EOSERIAL_SRC_DIR}) - #endif() -endif() +set(EDO_USE_LIB "Eigen3" CACHE STRING "Which linear algebra library to use to build EDO ('UBlas' or 'Eigen3', Eigen3 is recommended)") + +set( EO_TEST_DIR "${CMAKE_SOURCE_DIR}/test/eo" CACHE INTERNAL "ParadisEO-EO test directory" FORCE) +set( EDO_TEST_DIR "${CMAKE_SOURCE_DIR}/test/edo" CACHE INTERNAL "ParadisEO-EDO test directory" FORCE) +set( MO_TEST_DIR "${CMAKE_SOURCE_DIR}/test/mo" CACHE INTERNAL "ParadisEO-MO test directory" FORCE) +set( MOEO_TEST_DIR "${CMAKE_SOURCE_DIR}/test/moeo" CACHE INTERNAL "ParadisEO-MOEO test directory" FORCE) +set( SMP_TEST_DIR "${CMAKE_SOURCE_DIR}/test/smp" CACHE INTERNAL "ParadisEO-SMP test directory" FORCE) +set( EOMPI_TEST_DIR "${CMAKE_SOURCE_DIR}/test/eompi" CACHE INTERNAL "ParadisEO-EOMPI test directory" FORCE) +set(EOSERIAL_TEST_DIR "${CMAKE_SOURCE_DIR}/test/eoserial" CACHE INTERNAL "ParadisEO-EOSERIAL test directory" FORCE) + +set( EO_TUTORIAL_DIR "${CMAKE_SOURCE_DIR}/tutorial/eo" CACHE INTERNAL "ParadisEO-EO tutorial directory" FORCE) +set( EDO_TUTORIAL_DIR "${CMAKE_SOURCE_DIR}/tutorial/edo" CACHE INTERNAL "ParadisEO-EDO tutorial directory" FORCE) +set( MO_TUTORIAL_DIR "${CMAKE_SOURCE_DIR}/tutorial/mo" CACHE INTERNAL "ParadisEO-MO tutorial directory" FORCE) +set( MOEO_TUTORIAL_DIR "${CMAKE_SOURCE_DIR}/tutorial/moeo" CACHE INTERNAL "ParadisEO-MOEO tutorial directory" FORCE) +set( SMP_TUTORIAL_DIR "${CMAKE_SOURCE_DIR}/tutorial/smp" CACHE INTERNAL "ParadisEO-SMP tutorial directory" FORCE) +set( EOMPI_TUTORIAL_DIR "${CMAKE_SOURCE_DIR}/tutorial/eompi" CACHE INTERNAL "ParadisEO-EOMPI tutorial directory" FORCE) +set(EOSERIAL_TUTORIAL_DIR "${CMAKE_SOURCE_DIR}/tutorial/eoserial" CACHE INTERNAL "ParadisEO-EOSERIAL tutorial directory" FORCE) + +###################################################################################### +### 5) Add sources +###################################################################################### + +add_subdirectory(src) +add_subdirectory(doc) + +if(ENABLE_CMAKE_EXAMPLE) + add_subdirectory(tutorial) +endif(ENABLE_CMAKE_EXAMPLE) + +if(ENABLE_CMAKE_TESTING) + add_subdirectory(test) +endif(ENABLE_CMAKE_TESTING) + ###################################################################################### -### 5) Packaging : only in release ! +### 6) Packaging : only in release ! ###################################################################################### if("${CMAKE_BUILD_TYPE}" STREQUAL "Release") diff --git a/CTestConfig.cmake b/CTestConfig.cmake old mode 100644 new mode 100755 diff --git a/ForRelease b/ForRelease old mode 100644 new mode 100755 diff --git a/INSTALL b/INSTALL old mode 100644 new mode 100755 diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/README b/README old mode 100644 new mode 100755 index c989a97b5..d741b0ef0 --- a/README +++ b/README @@ -8,6 +8,7 @@ The current release is paradisEO-2.0 ========================================================================================== INSTALLATION ========================================================================================== + The basic installation procedure must be done in a separatly folder in order to keep your file tree clean. @@ -22,8 +23,9 @@ Please refer to paradisEO website or INSTALL file for further information about installation types and options. ========================================================================================== - DIRECTORY STRUCTURE + DIRECTORY OLD STRUCTURE ========================================================================================== + After unpacking the archive file, you should end up with the following structure: @@ -36,32 +38,83 @@ structure: +-- cmake/ CMake dir | | - +-- CMakeLists.txt For building process + +-- CMakeLists.txt For building process | | - +-- CTestConfig.cmake For testing process + +-- CTestConfig.cmake For testing process | | - +-- INSTALL INSTALL file + +-- INSTALL INSTALL file | | +-- LICENCE Licence contents | | - +-- paradiseo-eo paradiseo-eo dir + +-- paradiseo-eo paradiseo-eo dir | | - +-- paradiseo-mo paradiseo-mo dir + +-- paradiseo-mo paradiseo-mo dir | | - +-- paradiseo-moeo paradiseo-moeo dir + +-- paradiseo-moeo paradiseo-moeo dir | | - +-- problems classical problems evaluation functions + +-- problems classical problems evaluation functions | | +-- README README file +========================================================================================== + DIRECTORY NEW STRUCTURE +========================================================================================== + +After unpacking the archive file, you should end up with the following +structure: + +.../ + | + | + +-- AUTHORS Author list + | + | + +-- cmake/ CMake dir + | + | + +-- CMakeLists.txt For building process + | + | + +-- CTestConfig.cmake For testing process + | + | + +-- INSTALL INSTALL file + | + | + +-- LICENCE Licence contents + | + | + +-- src src dir + | + | + +-- test tests dir + | + | + +-- tutorial tutorials dir + | + | + +-- doc documentation src + | + | + +-- deprecated deprecated module + | + | + +-- websites index of the paradiseo-website + | + | + +-- ForRelease how to create a new release + | + | + +-- README README file + ========================================================================================== NOTES ========================================================================================== @@ -78,6 +131,7 @@ problems for the installation. ========================================================================================== CONTACT ========================================================================================== + For further information about ParadisEO, help or to report any problem : paradiseo-help@lists.gforge.inria.fr diff --git a/edo/build_gcc_linux_debug b/build_gcc_linux_debug similarity index 100% rename from edo/build_gcc_linux_debug rename to build_gcc_linux_debug diff --git a/edo/build_gcc_linux_eigen_debug b/build_gcc_linux_eigen_debug similarity index 100% rename from edo/build_gcc_linux_eigen_debug rename to build_gcc_linux_eigen_debug diff --git a/build_gcc_linux_install b/build_gcc_linux_install new file mode 100755 index 000000000..8c8d308b5 --- /dev/null +++ b/build_gcc_linux_install @@ -0,0 +1,250 @@ +#!/usr/bin/env sh + +color() { + echo $(tput bold)$(tput setaf $1)$2$(tput sgr0) +} + +################################################################################## +# This script allows you to compile and install the sources, tests, tutorials, # +# and documentation of the framework depending on what you want to do! # +# # +# Launch this script on your terminal and let it be your guide ! # +################################################################################## + +mkdir -pv build +cd build + +color 5 '\nDefine CMAKE cache values.\n' + +################################## +# choose modules for compilation # +# default modules: only EO # +################################## + +FLAG="-DEO_ONLY=false" #default + +color 1 'Do you want to compile the EO module only (false by default)?(y/n)' +read res + +if [ "$res" = "y" ]; then + FLAG="-DEO_ONLY=true" +else + color 1 'Do you want to compile the EDO module (no by default)?(y/n)' + read res + + if [ "$res" = "y" ]; then + FLAG=$FLAG' '" -DEDO=true" + + ################################## + # choose the library used by EDO # + # default library: Eigen3 # + ################################## + + color 1 'Compile EDO module with uBLAS (Eigen3 by default)?(y/n)' + read res + + if [ "$res" = "y" ]; then + FLAG=$FLAG' '" -DEDO_USE_LIB=uBLAS" + else + FLAG=$FLAG' '" -DEDO_USE_LIB=Eigen3" + fi #EDO_USE_LIB + else + FLAG=$FLAG' '" -DEDO=false" #default + fi #EDO + + color 1 'Do you want to compile the SMP module (no by default)?(y/n)' + read res + + if [ "$res" = "y" ]; then + FLAG=$FLAG' '" -DSMP=true" + else + FLAG=$FLAG' '" -DSMP=false" + fi #SMP + + color 1 'Do you want to compile the MOEO module (no by default)?(y/n)' + read res + + if [ "$res" = "y" ]; then + FLAG=$FLAG' '" -DMOEO=true" + else + FLAG=$FLAG' '" -DMOEO=false" + fi #MOEO + + color 1 'Do you want to compile the MO module (no by default)?(y/n)' + read res + + if [ "$res" = "y" ]; then + FLAG=$FLAG' '" -DMO=true" + else + FLAG=$FLAG' '" -DMO=false" + fi #MO + + color 1 'Do you want to compile the EOSERIAL module (no by default)?(y/n)' + read res + + if [ "$res" = "y" ]; then + FLAG=$FLAG' '" -DEOSERIAL=true" + else + FLAG=$FLAG' '" -DEOSERIAL=false" + fi #EOSERIAL + + color 1 'Do you want to compile the EOMPI module (no by default)?(y/n)' + read res + + if [ "$res" = "y" ]; then + FLAG=$FLAG' '" -DEOMPI=true" + else + FLAG=$FLAG' '" -DEOMPI=false" + fi #EOMPI + +fi #EO_ONLY + +################## +# Other settings # +################## + +color 1 'Do you want to enable GNUPLOT (no by default)?(y/n)' +read res + +if [ "$res" = "y" ]; then + FLAG=$FLAG' '" -DENABLE_GNUPLOT=true" +else + FLAG=$FLAG' '" -DENABLE_GNUPLOT=false" +fi #ENABLE_GNUPLOT + +color 1 'Do you want to enable OPENMP (no by default)?(y/n)' +read res + +if [ "$res" = "y" ]; then + FLAG=$FLAG' '" -DENABLE_OPENMP=true" +else + FLAG=$FLAG' '" -DENABLE_OPENMP=false" +fi #ENABLE_OPENMP + +color 5 "\nset $FLAG\n" + +cmake $FLAG .. + +############### +# compile doc # +# default: no # +############### + +color 1 '\nDo you want to compile the documentation (be patient it can be a bit long)?(y/n)' +read res + +if [ "$res" = "y" ]; then + + make doc +fi + +############################################## +# install sources on your laptop # +# default path: /usr/local/include/paradiseo # +############################################## + +color 1 '\nDo you want to install the sources on your laptop?(y/n) +If "no" you will not be able to compile tests or tutorials +which require the project library installation on your laptop.' +read res + +if [ "$res" = "y" ]; then + + color 5 '\nOk. For your information we let you the possibility +to change the install path on your laptop but also to +personalize the project name in order to avoid some +name conflicts with headers. +Go see the script line 166-170 to see what it looks like.' + + color 1 'Continue the installation?(y/n)' + read res + + if [ "$res" = "n" ]; then + exit + fi + + #cmake -DCMAKE_INSTALL_PREFIX=new_path .. #default + #cmake -DCMAKE_INSTALL_PREFIX=/usr/local .. + + #cmake -DPROJECT_HDRS_INSTALL_SUBPATH=/include .. #default + #cmake -DPROJECT_TAG=paradiseo .. #default + + sudo make install + + ################# + # compile tests # + # default: no # + ################# + + color 1 '\nDo you want to compile tests?(y/n)' + read test_compile + + if [ "$test_compile" = "y" ]; then + + FLAG=$FLAG' '" -DENABLE_CMAKE_TESTING=true" + + else + + FLAG=$FLAG' '" -DENABLE_CMAKE_TESTING=false" + + fi + + ##################### + # compile tutorials # + # default: no # + ##################### + + color 1 'Do you want to compile tutorials?(y/n)' + read tutorial_compile + + if [ "$tutorial_compile" = "y" ]; then + + FLAG=$FLAG' '" -DENABLE_CMAKE_EXAMPLE=true" + + else + + FLAG=$FLAG' '" -DENABLE_CMAKE_EXAMPLE=false" + + fi + + color 5 "\nset $FLAG\n" + cmake $FLAG .. + + if [ "$test_compile" = "y" ] || [ "$tutorial_compile" = "y" ]; then + + color 1 'And do you want to install tests or tutorials?(y/n)' + read install + + + if [ "$install" = "y" ]; then + + sudo make install + + else + + make + + fi + + fi + + ################# + # execute tests # + ################# + + if [ "$test_compile" = "y" ] && [ "$install" = "y" ]; then + + color 1 'Do you want to execute the tests?(y/n)' + read test_execute + + if [ "$test_execute" = "y" ]; then + + ctest .. + fi + fi + +else + + make + +fi diff --git a/edo/build_gcc_linux_release b/build_gcc_linux_release similarity index 100% rename from edo/build_gcc_linux_release rename to build_gcc_linux_release diff --git a/cmake/Config.cmake b/cmake/Config.cmake old mode 100644 new mode 100755 index 02593bac3..a1a709c6e --- a/cmake/Config.cmake +++ b/cmake/Config.cmake @@ -68,7 +68,7 @@ endif(PROFILING) ###################################################################################### ### 3) Testing part ###################################################################################### - + if(ENABLE_CMAKE_TESTING) enable_testing() include(CTest REQUIRED) @@ -85,8 +85,13 @@ set(ENABLE_CMAKE_EXAMPLE "true" CACHE BOOL "ParadisEO examples") ###################################################################################### if(UNIX) - set(INSTALL_SUB_DIR /paradiseo) -endif() - + set(PROJECT_TAG "paradiseo" CACHE STRING "Project name as installation prefix") + # Define the path where the project headers have to be installed and where they can be found (linker) + set(PROJECT_HDRS_INSTALL_SUBPATH /include CACHE PATH "Install subpath towards the project header") + set(PROJECT_HDRS_INSTALL_SUBPATH ${CMAKE_INSTALL_PREFIX}${PROJECT_HDRS_INSTALL_SUBPATH}) +endif() +if (ENABLE_CMAKE_TESTING OR ENABLE_CMAKE_EXAMPLE) + message("Warning: Please ensure that you have executed the 'sudo make install' command before asking the compilation of the tests or examples.") +endif () \ No newline at end of file diff --git a/cmake/Macro.cmake b/cmake/Macro.cmake old mode 100644 new mode 100755 index 018c439f9..fed828db4 --- a/cmake/Macro.cmake +++ b/cmake/Macro.cmake @@ -30,7 +30,7 @@ macro(add_lesson module target files) elseif(${module} MATCHES smp) target_link_libraries(${i} smp eo eoutils) endif() - install(TARGETS ${i} RUNTIME DESTINATION share${INSTALL_SUB_DIR}/${module}/tutorial/${target} COMPONENT examples) + install(TARGETS ${i} RUNTIME DESTINATION share/${PROJECT_TAG}/${module}/tutorial/${target} COMPONENT examples) endforeach(i) # Custom target diff --git a/cmake/Package.cmake b/cmake/Package.cmake old mode 100644 new mode 100755 diff --git a/cmake/Target.cmake b/cmake/Target.cmake old mode 100644 new mode 100755 index 96c548a27..b5143982e --- a/cmake/Target.cmake +++ b/cmake/Target.cmake @@ -11,27 +11,27 @@ endif(UNIX) ###################################################################################### if(DOXYGEN_FOUND AND DOXYGEN_EXECUTABLE) + add_custom_target(doc + COMMAND make doc-eo) if(NOT EO_ONLY) + if(EDO) + add_dependencies(doc + COMMAND make doc-edo) + endif(EDO) + if(MO) + add_dependencies(doc + COMMAND make doc-mo) + endif(MO) + if(MOEO) + add_dependencies(doc + COMMAND make doc-moeo) + endif(MOEO) if(SMP) - add_custom_target(doc - COMMAND make doc-eo - COMMAND make doc-edo - COMMAND make doc-mo - COMMAND make doc-moeo - COMMAND make doc-smp - ) - else() - add_custom_target(doc - COMMAND make doc-eo - COMMAND make doc-edo - COMMAND make doc-mo - COMMAND make doc-moeo - ) + add_dependencies(doc + COMMAND make doc-smp) endif(SMP) - else() - add_custom_target(doc - COMMAND make doc-eo - ) + # no independent documentations for eompi, eoserial modules for the moment + # maybe go check the eo module documentation endif(NOT EO_ONLY) endif(DOXYGEN_FOUND AND DOXYGEN_EXECUTABLE) diff --git a/edo/cmake/modules/FindEO.cmake b/cmake/module/FindEO.cmake old mode 100644 new mode 100755 similarity index 100% rename from edo/cmake/modules/FindEO.cmake rename to cmake/module/FindEO.cmake diff --git a/cmake/module/FindEigen3.cmake b/cmake/module/FindEigen3.cmake old mode 100644 new mode 100755 diff --git a/cmake/module/FindParadiseo.cmake b/cmake/module/FindParadiseo.cmake old mode 100644 new mode 100755 index 4e62f07dd..f64122029 --- a/cmake/module/FindParadiseo.cmake +++ b/cmake/module/FindParadiseo.cmake @@ -35,7 +35,7 @@ # target_link_libraries(examplep ${PARADISEO_LIBRARIES}) if(UNIX) - set(INSTALL_SUB_DIR /paradiseo) + set(PROJECT_TAG /paradiseo) endif() # enabled components @@ -63,19 +63,19 @@ set(PARADISEO_SRC_PATHS ) find_path(EO_INCLUDE_DIR eo - PATH_SUFFIXES include${INSTALL_SUB_DIR}/eo eo/src + PATH_SUFFIXES include/${PROJECT_TAG}/eo eo/src PATHS ${PARADISEO_SRC_PATHS}) find_path(MO_INCLUDE_DIR mo - PATH_SUFFIXES include${INSTALL_SUB_DIR}/mo mo/src + PATH_SUFFIXES include/${PROJECT_TAG}/mo mo/src PATHS ${PARADISEO_SRC_PATHS}) find_path(MOEO_INCLUDE_DIR moeo - PATH_SUFFIXES include${INSTALL_SUB_DIR}/moeo moeo/src + PATH_SUFFIXES include/${PROJECT_TAG}/moeo moeo/src PATHS ${PARADISEO_SRC_PATHS}) find_path(EOSERIAL_INCLUDE_DIR eoserial - PATH_SUFFIXES include${INSTALL_SUB_DIR}/eoserial eoserial/src + PATH_SUFFIXES include/${PROJECT_TAG}/eoserial eoserial/src PATHS ${PARADISEO_SRC_PATHS}) # Specific for SMP and PEO @@ -83,22 +83,22 @@ foreach(COMP ${PARADISEO_LIBRARIES_TO_FIND}) if(${COMP} STREQUAL "smp") set(SMP_FOUND true) find_path(SMP_INCLUDE_DIR smp - PATH_SUFFIXES include${INSTALL_SUB_DIR}/smp smp/src + PATH_SUFFIXES include/${PROJECT_TAG}/smp smp/src PATHS ${PARADISEO_SRC_PATHS}) elseif(${COMP} STREQUAL "peo") set(PEO_FOUND true) find_path(PEO_INCLUDE_DIR peo - PATH_SUFFIXES include${INSTALL_SUB_DIR}/peo peo/src + PATH_SUFFIXES include/${PROJECT_TAG}/peo peo/src PATHS ${PARADISEO_SRC_PATHS}) elseif(${COMP} STREQUAL "edo") set(EDO_FOUND true) find_path(EDO_INCLUDE_DIR edo - PATH_SUFFIXES include${INSTALL_SUB_DIR}/edo edo/src + PATH_SUFFIXES include/${PROJECT_TAG}/edo edo/src PATHS ${PARADISEO_SRC_PATHS}) elseif(${COMP} STREQUAL "eompi") set(EOMPI_FOUND true) find_path(EOMPI_INCLUDE_DIR eompi - PATH_SUFFIXES include${INSTALL_SUB_DIR}/eompi eompi/src + PATH_SUFFIXES include/${PROJECT_TAG}/eompi eompi/src PATHS ${PARADISEO_SRC_PATHS}) endif() endforeach() diff --git a/deprecated/eo/AUTHORS b/deprecated/eo/AUTHORS old mode 100644 new mode 100755 diff --git a/deprecated/eo/BuildConfig.cmake b/deprecated/eo/BuildConfig.cmake old mode 100644 new mode 100755 diff --git a/deprecated/eo/CHANGELOG b/deprecated/eo/CHANGELOG old mode 100644 new mode 100755 diff --git a/deprecated/eo/CMakeLists.txt b/deprecated/eo/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/deprecated/eo/COPYING b/deprecated/eo/COPYING old mode 100644 new mode 100755 diff --git a/deprecated/eo/CTestConfig.cmake b/deprecated/eo/CTestConfig.cmake old mode 100644 new mode 100755 diff --git a/deprecated/eo/ConfigureChecks.cmake b/deprecated/eo/ConfigureChecks.cmake old mode 100644 new mode 100755 diff --git a/deprecated/eo/ForRelease b/deprecated/eo/ForRelease old mode 100644 new mode 100755 diff --git a/deprecated/eo/INSTALL b/deprecated/eo/INSTALL old mode 100644 new mode 100755 diff --git a/deprecated/eo/LICENSE b/deprecated/eo/LICENSE old mode 100644 new mode 100755 diff --git a/deprecated/eo/NEWS b/deprecated/eo/NEWS old mode 100644 new mode 100755 diff --git a/deprecated/eo/PKGBUILD.cmake b/deprecated/eo/PKGBUILD.cmake old mode 100644 new mode 100755 diff --git a/deprecated/eo/README b/deprecated/eo/README old mode 100644 new mode 100755 diff --git a/deprecated/eo/THANKS b/deprecated/eo/THANKS old mode 100644 new mode 100755 diff --git a/deprecated/eo/ToDo b/deprecated/eo/ToDo old mode 100644 new mode 100755 diff --git a/deprecated/eo/app/CMakeLists.txt b/deprecated/eo/app/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/deprecated/eo/app/gprop/CMakeLists.txt b/deprecated/eo/app/gprop/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/deprecated/eo/app/gprop/gprop.cpp b/deprecated/eo/app/gprop/gprop.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/app/gprop/gprop.h b/deprecated/eo/app/gprop/gprop.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/app/gprop/l2.h b/deprecated/eo/app/gprop/l2.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/app/gprop/mlp.h b/deprecated/eo/app/gprop/mlp.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/app/gprop/mse.h b/deprecated/eo/app/gprop/mse.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/app/gprop/qp.h b/deprecated/eo/app/gprop/qp.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/app/gprop/vecop.h b/deprecated/eo/app/gprop/vecop.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/app/gpsymreg/CMakeLists.txt b/deprecated/eo/app/gpsymreg/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/deprecated/eo/app/gpsymreg/fitness.h b/deprecated/eo/app/gpsymreg/fitness.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/app/gpsymreg/main.cpp b/deprecated/eo/app/gpsymreg/main.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/app/gpsymreg/node.h b/deprecated/eo/app/gpsymreg/node.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/app/gpsymreg/parameters.h b/deprecated/eo/app/gpsymreg/parameters.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/app/mastermind/CMakeLists.txt b/deprecated/eo/app/mastermind/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/deprecated/eo/app/mastermind/mastermind.cpp b/deprecated/eo/app/mastermind/mastermind.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/app/mastermind/mastermind.h b/deprecated/eo/app/mastermind/mastermind.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/cmake/modules/FindEO.cmake b/deprecated/eo/cmake/modules/FindEO.cmake old mode 100644 new mode 100755 diff --git a/deprecated/eo/config.h.cmake b/deprecated/eo/config.h.cmake old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/MGE/ChangeLog b/deprecated/eo/contrib/MGE/ChangeLog old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/MGE/VirusOp.h b/deprecated/eo/contrib/MGE/VirusOp.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/MGE/eoInitVirus.h b/deprecated/eo/contrib/MGE/eoInitVirus.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/MGE/eoVirus.h b/deprecated/eo/contrib/MGE/eoVirus.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config.hpp b/deprecated/eo/contrib/boost/config.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/abi_prefix.hpp b/deprecated/eo/contrib/boost/config/abi_prefix.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/abi_suffix.hpp b/deprecated/eo/contrib/boost/config/abi_suffix.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/auto_link.hpp b/deprecated/eo/contrib/boost/config/auto_link.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/compiler/borland.hpp b/deprecated/eo/contrib/boost/config/compiler/borland.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/compiler/comeau.hpp b/deprecated/eo/contrib/boost/config/compiler/comeau.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/compiler/common_edg.hpp b/deprecated/eo/contrib/boost/config/compiler/common_edg.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/compiler/compaq_cxx.hpp b/deprecated/eo/contrib/boost/config/compiler/compaq_cxx.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/compiler/digitalmars.hpp b/deprecated/eo/contrib/boost/config/compiler/digitalmars.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/compiler/gcc.hpp b/deprecated/eo/contrib/boost/config/compiler/gcc.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/compiler/greenhills.hpp b/deprecated/eo/contrib/boost/config/compiler/greenhills.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/compiler/hp_acc.hpp b/deprecated/eo/contrib/boost/config/compiler/hp_acc.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/compiler/intel.hpp b/deprecated/eo/contrib/boost/config/compiler/intel.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/compiler/kai.hpp b/deprecated/eo/contrib/boost/config/compiler/kai.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/compiler/metrowerks.hpp b/deprecated/eo/contrib/boost/config/compiler/metrowerks.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/compiler/mpw.hpp b/deprecated/eo/contrib/boost/config/compiler/mpw.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/compiler/sgi_mipspro.hpp b/deprecated/eo/contrib/boost/config/compiler/sgi_mipspro.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/compiler/sunpro_cc.hpp b/deprecated/eo/contrib/boost/config/compiler/sunpro_cc.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/compiler/vacpp.hpp b/deprecated/eo/contrib/boost/config/compiler/vacpp.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/compiler/visualc.hpp b/deprecated/eo/contrib/boost/config/compiler/visualc.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/platform/aix.hpp b/deprecated/eo/contrib/boost/config/platform/aix.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/platform/amigaos.hpp b/deprecated/eo/contrib/boost/config/platform/amigaos.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/platform/beos.hpp b/deprecated/eo/contrib/boost/config/platform/beos.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/platform/bsd.hpp b/deprecated/eo/contrib/boost/config/platform/bsd.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/platform/cygwin.hpp b/deprecated/eo/contrib/boost/config/platform/cygwin.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/platform/hpux.hpp b/deprecated/eo/contrib/boost/config/platform/hpux.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/platform/irix.hpp b/deprecated/eo/contrib/boost/config/platform/irix.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/platform/linux.hpp b/deprecated/eo/contrib/boost/config/platform/linux.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/platform/macos.hpp b/deprecated/eo/contrib/boost/config/platform/macos.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/platform/solaris.hpp b/deprecated/eo/contrib/boost/config/platform/solaris.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/platform/win32.hpp b/deprecated/eo/contrib/boost/config/platform/win32.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/posix_features.hpp b/deprecated/eo/contrib/boost/config/posix_features.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/requires_threads.hpp b/deprecated/eo/contrib/boost/config/requires_threads.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/select_compiler_config.hpp b/deprecated/eo/contrib/boost/config/select_compiler_config.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/select_platform_config.hpp b/deprecated/eo/contrib/boost/config/select_platform_config.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/select_stdlib_config.hpp b/deprecated/eo/contrib/boost/config/select_stdlib_config.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/stdlib/dinkumware.hpp b/deprecated/eo/contrib/boost/config/stdlib/dinkumware.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/stdlib/libcomo.hpp b/deprecated/eo/contrib/boost/config/stdlib/libcomo.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/stdlib/libstdcpp3.hpp b/deprecated/eo/contrib/boost/config/stdlib/libstdcpp3.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/stdlib/modena.hpp b/deprecated/eo/contrib/boost/config/stdlib/modena.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/stdlib/msl.hpp b/deprecated/eo/contrib/boost/config/stdlib/msl.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/stdlib/roguewave.hpp b/deprecated/eo/contrib/boost/config/stdlib/roguewave.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/stdlib/sgi.hpp b/deprecated/eo/contrib/boost/config/stdlib/sgi.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/stdlib/stlport.hpp b/deprecated/eo/contrib/boost/config/stdlib/stlport.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/stdlib/vacpp.hpp b/deprecated/eo/contrib/boost/config/stdlib/vacpp.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/suffix.hpp b/deprecated/eo/contrib/boost/config/suffix.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/config/user.hpp b/deprecated/eo/contrib/boost/config/user.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/limits.hpp b/deprecated/eo/contrib/boost/limits.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval.hpp b/deprecated/eo/contrib/boost/numeric/interval.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/arith.hpp b/deprecated/eo/contrib/boost/numeric/interval/arith.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/arith2.hpp b/deprecated/eo/contrib/boost/numeric/interval/arith2.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/arith3.hpp b/deprecated/eo/contrib/boost/numeric/interval/arith3.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/checking.hpp b/deprecated/eo/contrib/boost/numeric/interval/checking.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/compare.hpp b/deprecated/eo/contrib/boost/numeric/interval/compare.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/compare/certain.hpp b/deprecated/eo/contrib/boost/numeric/interval/compare/certain.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/compare/explicit.hpp b/deprecated/eo/contrib/boost/numeric/interval/compare/explicit.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/compare/lexicographic.hpp b/deprecated/eo/contrib/boost/numeric/interval/compare/lexicographic.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/compare/possible.hpp b/deprecated/eo/contrib/boost/numeric/interval/compare/possible.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/compare/set.hpp b/deprecated/eo/contrib/boost/numeric/interval/compare/set.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/compare/tribool.hpp b/deprecated/eo/contrib/boost/numeric/interval/compare/tribool.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/constants.hpp b/deprecated/eo/contrib/boost/numeric/interval/constants.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/detail/bcc_rounding_control.hpp b/deprecated/eo/contrib/boost/numeric/interval/detail/bcc_rounding_control.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/detail/bugs.hpp b/deprecated/eo/contrib/boost/numeric/interval/detail/bugs.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/detail/c99_rounding_control.hpp b/deprecated/eo/contrib/boost/numeric/interval/detail/c99_rounding_control.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/detail/c99sub_rounding_control.hpp b/deprecated/eo/contrib/boost/numeric/interval/detail/c99sub_rounding_control.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/detail/division.hpp b/deprecated/eo/contrib/boost/numeric/interval/detail/division.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/detail/interval_prototype.hpp b/deprecated/eo/contrib/boost/numeric/interval/detail/interval_prototype.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/detail/msvc_rounding_control.hpp b/deprecated/eo/contrib/boost/numeric/interval/detail/msvc_rounding_control.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/detail/ppc_rounding_control.hpp b/deprecated/eo/contrib/boost/numeric/interval/detail/ppc_rounding_control.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/detail/sparc_rounding_control.hpp b/deprecated/eo/contrib/boost/numeric/interval/detail/sparc_rounding_control.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/detail/test_input.hpp b/deprecated/eo/contrib/boost/numeric/interval/detail/test_input.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/detail/x86_rounding_control.hpp b/deprecated/eo/contrib/boost/numeric/interval/detail/x86_rounding_control.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/detail/x86gcc_rounding_control.hpp b/deprecated/eo/contrib/boost/numeric/interval/detail/x86gcc_rounding_control.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/ext/integer.hpp b/deprecated/eo/contrib/boost/numeric/interval/ext/integer.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/ext/x86_fast_rounding_control.hpp b/deprecated/eo/contrib/boost/numeric/interval/ext/x86_fast_rounding_control.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/hw_rounding.hpp b/deprecated/eo/contrib/boost/numeric/interval/hw_rounding.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/interval.hpp b/deprecated/eo/contrib/boost/numeric/interval/interval.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/io.hpp b/deprecated/eo/contrib/boost/numeric/interval/io.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/limits.hpp b/deprecated/eo/contrib/boost/numeric/interval/limits.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/policies.hpp b/deprecated/eo/contrib/boost/numeric/interval/policies.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/rounded_arith.hpp b/deprecated/eo/contrib/boost/numeric/interval/rounded_arith.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/rounded_transc.hpp b/deprecated/eo/contrib/boost/numeric/interval/rounded_transc.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/rounding.hpp b/deprecated/eo/contrib/boost/numeric/interval/rounding.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/transc.hpp b/deprecated/eo/contrib/boost/numeric/interval/transc.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/boost/numeric/interval/utility.hpp b/deprecated/eo/contrib/boost/numeric/interval/utility.hpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/eoAged.h b/deprecated/eo/contrib/eoAged.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/eoDrawable.h b/deprecated/eo/contrib/eoDrawable.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/COPYING b/deprecated/eo/contrib/mathsym/COPYING old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/GNUmakefile b/deprecated/eo/contrib/mathsym/GNUmakefile old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/README b/deprecated/eo/contrib/mathsym/README old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/README.TCC b/deprecated/eo/contrib/mathsym/README.TCC old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/eo_interface/eoSym.h b/deprecated/eo/contrib/mathsym/eo_interface/eoSym.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/eo_interface/eoSymCrossover.cpp b/deprecated/eo/contrib/mathsym/eo_interface/eoSymCrossover.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/eo_interface/eoSymCrossover.h b/deprecated/eo/contrib/mathsym/eo_interface/eoSymCrossover.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/eo_interface/eoSymEval.h b/deprecated/eo/contrib/mathsym/eo_interface/eoSymEval.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/eo_interface/eoSymInit.h b/deprecated/eo/contrib/mathsym/eo_interface/eoSymInit.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/eo_interface/eoSymLambdaMutate.cpp b/deprecated/eo/contrib/mathsym/eo_interface/eoSymLambdaMutate.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/eo_interface/eoSymLambdaMutate.h b/deprecated/eo/contrib/mathsym/eo_interface/eoSymLambdaMutate.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/eo_interface/eoSymMutate.cpp b/deprecated/eo/contrib/mathsym/eo_interface/eoSymMutate.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/eo_interface/eoSymMutate.h b/deprecated/eo/contrib/mathsym/eo_interface/eoSymMutate.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/eval/BoundsCheck.cpp b/deprecated/eo/contrib/mathsym/eval/BoundsCheck.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/eval/BoundsCheck.h b/deprecated/eo/contrib/mathsym/eval/BoundsCheck.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/eval/Interval.h b/deprecated/eo/contrib/mathsym/eval/Interval.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/eval/MultiFuncs.cpp b/deprecated/eo/contrib/mathsym/eval/MultiFuncs.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/eval/MultiFunction.cpp b/deprecated/eo/contrib/mathsym/eval/MultiFunction.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/eval/MultiFunction.h b/deprecated/eo/contrib/mathsym/eval/MultiFunction.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/eval/c_compile.c b/deprecated/eo/contrib/mathsym/eval/c_compile.c old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/eval/sym_compile.cpp b/deprecated/eo/contrib/mathsym/eval/sym_compile.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/eval/sym_compile.h b/deprecated/eo/contrib/mathsym/eval/sym_compile.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/fun/FunDef.cpp b/deprecated/eo/contrib/mathsym/fun/FunDef.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/fun/FunDef.h b/deprecated/eo/contrib/mathsym/fun/FunDef.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/fun/SymOps.cpp b/deprecated/eo/contrib/mathsym/fun/SymOps.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/fun/SymOps.h b/deprecated/eo/contrib/mathsym/fun/SymOps.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/fun/sym_operations.cpp b/deprecated/eo/contrib/mathsym/fun/sym_operations.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/fun/util.cpp b/deprecated/eo/contrib/mathsym/fun/util.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/gen/LanguageTable.cpp b/deprecated/eo/contrib/mathsym/gen/LanguageTable.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/gen/LanguageTable.h b/deprecated/eo/contrib/mathsym/gen/LanguageTable.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/gen/NodeSelector.cpp b/deprecated/eo/contrib/mathsym/gen/NodeSelector.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/gen/NodeSelector.h b/deprecated/eo/contrib/mathsym/gen/NodeSelector.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/gen/TreeBuilder.cpp b/deprecated/eo/contrib/mathsym/gen/TreeBuilder.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/gen/TreeBuilder.h b/deprecated/eo/contrib/mathsym/gen/TreeBuilder.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/header b/deprecated/eo/contrib/mathsym/header old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/regression/Dataset.cpp b/deprecated/eo/contrib/mathsym/regression/Dataset.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/regression/Dataset.h b/deprecated/eo/contrib/mathsym/regression/Dataset.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/regression/ErrorMeasure.cpp b/deprecated/eo/contrib/mathsym/regression/ErrorMeasure.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/regression/ErrorMeasure.h b/deprecated/eo/contrib/mathsym/regression/ErrorMeasure.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/regression/Scaling.cpp b/deprecated/eo/contrib/mathsym/regression/Scaling.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/regression/Scaling.h b/deprecated/eo/contrib/mathsym/regression/Scaling.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/regression/TargetInfo.cpp b/deprecated/eo/contrib/mathsym/regression/TargetInfo.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/regression/TargetInfo.h b/deprecated/eo/contrib/mathsym/regression/TargetInfo.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/regression/stats.h b/deprecated/eo/contrib/mathsym/regression/stats.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/shared_ptr.h b/deprecated/eo/contrib/mathsym/shared_ptr.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/sym/README.cpp b/deprecated/eo/contrib/mathsym/sym/README.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/sym/Sym.cpp b/deprecated/eo/contrib/mathsym/sym/Sym.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/sym/Sym.h b/deprecated/eo/contrib/mathsym/sym/Sym.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/sym/SymImpl.cpp b/deprecated/eo/contrib/mathsym/sym/SymImpl.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/sym/SymImpl.h b/deprecated/eo/contrib/mathsym/sym/SymImpl.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/sym/token.h b/deprecated/eo/contrib/mathsym/sym/token.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/symreg.cpp b/deprecated/eo/contrib/mathsym/symreg.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/tcc.tar.gz b/deprecated/eo/contrib/mathsym/tcc.tar.gz old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/tcc_patched.tar.gz b/deprecated/eo/contrib/mathsym/tcc_patched.tar.gz old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/test/test_compile.cpp b/deprecated/eo/contrib/mathsym/test/test_compile.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/test/test_diff.cpp b/deprecated/eo/contrib/mathsym/test/test_diff.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/test/test_lambda.cpp b/deprecated/eo/contrib/mathsym/test/test_lambda.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/test/test_mf.cpp b/deprecated/eo/contrib/mathsym/test/test_mf.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/test/test_simplify.cpp b/deprecated/eo/contrib/mathsym/test/test_simplify.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/test/testeo.cpp b/deprecated/eo/contrib/mathsym/test/testeo.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/contrib/mathsym/test_data.txt b/deprecated/eo/contrib/mathsym/test_data.txt old mode 100644 new mode 100755 diff --git a/deprecated/eo/doc/CMakeLists.txt b/deprecated/eo/doc/CMakeLists.txt old mode 100644 new mode 100755 index ac8c13ab2..74e4bed04 --- a/deprecated/eo/doc/CMakeLists.txt +++ b/deprecated/eo/doc/CMakeLists.txt @@ -39,7 +39,7 @@ IF (DOXYGEN_FOUND) INSTALL( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - DESTINATION local/share${INSTALL_SUB_DIR}/eo COMPONENT doc + DESTINATION local/share/${PROJECT_TAG}/eo COMPONENT doc PATTERN "CMakeFiles" EXCLUDE PATTERN "cmake_install.cmake" EXCLUDE PATTERN "Makefile" EXCLUDE diff --git a/deprecated/eo/doc/ChangeLog b/deprecated/eo/doc/ChangeLog old mode 100644 new mode 100755 diff --git a/deprecated/eo/doc/EO_EA2001.pdf b/deprecated/eo/doc/EO_EA2001.pdf old mode 100644 new mode 100755 diff --git a/deprecated/eo/doc/LeCreusot.pdf b/deprecated/eo/doc/LeCreusot.pdf old mode 100644 new mode 100755 diff --git a/deprecated/eo/doc/eo.cfg.cmake b/deprecated/eo/doc/eo.cfg.cmake old mode 100644 new mode 100755 diff --git a/deprecated/eo/doc/index.h b/deprecated/eo/doc/index.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/doc/mainpage.html b/deprecated/eo/doc/mainpage.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/doc/publications.html b/deprecated/eo/doc/publications.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/doc/sflogo-hammer1.jpg b/deprecated/eo/doc/sflogo-hammer1.jpg old mode 100644 new mode 100755 diff --git a/deprecated/eo/pc.cmake b/deprecated/eo/pc.cmake old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/CMakeLists.txt b/deprecated/eo/src/CMakeLists.txt old mode 100644 new mode 100755 index 7042e065e..6af653752 --- a/deprecated/eo/src/CMakeLists.txt +++ b/deprecated/eo/src/CMakeLists.txt @@ -24,10 +24,10 @@ ADD_LIBRARY(eo STATIC ${EO_SOURCES}) INSTALL(TARGETS eo ARCHIVE DESTINATION local/${LIB} COMPONENT libraries) FILE(GLOB HDRS *.h eo) -INSTALL(FILES ${HDRS} DESTINATION local/include${INSTALL_SUB_DIR}/eo COMPONENT headers) +INSTALL(FILES ${HDRS} DESTINATION local/include/${PROJECT_TAG}/eo COMPONENT headers) INSTALL(DIRECTORY do es ga gp other utils - DESTINATION local/include${INSTALL_SUB_DIR}/eo + DESTINATION local/include/${PROJECT_TAG}/eo COMPONENT headers FILES_MATCHING PATTERN "*.h" PATTERN "checkpointing" PATTERN external_eo ) diff --git a/deprecated/eo/src/EO.h b/deprecated/eo/src/EO.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/PO.h b/deprecated/eo/src/PO.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/apply.h b/deprecated/eo/src/apply.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/do/Readme b/deprecated/eo/src/do/Readme old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/do/make_algo_easea.h b/deprecated/eo/src/do/make_algo_easea.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/do/make_algo_scalar.h b/deprecated/eo/src/do/make_algo_scalar.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/do/make_checkpoint.h b/deprecated/eo/src/do/make_checkpoint.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/do/make_checkpoint_FDC.h b/deprecated/eo/src/do/make_checkpoint_FDC.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/do/make_checkpoint_assembled.h b/deprecated/eo/src/do/make_checkpoint_assembled.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/do/make_continue.h b/deprecated/eo/src/do/make_continue.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/do/make_general_replacement.h b/deprecated/eo/src/do/make_general_replacement.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/do/make_pop.h b/deprecated/eo/src/do/make_pop.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/do/make_run.h b/deprecated/eo/src/do/make_run.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eo b/deprecated/eo/src/eo old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoAlgo.h b/deprecated/eo/src/eoAlgo.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoBinaryFlight.h b/deprecated/eo/src/eoBinaryFlight.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoBitParticle.h b/deprecated/eo/src/eoBitParticle.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoBreed.h b/deprecated/eo/src/eoBreed.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoCellularEasyEA.h b/deprecated/eo/src/eoCellularEasyEA.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoCloneOps.h b/deprecated/eo/src/eoCloneOps.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoCombinedContinue.h b/deprecated/eo/src/eoCombinedContinue.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoCombinedInit.h b/deprecated/eo/src/eoCombinedInit.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoConstrictedVariableWeightVelocity.h b/deprecated/eo/src/eoConstrictedVariableWeightVelocity.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoConstrictedVelocity.h b/deprecated/eo/src/eoConstrictedVelocity.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoContinue.h b/deprecated/eo/src/eoContinue.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoCounter.h b/deprecated/eo/src/eoCounter.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoCtrlCContinue.cpp b/deprecated/eo/src/eoCtrlCContinue.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoCtrlCContinue.h b/deprecated/eo/src/eoCtrlCContinue.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoDetSelect.h b/deprecated/eo/src/eoDetSelect.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoDetTournamentSelect.h b/deprecated/eo/src/eoDetTournamentSelect.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoDistribUpdater.h b/deprecated/eo/src/eoDistribUpdater.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoDistribution.h b/deprecated/eo/src/eoDistribution.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoDualFitness.h b/deprecated/eo/src/eoDualFitness.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoEDA.h b/deprecated/eo/src/eoEDA.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoEasyEA.h b/deprecated/eo/src/eoEasyEA.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoEasyPSO.h b/deprecated/eo/src/eoEasyPSO.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoEvalContinue.h b/deprecated/eo/src/eoEvalContinue.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoEvalCounterThrowException.h b/deprecated/eo/src/eoEvalCounterThrowException.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoEvalFunc.h b/deprecated/eo/src/eoEvalFunc.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoEvalFuncCounter.h b/deprecated/eo/src/eoEvalFuncCounter.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoEvalFuncCounterBounder.h b/deprecated/eo/src/eoEvalFuncCounterBounder.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoEvalFuncPtr.h b/deprecated/eo/src/eoEvalFuncPtr.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoEvalTimeThrowException.h b/deprecated/eo/src/eoEvalTimeThrowException.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoEvalUserTimeThrowException.h b/deprecated/eo/src/eoEvalUserTimeThrowException.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoExceptions.h b/deprecated/eo/src/eoExceptions.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoExtendedVelocity.h b/deprecated/eo/src/eoExtendedVelocity.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoFactory.h b/deprecated/eo/src/eoFactory.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoFitContinue.h b/deprecated/eo/src/eoFitContinue.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoFitnessScalingSelect.h b/deprecated/eo/src/eoFitnessScalingSelect.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoFixedInertiaWeightedVelocity.h b/deprecated/eo/src/eoFixedInertiaWeightedVelocity.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoFlOrBinOp.h b/deprecated/eo/src/eoFlOrBinOp.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoFlOrMonOp.h b/deprecated/eo/src/eoFlOrMonOp.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoFlOrQuadOp.h b/deprecated/eo/src/eoFlOrQuadOp.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoFlight.h b/deprecated/eo/src/eoFlight.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoFunctor.h b/deprecated/eo/src/eoFunctor.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoFunctorStore.cpp b/deprecated/eo/src/eoFunctorStore.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoFunctorStore.h b/deprecated/eo/src/eoFunctorStore.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoG3Replacement.h b/deprecated/eo/src/eoG3Replacement.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoGaussRealWeightUp.h b/deprecated/eo/src/eoGaussRealWeightUp.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoGenContinue.h b/deprecated/eo/src/eoGenContinue.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoGenOp.h b/deprecated/eo/src/eoGenOp.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoGeneralBreeder.h b/deprecated/eo/src/eoGeneralBreeder.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoInit.h b/deprecated/eo/src/eoInit.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoInitializer.h b/deprecated/eo/src/eoInitializer.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoInt.h b/deprecated/eo/src/eoInt.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoIntegerVelocity.h b/deprecated/eo/src/eoIntegerVelocity.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoInvalidateOps.h b/deprecated/eo/src/eoInvalidateOps.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoLinearDecreasingWeightUp.h b/deprecated/eo/src/eoLinearDecreasingWeightUp.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoLinearFitScaling.h b/deprecated/eo/src/eoLinearFitScaling.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoLinearTopology.h b/deprecated/eo/src/eoLinearTopology.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoMGGReplacement.h b/deprecated/eo/src/eoMGGReplacement.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoMerge.h b/deprecated/eo/src/eoMerge.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoMergeReduce.h b/deprecated/eo/src/eoMergeReduce.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoNDSorting.h b/deprecated/eo/src/eoNDSorting.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoNeighborhood.h b/deprecated/eo/src/eoNeighborhood.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoObject.h b/deprecated/eo/src/eoObject.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoOneToOneBreeder.h b/deprecated/eo/src/eoOneToOneBreeder.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoOp.h b/deprecated/eo/src/eoOp.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoOpContainer.h b/deprecated/eo/src/eoOpContainer.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoOpSelMason.h b/deprecated/eo/src/eoOpSelMason.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoOrderXover.h b/deprecated/eo/src/eoOrderXover.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoPSO.h b/deprecated/eo/src/eoPSO.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoParticleBestInit.h b/deprecated/eo/src/eoParticleBestInit.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoParticleFullInitializer.h b/deprecated/eo/src/eoParticleFullInitializer.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoPerf2Worth.h b/deprecated/eo/src/eoPerf2Worth.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoPeriodicContinue.h b/deprecated/eo/src/eoPeriodicContinue.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoPersistent.cpp b/deprecated/eo/src/eoPersistent.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoPersistent.h b/deprecated/eo/src/eoPersistent.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoPop.h b/deprecated/eo/src/eoPop.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoPopEvalFunc.h b/deprecated/eo/src/eoPopEvalFunc.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoPopulator.h b/deprecated/eo/src/eoPopulator.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoPrintable.cpp b/deprecated/eo/src/eoPrintable.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoPrintable.h b/deprecated/eo/src/eoPrintable.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoPropGAGenOp.h b/deprecated/eo/src/eoPropGAGenOp.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoProportionalCombinedOp.h b/deprecated/eo/src/eoProportionalCombinedOp.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoProportionalSelect.h b/deprecated/eo/src/eoProportionalSelect.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoRandomRealWeightUp.h b/deprecated/eo/src/eoRandomRealWeightUp.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoRandomSelect.h b/deprecated/eo/src/eoRandomSelect.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoRanking.h b/deprecated/eo/src/eoRanking.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoRankingSelect.h b/deprecated/eo/src/eoRankingSelect.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoRealBoundModifier.h b/deprecated/eo/src/eoRealBoundModifier.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoRealParticle.h b/deprecated/eo/src/eoRealParticle.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoReduce.h b/deprecated/eo/src/eoReduce.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoReduceMerge.h b/deprecated/eo/src/eoReduceMerge.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoReduceMergeReduce.h b/deprecated/eo/src/eoReduceMergeReduce.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoReduceSplit.h b/deprecated/eo/src/eoReduceSplit.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoReplacement.h b/deprecated/eo/src/eoReplacement.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoRingTopology.h b/deprecated/eo/src/eoRingTopology.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoSGA.h b/deprecated/eo/src/eoSGA.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoSGAGenOp.h b/deprecated/eo/src/eoSGAGenOp.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoSGATransform.h b/deprecated/eo/src/eoSGATransform.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoSIGContinue.cpp b/deprecated/eo/src/eoSIGContinue.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoSIGContinue.h b/deprecated/eo/src/eoSIGContinue.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoSTLFunctor.h b/deprecated/eo/src/eoSTLFunctor.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoScalarFitness.h b/deprecated/eo/src/eoScalarFitness.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoScalarFitnessAssembled.cpp b/deprecated/eo/src/eoScalarFitnessAssembled.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoScalarFitnessAssembled.h b/deprecated/eo/src/eoScalarFitnessAssembled.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoSecondsElapsedContinue.h b/deprecated/eo/src/eoSecondsElapsedContinue.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoSelect.h b/deprecated/eo/src/eoSelect.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoSelectFactory.h b/deprecated/eo/src/eoSelectFactory.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoSelectFromWorth.h b/deprecated/eo/src/eoSelectFromWorth.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoSelectMany.h b/deprecated/eo/src/eoSelectMany.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoSelectNumber.h b/deprecated/eo/src/eoSelectNumber.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoSelectOne.h b/deprecated/eo/src/eoSelectOne.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoSelectPerc.h b/deprecated/eo/src/eoSelectPerc.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoSequentialSelect.h b/deprecated/eo/src/eoSequentialSelect.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoSharing.h b/deprecated/eo/src/eoSharing.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoSharingSelect.h b/deprecated/eo/src/eoSharingSelect.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoShiftMutation.h b/deprecated/eo/src/eoShiftMutation.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoSigBinaryFlight.h b/deprecated/eo/src/eoSigBinaryFlight.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoSimpleEDA.h b/deprecated/eo/src/eoSimpleEDA.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoSocialNeighborhood.h b/deprecated/eo/src/eoSocialNeighborhood.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoStandardFlight.h b/deprecated/eo/src/eoStandardFlight.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoStandardVelocity.h b/deprecated/eo/src/eoStandardVelocity.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoStarTopology.h b/deprecated/eo/src/eoStarTopology.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoSteadyFitContinue.h b/deprecated/eo/src/eoSteadyFitContinue.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoStochTournamentSelect.h b/deprecated/eo/src/eoStochTournamentSelect.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoStochasticUniversalSelect.h b/deprecated/eo/src/eoStochasticUniversalSelect.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoSurviveAndDie.h b/deprecated/eo/src/eoSurviveAndDie.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoSwapMutation.h b/deprecated/eo/src/eoSwapMutation.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoSyncEasyPSO.h b/deprecated/eo/src/eoSyncEasyPSO.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoTimeContinue.h b/deprecated/eo/src/eoTimeContinue.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoTopology.h b/deprecated/eo/src/eoTopology.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoTransform.h b/deprecated/eo/src/eoTransform.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoTruncSelect.h b/deprecated/eo/src/eoTruncSelect.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoTruncatedSelectMany.h b/deprecated/eo/src/eoTruncatedSelectMany.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoTruncatedSelectOne.h b/deprecated/eo/src/eoTruncatedSelectOne.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoTwoOptMutation.h b/deprecated/eo/src/eoTwoOptMutation.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoVariableInertiaWeightedVelocity.h b/deprecated/eo/src/eoVariableInertiaWeightedVelocity.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoVariableLengthCrossover.h b/deprecated/eo/src/eoVariableLengthCrossover.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoVariableLengthMutation.h b/deprecated/eo/src/eoVariableLengthMutation.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoVector.h b/deprecated/eo/src/eoVector.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoVectorParticle.h b/deprecated/eo/src/eoVectorParticle.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoVelocity.h b/deprecated/eo/src/eoVelocity.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoVelocityInit.h b/deprecated/eo/src/eoVelocityInit.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/eoWeightUpdater.h b/deprecated/eo/src/eoWeightUpdater.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es.h b/deprecated/eo/src/es.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/CMAParams.cpp b/deprecated/eo/src/es/CMAParams.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/CMAParams.h b/deprecated/eo/src/es/CMAParams.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/CMAState.cpp b/deprecated/eo/src/es/CMAState.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/CMAState.h b/deprecated/eo/src/es/CMAState.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/CMakeLists.txt b/deprecated/eo/src/es/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/ChangeLog b/deprecated/eo/src/es/ChangeLog old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/eig.cpp b/deprecated/eo/src/es/eig.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/eig.h b/deprecated/eo/src/es/eig.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/eoCMABreed.h b/deprecated/eo/src/es/eoCMABreed.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/eoCMAInit.h b/deprecated/eo/src/es/eoCMAInit.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/eoEsChromInit.h b/deprecated/eo/src/es/eoEsChromInit.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/eoEsFull.h b/deprecated/eo/src/es/eoEsFull.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/eoEsGlobalXover.h b/deprecated/eo/src/es/eoEsGlobalXover.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/eoEsMutate.h b/deprecated/eo/src/es/eoEsMutate.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/eoEsMutationInit.h b/deprecated/eo/src/es/eoEsMutationInit.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/eoEsSimple.h b/deprecated/eo/src/es/eoEsSimple.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/eoEsStandardXover.h b/deprecated/eo/src/es/eoEsStandardXover.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/eoEsStdev.h b/deprecated/eo/src/es/eoEsStdev.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/eoNormalMutation.h b/deprecated/eo/src/es/eoNormalMutation.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/eoReal.h b/deprecated/eo/src/es/eoReal.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/eoRealAtomXover.h b/deprecated/eo/src/es/eoRealAtomXover.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/eoRealInitBounded.h b/deprecated/eo/src/es/eoRealInitBounded.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/eoRealOp.h b/deprecated/eo/src/es/eoRealOp.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/eoSBXcross.h b/deprecated/eo/src/es/eoSBXcross.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/make_algo_scalar_es.cpp b/deprecated/eo/src/es/make_algo_scalar_es.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/make_algo_scalar_real.cpp b/deprecated/eo/src/es/make_algo_scalar_real.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/make_checkpoint_es.cpp b/deprecated/eo/src/es/make_checkpoint_es.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/make_checkpoint_real.cpp b/deprecated/eo/src/es/make_checkpoint_real.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/make_continue_es.cpp b/deprecated/eo/src/es/make_continue_es.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/make_continue_real.cpp b/deprecated/eo/src/es/make_continue_real.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/make_es.h b/deprecated/eo/src/es/make_es.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/make_genotype_es.cpp b/deprecated/eo/src/es/make_genotype_es.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/make_genotype_real.cpp b/deprecated/eo/src/es/make_genotype_real.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/make_genotype_real.h b/deprecated/eo/src/es/make_genotype_real.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/make_op.h b/deprecated/eo/src/es/make_op.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/make_op_es.cpp b/deprecated/eo/src/es/make_op_es.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/make_op_es.h b/deprecated/eo/src/es/make_op_es.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/make_op_real.cpp b/deprecated/eo/src/es/make_op_real.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/make_op_real.h b/deprecated/eo/src/es/make_op_real.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/make_pop_es.cpp b/deprecated/eo/src/es/make_pop_es.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/make_pop_real.cpp b/deprecated/eo/src/es/make_pop_real.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/make_real.h b/deprecated/eo/src/es/make_real.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/make_run_es.cpp b/deprecated/eo/src/es/make_run_es.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/make_run_real.cpp b/deprecated/eo/src/es/make_run_real.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/es/matrices.h b/deprecated/eo/src/es/matrices.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/ga.h b/deprecated/eo/src/ga.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/ga/CMakeLists.txt b/deprecated/eo/src/ga/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/ga/ChangeLog b/deprecated/eo/src/ga/ChangeLog old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/ga/Readme b/deprecated/eo/src/ga/Readme old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/ga/eoBit.h b/deprecated/eo/src/ga/eoBit.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/ga/eoBitOp.h b/deprecated/eo/src/ga/eoBitOp.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/ga/eoBitOpFactory.h b/deprecated/eo/src/ga/eoBitOpFactory.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/ga/eoBoolFlip.h b/deprecated/eo/src/ga/eoBoolFlip.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/ga/eoPBILAdditive.h b/deprecated/eo/src/ga/eoPBILAdditive.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/ga/eoPBILDistrib.h b/deprecated/eo/src/ga/eoPBILDistrib.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/ga/eoPBILOrg.h b/deprecated/eo/src/ga/eoPBILOrg.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/ga/make_PBILdistrib.h b/deprecated/eo/src/ga/make_PBILdistrib.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/ga/make_PBILupdate.h b/deprecated/eo/src/ga/make_PBILupdate.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/ga/make_algo_scalar_ga.cpp b/deprecated/eo/src/ga/make_algo_scalar_ga.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/ga/make_checkpoint_ga.cpp b/deprecated/eo/src/ga/make_checkpoint_ga.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/ga/make_continue_ga.cpp b/deprecated/eo/src/ga/make_continue_ga.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/ga/make_ga.h b/deprecated/eo/src/ga/make_ga.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/ga/make_genotype_ga.cpp b/deprecated/eo/src/ga/make_genotype_ga.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/ga/make_genotype_ga.h b/deprecated/eo/src/ga/make_genotype_ga.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/ga/make_op.h b/deprecated/eo/src/ga/make_op.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/ga/make_op_ga.cpp b/deprecated/eo/src/ga/make_op_ga.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/ga/make_pop_ga.cpp b/deprecated/eo/src/ga/make_pop_ga.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/ga/make_run_ga.cpp b/deprecated/eo/src/ga/make_run_ga.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/gp/eoParseTree.h b/deprecated/eo/src/gp/eoParseTree.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/gp/eoParseTreeDepthInit.h b/deprecated/eo/src/gp/eoParseTreeDepthInit.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/gp/eoParseTreeOp.h b/deprecated/eo/src/gp/eoParseTreeOp.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/gp/eoStParseTreeDepthInit.h b/deprecated/eo/src/gp/eoStParseTreeDepthInit.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/gp/eoStParseTreeOp.h b/deprecated/eo/src/gp/eoStParseTreeOp.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/gp/node_pool.h b/deprecated/eo/src/gp/node_pool.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/gp/parse_tree.h b/deprecated/eo/src/gp/parse_tree.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/other/eoExternalEO.h b/deprecated/eo/src/other/eoExternalEO.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/other/eoExternalOpFunctions.h b/deprecated/eo/src/other/eoExternalOpFunctions.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/other/eoString.h b/deprecated/eo/src/other/eoString.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/other/external_eo b/deprecated/eo/src/other/external_eo old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/AUTHORS b/deprecated/eo/src/pyeo/AUTHORS old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/BUILDING b/deprecated/eo/src/pyeo/BUILDING old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/CMakeLists.txt b/deprecated/eo/src/pyeo/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/COPYING b/deprecated/eo/src/pyeo/COPYING old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/Makefile b/deprecated/eo/src/pyeo/Makefile old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/Makefile.rpm b/deprecated/eo/src/pyeo/Makefile.rpm old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/NEWS b/deprecated/eo/src/pyeo/NEWS old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/PyEO.cpp b/deprecated/eo/src/pyeo/PyEO.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/PyEO.h b/deprecated/eo/src/pyeo/PyEO.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/PyEO/__init__.py b/deprecated/eo/src/pyeo/PyEO/__init__.py old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/README b/deprecated/eo/src/pyeo/README old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/abstract1.cpp b/deprecated/eo/src/pyeo/abstract1.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/algos.cpp b/deprecated/eo/src/pyeo/algos.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/breeders.cpp b/deprecated/eo/src/pyeo/breeders.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/continuators.cpp b/deprecated/eo/src/pyeo/continuators.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/def_abstract_functor.h b/deprecated/eo/src/pyeo/def_abstract_functor.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/geneticOps.cpp b/deprecated/eo/src/pyeo/geneticOps.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/mergers.cpp b/deprecated/eo/src/pyeo/mergers.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/monitors.cpp b/deprecated/eo/src/pyeo/monitors.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/perf2worth.cpp b/deprecated/eo/src/pyeo/perf2worth.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/pickle.h b/deprecated/eo/src/pyeo/pickle.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/random_numbers.cpp b/deprecated/eo/src/pyeo/random_numbers.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/reduce.cpp b/deprecated/eo/src/pyeo/reduce.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/replacement.cpp b/deprecated/eo/src/pyeo/replacement.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/selectOne.cpp b/deprecated/eo/src/pyeo/selectOne.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/selectors.cpp b/deprecated/eo/src/pyeo/selectors.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/statistics.cpp b/deprecated/eo/src/pyeo/statistics.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/test/maxone.py b/deprecated/eo/src/pyeo/test/maxone.py old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/test/test_breeders.py b/deprecated/eo/src/pyeo/test/test_breeders.py old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/test/test_mo.py b/deprecated/eo/src/pyeo/test/test_mo.py old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/test/test_pickling.py b/deprecated/eo/src/pyeo/test/test_pickling.py old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/test/test_populator.py b/deprecated/eo/src/pyeo/test/test_populator.py old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/test/test_reduce.py b/deprecated/eo/src/pyeo/test/test_reduce.py old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/test/test_selectone.py b/deprecated/eo/src/pyeo/test/test_selectone.py old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/test/test_sga.py b/deprecated/eo/src/pyeo/test/test_sga.py old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/test/test_transform.py b/deprecated/eo/src/pyeo/test/test_transform.py old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/valueParam.cpp b/deprecated/eo/src/pyeo/valueParam.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/pyeo/valueParam.h b/deprecated/eo/src/pyeo/valueParam.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/CMakeLists.txt b/deprecated/eo/src/utils/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/ChangeLog b/deprecated/eo/src/utils/ChangeLog old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/checkpointing b/deprecated/eo/src/utils/checkpointing old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/compatibility.h b/deprecated/eo/src/utils/compatibility.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoAssembledFitnessStat.h b/deprecated/eo/src/utils/eoAssembledFitnessStat.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoCheckPoint.h b/deprecated/eo/src/utils/eoCheckPoint.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoData.cpp b/deprecated/eo/src/utils/eoData.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoData.h b/deprecated/eo/src/utils/eoData.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoDistance.h b/deprecated/eo/src/utils/eoDistance.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoFDCStat.h b/deprecated/eo/src/utils/eoFDCStat.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoFeasibleRatioStat.h b/deprecated/eo/src/utils/eoFeasibleRatioStat.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoFileMonitor.cpp b/deprecated/eo/src/utils/eoFileMonitor.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoFileMonitor.h b/deprecated/eo/src/utils/eoFileMonitor.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoFileSnapshot.h b/deprecated/eo/src/utils/eoFileSnapshot.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoFuncPtrStat.h b/deprecated/eo/src/utils/eoFuncPtrStat.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoGenCounter.h b/deprecated/eo/src/utils/eoGenCounter.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoGnuplot.cpp b/deprecated/eo/src/utils/eoGnuplot.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoGnuplot.h b/deprecated/eo/src/utils/eoGnuplot.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoGnuplot1DMonitor.cpp b/deprecated/eo/src/utils/eoGnuplot1DMonitor.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoGnuplot1DMonitor.h b/deprecated/eo/src/utils/eoGnuplot1DMonitor.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoGnuplot1DSnapshot.cpp b/deprecated/eo/src/utils/eoGnuplot1DSnapshot.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoGnuplot1DSnapshot.h b/deprecated/eo/src/utils/eoGnuplot1DSnapshot.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoHowMany.h b/deprecated/eo/src/utils/eoHowMany.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoIntBounds.cpp b/deprecated/eo/src/utils/eoIntBounds.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoIntBounds.h b/deprecated/eo/src/utils/eoIntBounds.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoLogger.cpp b/deprecated/eo/src/utils/eoLogger.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoLogger.h b/deprecated/eo/src/utils/eoLogger.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoMOFitnessStat.h b/deprecated/eo/src/utils/eoMOFitnessStat.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoMonitor.h b/deprecated/eo/src/utils/eoMonitor.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoOStreamMonitor.cpp b/deprecated/eo/src/utils/eoOStreamMonitor.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoOStreamMonitor.h b/deprecated/eo/src/utils/eoOStreamMonitor.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoParallel.cpp b/deprecated/eo/src/utils/eoParallel.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoParallel.h b/deprecated/eo/src/utils/eoParallel.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoParam.h b/deprecated/eo/src/utils/eoParam.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoParser.cpp b/deprecated/eo/src/utils/eoParser.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoParser.h b/deprecated/eo/src/utils/eoParser.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoParserLogger.h b/deprecated/eo/src/utils/eoParserLogger.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoPopStat.h b/deprecated/eo/src/utils/eoPopStat.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoRNG.cpp b/deprecated/eo/src/utils/eoRNG.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoRNG.h b/deprecated/eo/src/utils/eoRNG.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoRealBounds.cpp b/deprecated/eo/src/utils/eoRealBounds.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoRealBounds.h b/deprecated/eo/src/utils/eoRealBounds.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoRealVectorBounds.h b/deprecated/eo/src/utils/eoRealVectorBounds.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoRndGenerators.h b/deprecated/eo/src/utils/eoRndGenerators.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoScalarFitnessStat.h b/deprecated/eo/src/utils/eoScalarFitnessStat.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoSignal.cpp b/deprecated/eo/src/utils/eoSignal.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoSignal.h b/deprecated/eo/src/utils/eoSignal.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoStat.h b/deprecated/eo/src/utils/eoStat.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoState.cpp b/deprecated/eo/src/utils/eoState.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoState.h b/deprecated/eo/src/utils/eoState.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoStdoutMonitor.h b/deprecated/eo/src/utils/eoStdoutMonitor.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoTimeCounter.h b/deprecated/eo/src/utils/eoTimeCounter.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoTimedMonitor.h b/deprecated/eo/src/utils/eoTimedMonitor.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoUniformInit.h b/deprecated/eo/src/utils/eoUniformInit.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoUpdatable.h b/deprecated/eo/src/utils/eoUpdatable.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoUpdater.cpp b/deprecated/eo/src/utils/eoUpdater.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/eoUpdater.h b/deprecated/eo/src/utils/eoUpdater.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/make_help.cpp b/deprecated/eo/src/utils/make_help.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/pipecom.cpp b/deprecated/eo/src/utils/pipecom.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/pipecom.h b/deprecated/eo/src/utils/pipecom.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/rnd_generators.h b/deprecated/eo/src/utils/rnd_generators.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/src/utils/selectors.h b/deprecated/eo/src/utils/selectors.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/CMakeLists.txt b/deprecated/eo/test/CMakeLists.txt old mode 100644 new mode 100755 index ed9575e85..b5bcd8234 --- a/deprecated/eo/test/CMakeLists.txt +++ b/deprecated/eo/test/CMakeLists.txt @@ -93,7 +93,7 @@ ELSEIF(ENABLE_CMAKE_TESTING) ADD_EXECUTABLE(${test} ${T_${test}_SOURCES}) ADD_TEST(${test} ${test}) TARGET_LINK_LIBRARIES(${test} ga es cma eoutils eo) - INSTALL(TARGETS ${test} RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/test COMPONENT test) + INSTALL(TARGETS ${test} RUNTIME DESTINATION local/share/${PROJECT_TAG}/eo/test COMPONENT test) ENDFOREACH (test) SET(RESOURCES diff --git a/deprecated/eo/test/ChangeLog b/deprecated/eo/test/ChangeLog old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/RoyalRoad.h b/deprecated/eo/test/RoyalRoad.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/binary_value.h b/deprecated/eo/test/binary_value.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/fitness_traits.cpp b/deprecated/eo/test/fitness_traits.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/real_value.h b/deprecated/eo/test/real_value.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-MGE-control.cpp b/deprecated/eo/test/t-MGE-control.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-MGE.cpp b/deprecated/eo/test/t-MGE.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-MGE1bit.cpp b/deprecated/eo/test/t-MGE1bit.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eo.cpp b/deprecated/eo/test/t-eo.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eo2dVector.cc b/deprecated/eo/test/t-eo2dVector.cc old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoCMAES.cpp b/deprecated/eo/test/t-eoCMAES.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoCheckpointing.cpp b/deprecated/eo/test/t-eoCheckpointing.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoDualFitness.cpp b/deprecated/eo/test/t-eoDualFitness.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoESAll.cpp b/deprecated/eo/test/t-eoESAll.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoESFull.cpp b/deprecated/eo/test/t-eoESFull.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoEasyEA.cpp b/deprecated/eo/test/t-eoEasyEA.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoEasyPSO.cpp b/deprecated/eo/test/t-eoEasyPSO.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoExtendedVelocity.cpp b/deprecated/eo/test/t-eoExtendedVelocity.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoExternalEO.cpp b/deprecated/eo/test/t-eoExternalEO.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoFitnessAssembled.cpp b/deprecated/eo/test/t-eoFitnessAssembled.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoFitnessAssembledEA.cpp b/deprecated/eo/test/t-eoFitnessAssembledEA.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoFunctor.cpp b/deprecated/eo/test/t-eoFunctor.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoGA.cpp b/deprecated/eo/test/t-eoGA.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoGenOp.cpp b/deprecated/eo/test/t-eoGenOp.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoIQRStat.cpp b/deprecated/eo/test/t-eoIQRStat.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoInitPermutation.cpp b/deprecated/eo/test/t-eoInitPermutation.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoInt.cpp b/deprecated/eo/test/t-eoInt.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoLogger.cpp b/deprecated/eo/test/t-eoLogger.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoOrderXover.cpp b/deprecated/eo/test/t-eoOrderXover.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoPBIL.cpp b/deprecated/eo/test/t-eoPBIL.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoParallel.cpp b/deprecated/eo/test/t-eoParallel.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoParser.cpp b/deprecated/eo/test/t-eoParser.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoRNG.cpp b/deprecated/eo/test/t-eoRNG.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoRandom.cpp b/deprecated/eo/test/t-eoRandom.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoReal.cpp b/deprecated/eo/test/t-eoReal.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoReplacement.cpp b/deprecated/eo/test/t-eoReplacement.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoRingTopology.cpp b/deprecated/eo/test/t-eoRingTopology.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoRoulette.cpp b/deprecated/eo/test/t-eoRoulette.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoSSGA.cpp b/deprecated/eo/test/t-eoSSGA.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoSecondsElapsedContinue.cpp b/deprecated/eo/test/t-eoSecondsElapsedContinue.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoSelect.cpp b/deprecated/eo/test/t-eoSelect.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoSharing.cpp b/deprecated/eo/test/t-eoSharing.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoShiftMutation.cpp b/deprecated/eo/test/t-eoShiftMutation.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoStateAndParser.cpp b/deprecated/eo/test/t-eoStateAndParser.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoSwapMutation.cpp b/deprecated/eo/test/t-eoSwapMutation.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoSymreg.cpp b/deprecated/eo/test/t-eoSymreg.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoSyncEasyPSO.cpp b/deprecated/eo/test/t-eoSyncEasyPSO.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoTwoOptMutation.cpp b/deprecated/eo/test/t-eoTwoOptMutation.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoUniform.cpp b/deprecated/eo/test/t-eoUniform.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoVector.cpp b/deprecated/eo/test/t-eoVector.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eoVirus.cpp b/deprecated/eo/test/t-eoVirus.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eobin.cpp b/deprecated/eo/test/t-eobin.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-eofitness.cpp b/deprecated/eo/test/t-eofitness.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-openmp.cpp b/deprecated/eo/test/t-openmp.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/test/t-selectOne.cpp b/deprecated/eo/test/t-selectOne.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/CMakeLists.txt b/deprecated/eo/tutorial/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson1/CMakeLists.txt b/deprecated/eo/tutorial/Lesson1/CMakeLists.txt old mode 100644 new mode 100755 index bcad406f5..bd2b772a7 --- a/deprecated/eo/tutorial/Lesson1/CMakeLists.txt +++ b/deprecated/eo/tutorial/Lesson1/CMakeLists.txt @@ -57,8 +57,8 @@ TARGET_LINK_LIBRARIES(exercise1.3 ga eo eoutils) ### 6) Configure project installation paths ###################################################################################### -INSTALL(TARGETS FirstBitGA RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson1 COMPONENT examples) -INSTALL(TARGETS FirstRealGA RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson1 COMPONENT examples) -INSTALL(TARGETS exercise1.3 RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson1 COMPONENT examples) +INSTALL(TARGETS FirstBitGA RUNTIME DESTINATION local/share/${PROJECT_TAG}/eo/examples/Lesson1 COMPONENT examples) +INSTALL(TARGETS FirstRealGA RUNTIME DESTINATION local/share/${PROJECT_TAG}/eo/examples/Lesson1 COMPONENT examples) +INSTALL(TARGETS exercise1.3 RUNTIME DESTINATION local/share/${PROJECT_TAG}/eo/examples/Lesson1 COMPONENT examples) ###################################################################################### diff --git a/deprecated/eo/tutorial/Lesson1/FirstBitGA.cpp b/deprecated/eo/tutorial/Lesson1/FirstBitGA.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson1/FirstRealGA.cpp b/deprecated/eo/tutorial/Lesson1/FirstRealGA.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson1/Makefile.simple b/deprecated/eo/tutorial/Lesson1/Makefile.simple old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson1/exercise1.3.cpp b/deprecated/eo/tutorial/Lesson1/exercise1.3.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson2/CMakeLists.txt b/deprecated/eo/tutorial/Lesson2/CMakeLists.txt old mode 100644 new mode 100755 index 1b7c04999..edd98fc75 --- a/deprecated/eo/tutorial/Lesson2/CMakeLists.txt +++ b/deprecated/eo/tutorial/Lesson2/CMakeLists.txt @@ -53,8 +53,8 @@ TARGET_LINK_LIBRARIES(exercise2.3 ga eo eoutils) ### 6) Configure project installation paths ###################################################################################### -INSTALL(TARGETS FirstBitEA RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson2 COMPONENT examples) -INSTALL(TARGETS FirstRealEA RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson2 COMPONENT examples) -INSTALL(TARGETS exercise2.3 RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson2 COMPONENT examples) +INSTALL(TARGETS FirstBitEA RUNTIME DESTINATION local/share/${PROJECT_TAG}/eo/examples/Lesson2 COMPONENT examples) +INSTALL(TARGETS FirstRealEA RUNTIME DESTINATION local/share/${PROJECT_TAG}/eo/examples/Lesson2 COMPONENT examples) +INSTALL(TARGETS exercise2.3 RUNTIME DESTINATION local/share/${PROJECT_TAG}/eo/examples/Lesson2 COMPONENT examples) ###################################################################################### diff --git a/deprecated/eo/tutorial/Lesson2/FirstBitEA.cpp b/deprecated/eo/tutorial/Lesson2/FirstBitEA.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson2/FirstRealEA.cpp b/deprecated/eo/tutorial/Lesson2/FirstRealEA.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson2/Makefile.simple b/deprecated/eo/tutorial/Lesson2/Makefile.simple old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson2/binary_value.h b/deprecated/eo/tutorial/Lesson2/binary_value.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson2/exercise2.3.cpp b/deprecated/eo/tutorial/Lesson2/exercise2.3.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson2/real_value.h b/deprecated/eo/tutorial/Lesson2/real_value.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson3/CMakeLists.txt b/deprecated/eo/tutorial/Lesson3/CMakeLists.txt old mode 100644 new mode 100755 index e999e616a..2c514946b --- a/deprecated/eo/tutorial/Lesson3/CMakeLists.txt +++ b/deprecated/eo/tutorial/Lesson3/CMakeLists.txt @@ -57,8 +57,8 @@ TARGET_LINK_LIBRARIES(exercise3.1 ga eoutils eo) ### 6) Configure project installation paths ###################################################################################### -INSTALL(TARGETS SecondBitEA RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson3 COMPONENT examples) -INSTALL(TARGETS SecondRealEA RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson3 COMPONENT examples) -INSTALL(TARGETS exercise3.1 RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson3 COMPONENT examples) +INSTALL(TARGETS SecondBitEA RUNTIME DESTINATION local/share/${PROJECT_TAG}/eo/examples/Lesson3 COMPONENT examples) +INSTALL(TARGETS SecondRealEA RUNTIME DESTINATION local/share/${PROJECT_TAG}/eo/examples/Lesson3 COMPONENT examples) +INSTALL(TARGETS exercise3.1 RUNTIME DESTINATION local/share/${PROJECT_TAG}/eo/examples/Lesson3 COMPONENT examples) ###################################################################################### diff --git a/deprecated/eo/tutorial/Lesson3/Makefile.simple b/deprecated/eo/tutorial/Lesson3/Makefile.simple old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson3/SecondBitEA.cpp b/deprecated/eo/tutorial/Lesson3/SecondBitEA.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson3/SecondRealEA.cpp b/deprecated/eo/tutorial/Lesson3/SecondRealEA.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson3/binary_value.h b/deprecated/eo/tutorial/Lesson3/binary_value.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson3/exercise3.1.cpp b/deprecated/eo/tutorial/Lesson3/exercise3.1.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson3/real_value.h b/deprecated/eo/tutorial/Lesson3/real_value.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson4/BitEA.cpp b/deprecated/eo/tutorial/Lesson4/BitEA.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson4/CMakeLists.txt b/deprecated/eo/tutorial/Lesson4/CMakeLists.txt old mode 100644 new mode 100755 index 8048bdccc..1af1d917c --- a/deprecated/eo/tutorial/Lesson4/CMakeLists.txt +++ b/deprecated/eo/tutorial/Lesson4/CMakeLists.txt @@ -91,8 +91,8 @@ TARGET_LINK_LIBRARIES(ESEA es ga eo eoutils) ### 6) Configure project installation paths ###################################################################################### -INSTALL(TARGETS BitEA RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson4 COMPONENT examples) -INSTALL(TARGETS RealEA RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson4 COMPONENT examples) -INSTALL(TARGETS ESEA RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson4 COMPONENT examples) +INSTALL(TARGETS BitEA RUNTIME DESTINATION local/share/${PROJECT_TAG}/eo/examples/Lesson4 COMPONENT examples) +INSTALL(TARGETS RealEA RUNTIME DESTINATION local/share/${PROJECT_TAG}/eo/examples/Lesson4 COMPONENT examples) +INSTALL(TARGETS ESEA RUNTIME DESTINATION local/share/${PROJECT_TAG}/eo/examples/Lesson4 COMPONENT examples) ###################################################################################### diff --git a/deprecated/eo/tutorial/Lesson4/ESEA.cpp b/deprecated/eo/tutorial/Lesson4/ESEA.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson4/ESEA.param b/deprecated/eo/tutorial/Lesson4/ESEA.param old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson4/Makefile.simple b/deprecated/eo/tutorial/Lesson4/Makefile.simple old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson4/RealEA.cpp b/deprecated/eo/tutorial/Lesson4/RealEA.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson4/RealEA.param b/deprecated/eo/tutorial/Lesson4/RealEA.param old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson4/binary_value.h b/deprecated/eo/tutorial/Lesson4/binary_value.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson4/real_value.h b/deprecated/eo/tutorial/Lesson4/real_value.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson5/CMakeLists.txt b/deprecated/eo/tutorial/Lesson5/CMakeLists.txt old mode 100644 new mode 100755 index 011687b8a..17d2a3c62 --- a/deprecated/eo/tutorial/Lesson5/CMakeLists.txt +++ b/deprecated/eo/tutorial/Lesson5/CMakeLists.txt @@ -50,7 +50,7 @@ TARGET_LINK_LIBRARIES(OneMaxLibEA es ga eo eoutils) ### 6) Configure project installation paths ###################################################################################### -INSTALL(TARGETS OneMaxEA RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson5 COMPONENT examples) -INSTALL(TARGETS OneMaxLibEA RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson5 COMPONENT examples) +INSTALL(TARGETS OneMaxEA RUNTIME DESTINATION local/share/${PROJECT_TAG}/eo/examples/Lesson5 COMPONENT examples) +INSTALL(TARGETS OneMaxLibEA RUNTIME DESTINATION local/share/${PROJECT_TAG}/eo/examples/Lesson5 COMPONENT examples) ###################################################################################### diff --git a/deprecated/eo/tutorial/Lesson5/Makefile.simple b/deprecated/eo/tutorial/Lesson5/Makefile.simple old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson5/OneMaxEA.cpp b/deprecated/eo/tutorial/Lesson5/OneMaxEA.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson5/OneMaxLibEA.cpp b/deprecated/eo/tutorial/Lesson5/OneMaxLibEA.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson5/eoOneMax.h b/deprecated/eo/tutorial/Lesson5/eoOneMax.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson5/eoOneMaxEvalFunc.h b/deprecated/eo/tutorial/Lesson5/eoOneMaxEvalFunc.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson5/eoOneMaxInit.h b/deprecated/eo/tutorial/Lesson5/eoOneMaxInit.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson5/eoOneMaxMutation.h b/deprecated/eo/tutorial/Lesson5/eoOneMaxMutation.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson5/eoOneMaxQuadCrossover.h b/deprecated/eo/tutorial/Lesson5/eoOneMaxQuadCrossover.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson5/make_OneMax.cpp b/deprecated/eo/tutorial/Lesson5/make_OneMax.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson5/make_genotype_OneMax.h b/deprecated/eo/tutorial/Lesson5/make_genotype_OneMax.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson5/make_op_OneMax.h b/deprecated/eo/tutorial/Lesson5/make_op_OneMax.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson6/BinaryPSO.cpp b/deprecated/eo/tutorial/Lesson6/BinaryPSO.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson6/CMakeLists.txt b/deprecated/eo/tutorial/Lesson6/CMakeLists.txt old mode 100644 new mode 100755 index 8614165b5..b76c566e6 --- a/deprecated/eo/tutorial/Lesson6/CMakeLists.txt +++ b/deprecated/eo/tutorial/Lesson6/CMakeLists.txt @@ -45,7 +45,7 @@ TARGET_LINK_LIBRARIES(RealPSO eo eoutils) ### 6) Configure project installation paths ###################################################################################### -INSTALL(TARGETS BinaryPSO RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson6 COMPONENT examples) -INSTALL(TARGETS RealPSO RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson6 COMPONENT examples) +INSTALL(TARGETS BinaryPSO RUNTIME DESTINATION local/share/${PROJECT_TAG}/eo/examples/Lesson6 COMPONENT examples) +INSTALL(TARGETS RealPSO RUNTIME DESTINATION local/share/${PROJECT_TAG}/eo/examples/Lesson6 COMPONENT examples) ###################################################################################### diff --git a/deprecated/eo/tutorial/Lesson6/Makefile.simple b/deprecated/eo/tutorial/Lesson6/Makefile.simple old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Lesson6/RealPSO.cpp b/deprecated/eo/tutorial/Lesson6/RealPSO.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Makefile.simple b/deprecated/eo/tutorial/Makefile.simple old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/README b/deprecated/eo/tutorial/README old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Templates/ChangeLog b/deprecated/eo/tutorial/Templates/ChangeLog old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Templates/EO.tpl b/deprecated/eo/tutorial/Templates/EO.tpl old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Templates/Makefile.am.src-tmpl b/deprecated/eo/tutorial/Templates/Makefile.am.src-tmpl old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Templates/Makefile.am.top-tmpl b/deprecated/eo/tutorial/Templates/Makefile.am.top-tmpl old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Templates/MyStructEA.cpp b/deprecated/eo/tutorial/Templates/MyStructEA.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Templates/MyStructLibEA.cpp b/deprecated/eo/tutorial/Templates/MyStructLibEA.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Templates/MyStructSEA.cpp b/deprecated/eo/tutorial/Templates/MyStructSEA.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Templates/README b/deprecated/eo/tutorial/Templates/README old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Templates/README.manual b/deprecated/eo/tutorial/Templates/README.manual old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Templates/README.tmpl b/deprecated/eo/tutorial/Templates/README.tmpl old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Templates/binCrossover.tmpl b/deprecated/eo/tutorial/Templates/binCrossover.tmpl old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Templates/configure.ac.tmpl b/deprecated/eo/tutorial/Templates/configure.ac.tmpl old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Templates/continue.tmpl b/deprecated/eo/tutorial/Templates/continue.tmpl old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Templates/eoMyStruct.tmpl b/deprecated/eo/tutorial/Templates/eoMyStruct.tmpl old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Templates/evalFunc.tmpl b/deprecated/eo/tutorial/Templates/evalFunc.tmpl old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Templates/init.tmpl b/deprecated/eo/tutorial/Templates/init.tmpl old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Templates/lessOffspringExternalSelectorGenOp.tmpl b/deprecated/eo/tutorial/Templates/lessOffspringExternalSelectorGenOp.tmpl old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Templates/lessOffspringSameSelectorGenOp.tmpl b/deprecated/eo/tutorial/Templates/lessOffspringSameSelectorGenOp.tmpl old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Templates/make_MyStruct.cpp b/deprecated/eo/tutorial/Templates/make_MyStruct.cpp old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Templates/make_genotype_MyStruct.h b/deprecated/eo/tutorial/Templates/make_genotype_MyStruct.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Templates/make_op_MyStruct.h b/deprecated/eo/tutorial/Templates/make_op_MyStruct.h old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Templates/moreOffspringGenOp.tmpl b/deprecated/eo/tutorial/Templates/moreOffspringGenOp.tmpl old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Templates/mutation.tmpl b/deprecated/eo/tutorial/Templates/mutation.tmpl old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Templates/quadCrossover.tmpl b/deprecated/eo/tutorial/Templates/quadCrossover.tmpl old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/Templates/stat.tmpl b/deprecated/eo/tutorial/Templates/stat.tmpl old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/BitEA.html b/deprecated/eo/tutorial/html/BitEA.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/EA_tutorial.jpg b/deprecated/eo/tutorial/html/EA_tutorial.jpg old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/FirstBitEA.html b/deprecated/eo/tutorial/html/FirstBitEA.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/FirstBitGA.html b/deprecated/eo/tutorial/html/FirstBitGA.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/FirstRealEA.html b/deprecated/eo/tutorial/html/FirstRealEA.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/FirstRealGA.html b/deprecated/eo/tutorial/html/FirstRealGA.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/Firstmerge.html b/deprecated/eo/tutorial/html/Firstmerge.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/NoWay.html b/deprecated/eo/tutorial/html/NoWay.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/OneMaxEA.html b/deprecated/eo/tutorial/html/OneMaxEA.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/SecondBitEA.html b/deprecated/eo/tutorial/html/SecondBitEA.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/SecondRealEA.html b/deprecated/eo/tutorial/html/SecondRealEA.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/beige009.jpg b/deprecated/eo/tutorial/html/beige009.jpg old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/binary_value.html b/deprecated/eo/tutorial/html/binary_value.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/debut.html b/deprecated/eo/tutorial/html/debut.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoBottomUp.html b/deprecated/eo/tutorial/html/eoBottomUp.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoCheckPoint.html b/deprecated/eo/tutorial/html/eoCheckPoint.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoEngine.html b/deprecated/eo/tutorial/html/eoEngine.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoEval.html b/deprecated/eo/tutorial/html/eoEval.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoGeneration.html b/deprecated/eo/tutorial/html/eoGeneration.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoInit.html b/deprecated/eo/tutorial/html/eoInit.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoIo.html b/deprecated/eo/tutorial/html/eoIo.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoLesson1.html b/deprecated/eo/tutorial/html/eoLesson1.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoLesson2.html b/deprecated/eo/tutorial/html/eoLesson2.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoLesson3.html b/deprecated/eo/tutorial/html/eoLesson3.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoLesson4.html b/deprecated/eo/tutorial/html/eoLesson4.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoLesson5.html b/deprecated/eo/tutorial/html/eoLesson5.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoOneMax.html b/deprecated/eo/tutorial/html/eoOneMax.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoOneMaxEvalFunc.html b/deprecated/eo/tutorial/html/eoOneMaxEvalFunc.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoOneMaxInit.html b/deprecated/eo/tutorial/html/eoOneMaxInit.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoOneMaxMutation.html b/deprecated/eo/tutorial/html/eoOneMaxMutation.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoOneMaxQuadCrossover.html b/deprecated/eo/tutorial/html/eoOneMaxQuadCrossover.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoOneMax_complete.html b/deprecated/eo/tutorial/html/eoOneMax_complete.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoOperators.html b/deprecated/eo/tutorial/html/eoOperators.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoOutput.html b/deprecated/eo/tutorial/html/eoOutput.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoProgramming.html b/deprecated/eo/tutorial/html/eoProgramming.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoRepresentation.html b/deprecated/eo/tutorial/html/eoRepresentation.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoSGA.html b/deprecated/eo/tutorial/html/eoSGA.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoSelect.html b/deprecated/eo/tutorial/html/eoSelect.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoStop.html b/deprecated/eo/tutorial/html/eoStop.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoTopDown.html b/deprecated/eo/tutorial/html/eoTopDown.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/eoTutorial.html b/deprecated/eo/tutorial/html/eoTutorial.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/make_genotype_OneMax.html b/deprecated/eo/tutorial/html/make_genotype_OneMax.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/make_op_OneMax.html b/deprecated/eo/tutorial/html/make_op_OneMax.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/html/real_value.html b/deprecated/eo/tutorial/html/real_value.html old mode 100644 new mode 100755 diff --git a/deprecated/eo/tutorial/index.html b/deprecated/eo/tutorial/index.html old mode 100644 new mode 100755 diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt new file mode 100755 index 000000000..353fc87b7 --- /dev/null +++ b/doc/CMakeLists.txt @@ -0,0 +1,36 @@ +## EO Module +add_subdirectory(eo) + +if(NOT EO_ONLY) + + ## MO Module + if(MO) + add_subdirectory(mo) + endif(MO) + + ## EDO Module + if(EDO) + add_subdirectory(edo) + endif(EDO) + + ## MOEO Module + if(MOEO) + add_subdirectory(moeo) + endif(MOEO) + + ## SMP Module + if(SMP) + add_subdirectory(smp) + endif(SMP) + + ## EOMPI Module + #if(EOMPI) + # add_subdirectory(eompi) + #endif(EOMPI) + + ## EOSERIAL Module + #if(EOSERIAL) + # add_subdirectory(eoserial) + #endif(EOSERIAL) + +endif() \ No newline at end of file diff --git a/edo/doc/CMakeLists.txt b/doc/edo/CMakeLists.txt old mode 100644 new mode 100755 similarity index 96% rename from edo/doc/CMakeLists.txt rename to doc/edo/CMakeLists.txt index 435b71f75..f5c005c97 --- a/edo/doc/CMakeLists.txt +++ b/doc/edo/CMakeLists.txt @@ -26,7 +26,7 @@ if(DOXYGEN_FOUND) "${EDO_DOC_DIR}/${EDO_DOC_CONFIG_FILE}") install( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - DESTINATION share${INSTALL_SUB_DIR}/edo COMPONENT doc + DESTINATION share/${PROJECT_TAG}/doc COMPONENT doc PATTERN "CMakeFiles" EXCLUDE PATTERN "cmake_install.cmake" EXCLUDE PATTERN "CTestTestfile.cmake" EXCLUDE diff --git a/edo/doc/edo.doxyfile.cmake b/doc/edo/edo.doxyfile.cmake old mode 100644 new mode 100755 similarity index 100% rename from edo/doc/edo.doxyfile.cmake rename to doc/edo/edo.doxyfile.cmake diff --git a/edo/doc/edo_design.svg b/doc/edo/edo_design.svg old mode 100644 new mode 100755 similarity index 100% rename from edo/doc/edo_design.svg rename to doc/edo/edo_design.svg diff --git a/edo/doc/edo_distrib.svg b/doc/edo/edo_distrib.svg old mode 100644 new mode 100755 similarity index 100% rename from edo/doc/edo_distrib.svg rename to doc/edo/edo_distrib.svg diff --git a/edo/doc/index.h b/doc/edo/index.h old mode 100644 new mode 100755 similarity index 100% rename from edo/doc/index.h rename to doc/edo/index.h diff --git a/eo/doc/CMakeLists.txt b/doc/eo/CMakeLists.txt old mode 100644 new mode 100755 similarity index 97% rename from eo/doc/CMakeLists.txt rename to doc/eo/CMakeLists.txt index d33151474..03839fae3 --- a/eo/doc/CMakeLists.txt +++ b/doc/eo/CMakeLists.txt @@ -39,7 +39,7 @@ IF (DOXYGEN_FOUND) INSTALL( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - DESTINATION share${INSTALL_SUB_DIR}/eo COMPONENT doc + DESTINATION share/${PROJECT_TAG}/doc COMPONENT doc PATTERN "CMakeFiles" EXCLUDE PATTERN "cmake_install.cmake" EXCLUDE PATTERN "Makefile" EXCLUDE diff --git a/eo/doc/ChangeLog b/doc/eo/ChangeLog old mode 100644 new mode 100755 similarity index 100% rename from eo/doc/ChangeLog rename to doc/eo/ChangeLog diff --git a/eo/doc/EO_EA2001.pdf b/doc/eo/EO_EA2001.pdf old mode 100644 new mode 100755 similarity index 100% rename from eo/doc/EO_EA2001.pdf rename to doc/eo/EO_EA2001.pdf diff --git a/eo/doc/LeCreusot.pdf b/doc/eo/LeCreusot.pdf old mode 100644 new mode 100755 similarity index 100% rename from eo/doc/LeCreusot.pdf rename to doc/eo/LeCreusot.pdf diff --git a/eo/doc/eo.doxyfile.cmake b/doc/eo/eo.doxyfile.cmake old mode 100644 new mode 100755 similarity index 100% rename from eo/doc/eo.doxyfile.cmake rename to doc/eo/eo.doxyfile.cmake diff --git a/smp/doc/index.h b/doc/eo/index.h old mode 100644 new mode 100755 similarity index 100% rename from smp/doc/index.h rename to doc/eo/index.h diff --git a/eo/doc/sflogo-hammer1.jpg b/doc/eo/sflogo-hammer1.jpg old mode 100644 new mode 100755 similarity index 100% rename from eo/doc/sflogo-hammer1.jpg rename to doc/eo/sflogo-hammer1.jpg diff --git a/mo/doc/CMakeLists.txt b/doc/mo/CMakeLists.txt similarity index 96% rename from mo/doc/CMakeLists.txt rename to doc/mo/CMakeLists.txt index 6d37c9470..d74bb5dfe 100755 --- a/mo/doc/CMakeLists.txt +++ b/doc/mo/CMakeLists.txt @@ -23,7 +23,7 @@ if(DOXYGEN_FOUND) "${MO_DOC_DIR}/${MO_DOC_CONFIG_FILE}") install( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - DESTINATION share${INSTALL_SUB_DIR}/mo COMPONENT doc + DESTINATION share/${PROJECT_TAG}/doc COMPONENT doc PATTERN "CMakeFiles" EXCLUDE PATTERN "cmake_install.cmake" EXCLUDE PATTERN "CTestTestfile.cmake" EXCLUDE diff --git a/mo/doc/index.h b/doc/mo/index.h old mode 100644 new mode 100755 similarity index 100% rename from mo/doc/index.h rename to doc/mo/index.h diff --git a/mo/doc/mo.doxyfile.cmake b/doc/mo/mo.doxyfile.cmake old mode 100644 new mode 100755 similarity index 100% rename from mo/doc/mo.doxyfile.cmake rename to doc/mo/mo.doxyfile.cmake diff --git a/moeo/doc/CMakeLists.txt b/doc/moeo/CMakeLists.txt old mode 100644 new mode 100755 similarity index 96% rename from moeo/doc/CMakeLists.txt rename to doc/moeo/CMakeLists.txt index 01eaa1633..887fb71be --- a/moeo/doc/CMakeLists.txt +++ b/doc/moeo/CMakeLists.txt @@ -26,7 +26,7 @@ if(DOXYGEN_FOUND) "${MOEO_DOC_DIR}/${MOEO_DOC_CONFIG_FILE}") install( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - DESTINATION share${INSTALL_SUB_DIR}/moeo COMPONENT doc + DESTINATION share/${PROJECT_TAG}/doc COMPONENT doc PATTERN "CMakeFiles" EXCLUDE PATTERN "cmake_install.cmake" EXCLUDE PATTERN "CTestTestfile.cmake" EXCLUDE diff --git a/moeo/doc/index.h b/doc/moeo/index.h old mode 100644 new mode 100755 similarity index 100% rename from moeo/doc/index.h rename to doc/moeo/index.h diff --git a/moeo/doc/moeo.doxyfile.cmake b/doc/moeo/moeo.doxyfile.cmake old mode 100644 new mode 100755 similarity index 100% rename from moeo/doc/moeo.doxyfile.cmake rename to doc/moeo/moeo.doxyfile.cmake diff --git a/smp/doc/CMakeLists.txt b/doc/smp/CMakeLists.txt old mode 100644 new mode 100755 similarity index 96% rename from smp/doc/CMakeLists.txt rename to doc/smp/CMakeLists.txt index c735832cb..bf4c7ca34 --- a/smp/doc/CMakeLists.txt +++ b/doc/smp/CMakeLists.txt @@ -26,7 +26,7 @@ if(DOXYGEN_FOUND) "${CMAKE_CURRENT_BINARY_DIR}/${SMP_DOC_CONFIG_FILE}") install( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - DESTINATION share${INSTALL_SUB_DIR}/smp COMPONENT doc + DESTINATION share/${PROJECT_TAG}/doc COMPONENT doc PATTERN "CMakeFiles" EXCLUDE PATTERN "cmake_install.cmake" EXCLUDE PATTERN "CTestTestfile.cmake" EXCLUDE diff --git a/doc/smp/index.h b/doc/smp/index.h new file mode 100755 index 000000000..fde65787a --- /dev/null +++ b/doc/smp/index.h @@ -0,0 +1,49 @@ +/** @mainpage Welcome to ParadisEO-SMP + +@section Introduction + +ParadisEO-SMP for Symmetric MultiProcessing or Shared Memory Parallelism is a module for multicores computations on several algorithms proposed by ParadiseEO. By simply wrapping the algorithms, it allows you to refer only to the API of your algorithm instead of learning a new one. + +Different parallelism models are available such as the Master / Slaves Model or the Island Model. + +@section tutorials Tutorials + +Tutorials for ParadisEO-SMP are available in the "Tutorials section" of the ParadisEO website. + +@section LICENSE + + This software is governed by the CeCILL license under French law and + abiding by the rules of distribution of free software. You can use, + modify and/ or redistribute the software under the terms of the CeCILL + license as circulated by CEA, CNRS and INRIA at the following URL + "http://www.cecill.info". + + As a counterpart to the access to the source code and rights to copy, + modify and redistribute granted by the license, users are provided only + with a limited warranty and the software's author, the holder of the + economic rights, and the successive licensors have only limited liability. + + In this respect, the user's attention is drawn to the risks associated + with loading, using, modifying and/or developing or reproducing the + software by the user in light of its specific status of free software, + that may mean that it is complicated to manipulate, and that also + therefore means that it is reserved for developers and experienced + professionals having in-depth computer knowledge. Users are therefore + encouraged to load and test the software's suitability as regards their + requirements in conditions enabling the security of their systems and/or + data to be ensured and, more generally, to use and operate it in the + same conditions as regards security. + The fact that you are presently reading this means that you have had + knowledge of the CeCILL license and that you accept its terms. + + ParadisEO WebSite : http://paradiseo.gforge.inria.fr + Contact: paradiseo-help@lists.gforge.inria.fr + +*/ + +/** @page webpages Related webpages + +- ParadisEO homepage +- INRIA GForge project page +- README +*/ diff --git a/smp/doc/smp.doxyfile.cmake b/doc/smp/smp.doxyfile.cmake old mode 100644 new mode 100755 similarity index 100% rename from smp/doc/smp.doxyfile.cmake rename to doc/smp/smp.doxyfile.cmake diff --git a/edo/CMakeLists.txt b/edo/CMakeLists.txt deleted file mode 100644 index 50424db45..000000000 --- a/edo/CMakeLists.txt +++ /dev/null @@ -1,46 +0,0 @@ - -if(EDO_USE_LIB STREQUAL "uBLAS") - find_package(Boost) - if(Boost_FOUND) - include_directories( ${Boost_INCLUDE_DIRS} ) - add_definitions( -DWITH_BOOST ) - else() - message(FATAL_ERROR "\n\nERROR: You asked for Boost::uBLAS but it has not been found.\n" ) - endif() -elseif(EDO_USE_LIB STREQUAL "Eigen3") - find_package(Eigen3) - if(EIGEN3_FOUND) - include_directories( ${EIGEN3_INCLUDE_DIR} ) - add_definitions( -DWITH_EIGEN ) - else() - message(FATAL_ERROR "\n\nERROR: You asked for Eigen3 but it has not been found.\n" ) - endif() - -else() - # FIXME ideally, we would have a minimal implementation with STL vectors… - message(FATAL_ERROR "\n\nYou must set EDO_USE_LIB to either 'uBLAS' or 'Eigen3'.\n" ) -endif() - - -###################################################################################### -### Include subdirectories -###################################################################################### - -add_subdirectory(doc) -add_subdirectory(src) - -if(ENABLE_CMAKE_TESTING AND EIGEN3_FOUND) # see edoNormalAdaptive - add_subdirectory(test) -else() - if( NOT EIGEN3_FOUND ) - message("Eigen3 has not been found, cannot build EDO tests") - endif() -endif() - -if(ENABLE_CMAKE_EXAMPLE) - if(${CMAKE_VERBOSE_MAKEFILE}) - message("EDO examples:") - endif(${CMAKE_VERBOSE_MAKEFILE}) - add_subdirectory(application) -endif() - diff --git a/edo/src/CMakeLists.txt b/edo/src/CMakeLists.txt deleted file mode 100644 index 8abab561b..000000000 --- a/edo/src/CMakeLists.txt +++ /dev/null @@ -1,37 +0,0 @@ -###################################################################################### -### 1) Set all needed source files for the project -###################################################################################### - -include_directories(${EO_SRC_DIR}) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) - -set(EDO_LIB_OUTPUT_PATH ${EDO_BIN_DIR}/lib) -set(LIBRARY_OUTPUT_PATH ${EDO_LIB_OUTPUT_PATH}) - - -###################################################################################### -### 3) Look for headers -###################################################################################### - -file(GLOB HDRS edo) -install(FILES ${HDRS} DESTINATION include${INSTALL_SUB_DIR}/edo COMPONENT headers) - - -###################################################################################### -### 4) Install directories -###################################################################################### - -install(DIRECTORY utils - DESTINATION include${INSTALL_SUB_DIR}/edo - COMPONENT headers - FILES_MATCHING PATTERN "*.h" - ) - - -###################################################################################### -### 2) Where must cmake go now ? -###################################################################################### - -ADD_SUBDIRECTORY(utils) - -###################################################################################### diff --git a/edo/src/edo b/edo/src/edo deleted file mode 100644 index 1668a2ee2..000000000 --- a/edo/src/edo +++ /dev/null @@ -1,97 +0,0 @@ -/* -The Evolving Distribution Objects framework (EDO) is a template-based, -ANSI-C++ evolutionary computation library which helps you to write your -own estimation of distribution algorithms. - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2.1 of the License, or (at your option) any later version. - -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 -Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Copyright (C) 2010 Thales group -*/ -/* -Authors: - Johann Dréo - Caner Candan -*/ - -#ifndef _edo_ -#define _edo_ - -#include "edoAlgo.h" -//#include "edoEDASA.h" -#include "edoAlgoAdaptive.h" -#include "edoAlgoStateless.h" - -#include "edoDistrib.h" -#include "edoUniform.h" -#include "edoNormalMono.h" -#include "edoNormalMulti.h" -#include "edoNormalAdaptive.h" -#include "edoBinomial.h" -#include "edoBinomialMulti.h" - -#include "edoEstimator.h" -#include "edoEstimatorUniform.h" -#include "edoEstimatorNormalMono.h" -#include "edoEstimatorNormalMulti.h" -#include "edoEstimatorAdaptive.h" -#include "edoEstimatorNormalAdaptive.h" -#include "edoEstimatorBinomial.h" -#include "edoEstimatorBinomialMulti.h" - -#include "edoModifier.h" -#include "edoModifierDispersion.h" -#include "edoModifierMass.h" -#include "edoUniformCenter.h" -#include "edoNormalMonoCenter.h" -#include "edoNormalMultiCenter.h" - -#include "edoSampler.h" -#include "edoSamplerUniform.h" -#include "edoSamplerNormalMono.h" -#include "edoSamplerNormalMulti.h" -#include "edoSamplerNormalAdaptive.h" -#include "edoSamplerBinomial.h" -#include "edoSamplerBinomialMulti.h" - -#include "edoVectorBounds.h" - -#include "edoRepairer.h" -#include "edoRepairerDispatcher.h" -#include "edoRepairerRound.h" -#include "edoRepairerModulo.h" -#include "edoBounder.h" -#include "edoBounderNo.h" -#include "edoBounderBound.h" -#include "edoBounderRng.h" -#include "edoBounderUniform.h" - -#include "edoContinue.h" -#include "utils/edoCheckPoint.h" - -#include "utils/edoStat.h" -#include "utils/edoStatUniform.h" -#include "utils/edoStatNormalMono.h" -#include "utils/edoStatNormalMulti.h" - -#include "utils/edoFileSnapshot.h" -#include "utils/edoPopStat.h" - -#include "edoTransform.h" - -#endif // !_edo_ - -// Local Variables: -// mode: C++ -// End: diff --git a/edo/test/t-binomialmulti.cpp b/edo/test/t-binomialmulti.cpp deleted file mode 100644 index 3c995e343..000000000 --- a/edo/test/t-binomialmulti.cpp +++ /dev/null @@ -1,87 +0,0 @@ -/* -The Evolving Distribution Objects framework (EDO) is a template-based, -ANSI-C++ evolutionary computation library which helps you to write your -own estimation of distribution algorithms. - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2.1 of the License, or (at your option) any later version. - -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 -Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Copyright (C) 2013 Thales group -*/ -/* -Authors: - Johann Dréo -*/ - -#include -#include -#include -#include - -#include -#include -#include // for Bools - - -#ifdef WITH_EIGEN -#include - -// NOTE: a typedef on eoVector does not work, because of readFrom on a vector AtomType -// typedef eoVector > Bools; -class Bools : public std::vector >, public EO -{ - public: - typedef std::vector AtomType; -}; - -int main(int ac, char** av) -{ - eoParser parser(ac, av); - - std::string section("Algorithm parameters"); - unsigned int popsize = parser.createParam((unsigned int)100000, "popSize", "Population Size", 'P', section).value(); // P - unsigned int rows = parser.createParam((unsigned int)2, "lines", "Lines number", 'l', section).value(); // l - unsigned int cols = parser.createParam((unsigned int)3, "columns", "Columns number", 'c', section).value(); // c - double proba = parser.createParam((double)0.5, "proba", "Probability to estimate", 'b', section).value(); // b - - if( parser.userNeedsHelp() ) { - parser.printHelp(std::cout); - exit(1); - } - - make_help(parser); - - std::cout << "Init distrib" << std::endl; - Eigen::MatrixXd initd = Eigen::MatrixXd::Constant(rows,cols,proba); - edoBinomialMulti distrib( initd ); - std::cout << distrib << std::endl; - - edoEstimatorBinomialMulti estimate; - edoSamplerBinomialMulti sample; - - std::cout << "Sample a pop from the init distrib" << std::endl; - eoPop pop; pop.reserve(popsize); - for( unsigned int i=0; i < popsize; ++i ) { - pop.push_back( sample( distrib ) ); - } - - std::cout << "Estimate a distribution from the sampled pop" << std::endl; - distrib = estimate( pop ); - std::cout << distrib << std::endl; - - std::cout << "Estimated initial proba = " << distrib.mean() << std::endl; -} - - -#endif // WITH_EIGEN diff --git a/eo/.gitignore b/eo/.gitignore deleted file mode 100644 index 2bfc9fc77..000000000 --- a/eo/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -*.swp -debug/ -release/ -*CMakeFiles* -*Makefile diff --git a/eo/CMakeLists.txt b/eo/CMakeLists.txt deleted file mode 100644 index 9966de557..000000000 --- a/eo/CMakeLists.txt +++ /dev/null @@ -1,65 +0,0 @@ - - -##################################################################################### -### Include required modules / configuration files -##################################################################################### - -# For eo::mpi -enable_language(C) - -# For openmp parallel -if(ENABLE_OPENMP) - find_package(OpenMP) - if(OPENMP_FOUND) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") - else() - message( "ERROR: You asked for OpenMP but it has not been found." ) - set(IS_FATAL 1) - endif(OPENMP_FOUND) -endif(ENABLE_OPENMP) - -if(ENABLE_GNUPLOT) - include(FindGnuplot) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DHAVE_GNUPLOT -DGNUPLOT_PROGRAM=\\\"${GNUPLOT_EXECUTABLE}\\\"") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_GNUPLOT -DGNUPLOT_PROGRAM=\\\"${GNUPLOT_EXECUTABLE}\\\"") -endif(ENABLE_GNUPLOT) - -# set a special flag if the environment is windows (should do the same in a config.g file) -if (WIN32) - add_definitions(-D_WINDOWS=1) -endif (WIN32) - - - -##################################################################################### -### Include required modules / configuration files -##################################################################################### - -# now create config headers -configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h) - -# now create config install_symlink script file -configure_file(install_symlink.py.cmake ${CMAKE_CURRENT_BINARY_DIR}/install_symlink.py) - - -###################################################################################### -### Include subdirectories -###################################################################################### - - -add_subdirectory(doc) -add_subdirectory(src) - -if(ENABLE_CMAKE_TESTING) - add_subdirectory(test) -endif(ENABLE_CMAKE_TESTING) - -if(ENABLE_CMAKE_EXAMPLE) - if(${CMAKE_VERBOSE_MAKEFILE}) - message("EO examples:") - endif(${CMAKE_VERBOSE_MAKEFILE}) - add_subdirectory(tutorial) - #add_subdirectory(app) # FIXME must be updated -endif(ENABLE_CMAKE_EXAMPLE) - diff --git a/eo/cmake/modules/FindEO.cmake b/eo/cmake/modules/FindEO.cmake deleted file mode 100644 index 8bf3ac130..000000000 --- a/eo/cmake/modules/FindEO.cmake +++ /dev/null @@ -1,100 +0,0 @@ -# File: FindEO.cmake -# CMAKE commands to actually use the EO library -# Version: 0.0.1 -# -# The following variables are filled out: -# - EO_INCLUDE_DIRS -# - EO_LIBRARY_DIRS -# - EO_LIBRARIES -# - EO_FOUND -# -# Here are the components: -# - PyEO -# - es -# - ga -# - cma -# -# You can use FIND_PACKAGE( EO COMPONENTS ... ) to enable one or several components. -# - -# Default enabled components -SET(EO_LIBRARIES_TO_FIND eo eoutils) - -# Use FIND_PACKAGE( EO COMPONENTS ... ) to enable modules -IF(EO_FIND_COMPONENTS) - FOREACH(component ${EO_FIND_COMPONENTS}) - STRING(TOUPPER ${component} _COMPONENT) - SET(EO_USE_${_COMPONENT} 1) - ENDFOREACH(component) - - # To make sure we don't use PyEO, ES, GA, CMA when not in COMPONENTS - IF(NOT EO_USE_PYEO) - SET(EO_DONT_USE_PYEO 1) - ELSE(NOT EO_USE_PYEO) - SET(EO_LIBRARIES_TO_FIND ${EO_LIBRARIES_TO_FIND} PyEO) - ENDIF(NOT EO_USE_PYEO) - - IF(NOT EO_USE_ES) - SET(EO_DONT_USE_ES 1) - ELSE(NOT EO_USE_ES) - SET(EO_LIBRARIES_TO_FIND ${EO_LIBRARIES_TO_FIND} es) - ENDIF(NOT EO_USE_ES) - - IF(NOT EO_USE_GA) - SET(EO_DONT_USE_GA 1) - ELSE(NOT EO_USE_GA) - SET(EO_LIBRARIES_TO_FIND ${EO_LIBRARIES_TO_FIND} ga) - ENDIF(NOT EO_USE_GA) - - IF(NOT EO_USE_CMA) - SET(EO_DONT_USE_CMA 1) - ELSE(NOT EO_USE_CMA) - SET(EO_LIBRARIES_TO_FIND ${EO_LIBRARIES_TO_FIND} cma) - ENDIF(NOT EO_USE_CMA) -ENDIF(EO_FIND_COMPONENTS) - -IF(NOT EO_INCLUDE_DIRS) - FIND_PATH( - EO_INCLUDE_DIRS - EO.h - PATHS - /usr/include/eo - /usr/local/include/eo - ) -ENDIF(NOT EO_INCLUDE_DIRS) - -IF(NOT EO_LIBRARY_DIRS) - FIND_PATH( - EO_LIBRARY_DIRS - libeo.a - PATHS - /usr/lib - /usr/local/lib - ) -ENDIF(NOT EO_LIBRARY_DIRS) - -IF(NOT EO_LIBRARIES) - SET(EO_LIBRARIES) - FOREACH(component ${EO_LIBRARIES_TO_FIND}) - FIND_LIBRARY( - EO_${component}_LIBRARY - NAMES ${component} - PATHS - /usr/lib - /usr/local/lib - ) - IF(EO_${component}_LIBRARY) - SET(EO_LIBRARIES ${EO_LIBRARIES} ${EO_${component}_LIBRARY}) - ELSE(EO_${component}_LIBRARY) - MESSAGE(FATAL_ERROR "${component} component not found.") - ENDIF(EO_${component}_LIBRARY) - ENDFOREACH(component) -ENDIF(NOT EO_LIBRARIES) - -IF(EO_INCLUDE_DIRS AND EO_LIBRARY_DIRS AND EO_LIBRARIES) - SET(EO_FOUND 1) - MARK_AS_ADVANCED(EO_FOUND) - MARK_AS_ADVANCED(EO_INCLUDE_DIRS) - MARK_AS_ADVANCED(EO_LIBRARY_DIRS) - MARK_AS_ADVANCED(EO_LIBRARIES) -ENDIF(EO_INCLUDE_DIRS AND EO_LIBRARY_DIRS AND EO_LIBRARIES) diff --git a/eo/contrib/mathsym/test_data.txt b/eo/contrib/mathsym/test_data.txt deleted file mode 100644 index 754b1f0d1..000000000 --- a/eo/contrib/mathsym/test_data.txt +++ /dev/null @@ -1,102 +0,0 @@ -# 101 2 nan nan - 0.0 -0 - 0.1 -8.89903723981037e-05 - 0.2 -0.00122598240763888 - 0.3 -0.00517587564272387 - 0.4 -0.0132382052428645 - 0.5 -0.0254643081877282 - 0.6 -0.0407070337997998 - 0.7 -0.057285499199392 - 0.8 -0.0737562490233578 - 0.9 -0.0892727708954409 - 1 -0.103268200413493 - 1.1 -0.114577577792354 - 1.2 -0.120446083316857 - 1.3 -0.116000062935524 - 1.4 -0.0946298417869761 - 1.5 -0.0493963195458011 - 1.6 0.0248409598316732 - 1.7 0.129207388804052 - 1.8 0.259260510831339 - 1.9 0.404709502287215 - 2 0.550653582802201 - 2.1 0.680124882844178 - 2.2 0.777313232294796 - 2.3 0.830628236863242 - 2.4 0.834788256127692 - 2.5 0.79140362503436 - 2.6 0.707953643967287 - 2.7 0.595509207315954 - 2.8 0.46588939354196 - 2.9 0.329064872475183 - 3 0.191504886385553 - 3.1 0.0558518299407852 - 3.2 -0.0781019284912663 - 3.3 -0.211542824409141 - 3.4 -0.344524221510933 - 3.5 -0.474312294176053 - 3.6 -0.594727989459508 - 3.7 -0.696713721292122 - 3.8 -0.769988957905497 - 3.9 -0.805344773512717 - 4 -0.796949283133396 - 4.1 -0.744036874310458 - 4.2 -0.651525836186196 - 4.3 -0.529396820025977 - 4.4 -0.39098574050144 - 4.5 -0.250612439788816 - 4.6 -0.121113466670896 - 4.7 -0.0118426008551395 - 4.8 0.0724429930487275 - 4.9 0.13163323998176 - 5 0.169341449166714 - 5.1 0.191319990014267 - 5.2 0.203657703492626 - 5.3 0.211210264725322 - 5.4 0.216611758596317 - 5.5 0.220036646440173 - 5.6 0.219677788419796 - 5.7 0.212731354762643 - 5.8 0.196574232374672 - 5.9 0.169803441763318 - 6 0.132875383837662 - 6.1 0.0882099910986659 - 6.2 0.0397733622937463 - 6.3 -0.00771703924831375 - 6.4 -0.0497388405970527 - 6.5 -0.0828196592845663 - 6.6 -0.105101954751146 - 6.7 -0.116508794142315 - 6.8 -0.118508967610477 - 6.9 -0.113576955648085 - 7 -0.104507044103426 - 7.1 -0.0937591677397028 - 7.2 -0.0829871341075209 - 7.3 -0.0728391340503617 - 7.4 -0.0630443677389944 - 7.5 -0.0527284491080759 - 7.6 -0.0408508284036276 - 7.7 -0.0266394584962638 - 7.8 -0.00991225704809318 - 7.9 0.00878546797299183 - 8 0.0282459694154097 - 8.1 0.0468334978875681 - 8.2 0.0628175943181446 - 8.3 0.0747179317764707 - 8.4 0.0815794072993519 - 8.5 0.0831208473565567 - 8.6 0.0797359724522078 - 8.7 0.072361534724142 - 8.8 0.0622560784562081 - 8.9 0.0507477567273995 - 9 0.0390091892966309 - 9.1 0.0279034956336959 - 9.2 0.0179233472968783 - 9.3 0.00922050032813963 - 9.4 0.00170282350837218 - 9.5 -0.00483635091477891 - 9.6 -0.010593872761556 - 9.7 -0.0156676782318098 - 9.8 -0.020019888098685 - 9.9 -0.0234934811028401 - 10 -0.0258701880584331 diff --git a/eo/doc/index.h b/eo/doc/index.h deleted file mode 100644 index 52a5758cf..000000000 --- a/eo/doc/index.h +++ /dev/null @@ -1,62 +0,0 @@ -/** @mainpage Welcome to Evolving Objects - -@section shortcuts In one word - -The best place to learn about the features and approaches of %EO with the help of examples is to look at -the tutorial. - -Once you have understand the @ref design of %EO, you could search for advanced features by browsing the modules page. - - -@section intro Introduction - - %EO is a template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast. - -It contains classes for almost any kind of evolutionary computation you might come -up to - at least for the ones we could think of. It is component-based, so that -if you don't find the class you need in it, it is very easy to subclass existing -abstract or concrete classes. - -Designing an algorithm with %EO consists in choosing what components you want to use for your specific needs, just as building a structure with Lego blocks. - -If you have a classical problem for which available code exists (for example if you have a black-box problem with real-valued variables), you will just choose components to form an algorithm and connect it to your fitness function (which computes the quality of a given solution). - -If your problem is a bit more exotic, you will have to code a class that represents how your individuals (a solution to your problem) are represented, and perhaps some variations operators, but most of the other operators (selection, replacement, stopping criteria, command-line interface, etc.) are already available in %EO. - - - -@section design Overall Design - -%EO is a framework. It is oriented toward facilitating the design of adhoc evolutionary algorithms. -It is not (at the moment) a complete library of algorithms ready to use on canonical problems. - -If you have a well-known problem and want to solve it as soon as possible, try another software. -If you have a real problem and want to build the best evolutionary algorithm to solve it, you've made -the good choice. - -Bascially, %EO manipulate "individuals" with a "fitness", that is objects -encoding a solution to a given optimization problem, associated with -the quality of this solution. The fitness is defined in the %EO class, -but the representation of a solution cannot be as generic. Thus, %EO -massively use templates, so that you will not be limited by interfaces -when using your own representation. - -Once you have a representation, you will build your own evolutionary algorithm -by assembling @ref Operators in @ref Algorithms. -In %EO, most of the objects are functors, that is classes with an operator(), that you -can call just as if they were classical functions. For example, an algorithm is a -functor, that manipulate a population of individuals, it will be implemented as a functor, -with a member like: operator()(eoPop). Once called on a given population, it will -search for the optimum of a given problem. - -Generally, operators are instanciated once and then binded in an algorithm by reference. -Thus, you can easily build your own algorithm by trying several combination of operators. - -For a more detailled introduction to the design of %EO you can look at the -slides from a talk at EA 2001 or at the corresponding -article in Lecture Notes In Computer Science, 2310, Selected Papers from the 5th European Conference on Artificial Evolution: - - http://portal.acm.org/citation.cfm?id=727742 - - http://eodev.sourceforge.net/eo/doc/LeCreusot.pdf - - http://eodev.sourceforge.net/eo/doc/EO_EA2001.pdf -*/ diff --git a/eo/doc/mainpage.html b/eo/doc/mainpage.html deleted file mode 100644 index e175850c6..000000000 --- a/eo/doc/mainpage.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - - - -EO Evolutionary Computation Framework - - - -
-

EO Evolutionary Computation Framework

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

What is EO?

-
- -

EO is a templates-based, ANSI-C++ compliant evolutionary computation - library. It contains classes for almost any kind of evolutionary - computation you might come up to - at least for the ones we could think - of. It is component-based, so that if you don't find the class you need - in it, it is very easy to subclass existing abstract or concrete - classes.

- -

EO was started by the Geneura - Team at the University of Granada, headed by Juan Julián Merelo. The original Web site is also the only place where you - will find old releases of EO (up to 0.8.7), but beware that it is not - compatible at all with the current version.

- -

The developement team has then been reinforced by Maarten Keijzer, the C++ - wizzard, and Marc Schoenauer. - Later came Jeroen - Eggermont, who, among other things, did a lot of work on GP, - INRIA Dolphin Team, Olivier König, who did a - lot of useful additions and cleaning of the code and Jochen Küpper, working on - infrastructure maintenance.

- -
-

Platforms

-
- -

EO should work on Windows and any Un*x-like operating system with a - standard-conforming C++ development system.

- -

Recent versions of EO have been tested on the following platforms: -

- -
    -
  • Linux x86 with GCC 3.x and 4.x
  • -
  • Linux x86_64 with GCC 3.x and GCC 4.x
  • -
  • MacOS X/Darwin PowerPC with GCC 3.x
  • -
  • MacOS X/Darwin x86 with GCC 4.x
  • -
  • Microsoft Windows using Cygwin's GCC 3.x (cygming special). -
  • Microsoft Windows using Visual Studio 2003/2005; projects files - are provided.
  • -
  • Solaris SPARC with GCC 3.x
  • -
  • Solaris x86 with GCC 3.x
  • -
- -

If you have tested EO on a system not listed here, please let - us know.

- -

If you are working on a system with an older C++ compiler there - is a good chance that eo-0.9.3z.1 works. It is tested on Linux - with gcc-2.9x and several systems (IRIX, Solaris) with egcs.

- -
-

Documentation

-
- -

The tutorial demonstrates that writing an evolutionary algorithm - evolving your own structures is now easy, using ready-to-use - template files. Although the tutorial has not been upgraded for some - time now and refers to version 0.9.2 of EO, it nevertheless remains the - best way to dive into EO. You can start by trying it on-line at LRI - or SourceForge, - before downloading it. The - tutorial is also included in the released - sources.

- -

The latest tutorial - release -

- -

The complete code is also well documented and you can look at the - generated interface - documentation.

- -

The easiest way to create a complete new EO-project, even for new - genomes, is to use the script provided in tutorial/Templates/; see - the README in that directory and lesson 5 of the tutorial for - detail.

- -
-

Presentations

-
- -

A functional and "philosophical" overview of EO was presented at EA'01 conference. - You can download the paper - or the - slides.

- -

A PowerPoint presentation shows the EO philosophy, and - it includes a Visual Basic macro for evolving objects in Visual Basic - for Applications.

- -

You can also look a the list of - publications that used EO to solve real problems.

- -
-

Download

-
- -

The current release is EO 1.0. - It supports any Standard-compliant C++ compiler.

- -

You can obtain the latest version directly via cvs or download a - daily snapshot from LRI.

- -

All releases can be obtained from the SourceForge download - area.

- -
-

Mailing Lists

-
- - We would like EO to be an open development effort; that is why we have - created mailing lists to discuss future developments, solve technical - problems, announce releases, publish patches, and discuss evolutionary - computation in general. Browse the archives or join the EO mailing lists. - -
-

EO@sourceforge

-
- -

The following resources are available, thanks to sourceforge

- -
-

License

-
EO is distributed under the - GNU Lesser General - Public License - -
-

Related Apps

-
- -

ParadisEO provides EO extensions for - the flexible design of single solution-based metaheuristics, - metaheuristics for multi objective optimization as well as hybrid, parallel and distributed - metaheuristics.

- -

DegaX is an ActiveX control which embeds EO 0.8.4. -

- -
-

Links

-
- - -
- -

Hosted by:
SF logo

- -

Valid HTML 4.01 Transitional
Please send comments on this webpage to the EO mailing -list.

- - - - - - - - - diff --git a/eo/doc/publications.html b/eo/doc/publications.html deleted file mode 100644 index 26ff646f4..000000000 --- a/eo/doc/publications.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - EO Evolutionary Computation Framework - - - -
-

List of publications using EO

-
- - - - - - - - - -
-

- M. - Keijzer, J.J. Merelo, G. Romero, G., M. Schoenauer: "Evolving - objects: A general purpose evolutionary computation - library", Art. Evol. 2310, 231-242 (2002). -

-
-

- J.J. Gilijamse, J. Küpper, - S. Hoekstra, S.Y.T. van de Meerakker, G. Meijer: - "Optimizing the Stark-decelerator beamline for the trapping of - cold molecules using evolutionary strategies", - Phys. Rev. A 73, 063410 (2006).
- Also available at arXiv - physics/0603108 (2006). -

-
-
-

- Hosted by:
SF logo -

-
-

- - Valid HTML 4.01 Transitional -
- Please send publications that belong on this page and general comments on - this webpage to - the EO - mailing list. -

- - - - - - - - diff --git a/eo/src/CMakeLists.txt b/eo/src/CMakeLists.txt deleted file mode 100644 index a06f59141..000000000 --- a/eo/src/CMakeLists.txt +++ /dev/null @@ -1,58 +0,0 @@ -###################################################################################### -### 1) Include the sources -###################################################################################### - -include_directories(${EOMPI_SRC_DIR}/src) -include_directories(${EOSERIAL_SRC_DIR}/src) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) - -###################################################################################### -### 2) Define the eo target -###################################################################################### - -set(EO_LIB_OUTPUT_PATH ${EO_BIN_DIR}/lib) -set(LIBRARY_OUTPUT_PATH ${EO_LIB_OUTPUT_PATH}) - -set(EO_SOURCES - eoFunctorStore.cpp - eoPersistent.cpp - eoPrintable.cpp - eoCtrlCContinue.cpp - eoScalarFitnessAssembled.cpp - eoSIGContinue.cpp - ) - -add_library(eo STATIC ${EO_SOURCES}) - -###################################################################################### -### 3) Optionnal: define your target(s)'s version: no effect for windows -###################################################################################### - -set(EO_VERSION ${GLOBAL_VERSION}) -set_target_properties(eo PROPERTIES VERSION "${EO_VERSION}") - -install(TARGETS eo ARCHIVE DESTINATION ${LIB} COMPONENT libraries) - -file(GLOB HDRS *.h eo) -install(FILES ${HDRS} DESTINATION include${INSTALL_SUB_DIR}/eo COMPONENT headers) - -install(DIRECTORY do es ga gp other utils - DESTINATION include${INSTALL_SUB_DIR}/eo - COMPONENT headers - FILES_MATCHING PATTERN "*.h" PATTERN "checkpointing" PATTERN external_eo - ) - -###################################################################################### -### 4) Where must cmake go now ? -###################################################################################### - -add_subdirectory(es) -add_subdirectory(ga) -add_subdirectory(utils) -#add_subdirectory(serial) - -if(ENABLE_PYEO) - add_subdirectory(pyeo) -endif(ENABLE_PYEO) - -###################################################################################### diff --git a/eo/src/eo b/eo/src/eo deleted file mode 100644 index 8196e2b14..000000000 --- a/eo/src/eo +++ /dev/null @@ -1,210 +0,0 @@ -//----------------------------------------------------------------------------- -// eo -// (c) GeNeura Team 1998 - 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -#ifndef _eo_ -#define _eo_ - -#ifdef HAVE_CONFIG_H -#include -#endif - -// general purpose -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -// eo's -#include - -#include - -#include -#include -#include - -// the variation operators -#include -#include -#include -#include -// combinations of simple eoOps (eoMonOp and eoQuadOp) -#include -// didactic (mimics SGA-like variation into an eoGenOp) -// calls crossover and mutation sequentially, -// with their respective mutation rates -#include -// its dual: crossover, mutation (and copy) - proportional choice -// w.r.t. given relative weights -#include - -// population -#include - -// Evaluation functions (all include eoEvalFunc.h) -#include -#include -#include -#include -#include - -// Continuators - all include eoContinue.h -#include -#include -#include -#include -#include -#include -#include // added th T.Legrand -#ifndef _MSC_VER -#include // CtrlC handling (using 2 global variables!) -#endif -// Selection -// the eoSelectOne's -#include -#include -#include -#include -#include // also contains eoLinearFitScaling.h -#include -#include -#include -// Embedding truncation selection -#include - -// the batch selection - from an eoSelectOne -#include -#include -#include -#include - -// other batch selections -// DetSelect can also be obtained as eoSequentialSelect, an eoSelectOne -// (using setup and an index) -#include -#include - -// Breeders -#include // applies one eoGenOp, stop on offspring count -// #include // parent + SINGLE offspring compete (e.g. DE) - not ready yet... - -// Replacement -// #include -#include -#include -#include - -// a simple transformer -#include - -// Perf2Worth stuff - includes eoSelectFromWorth.h -#include - - -// Algorithms -#include -#include -// #include removed for a while - until eoGenOp is done - -// Utils -#include -#include // includes eoRealBounds.h -#include // no eoIntVectorBounds - -// aliens -#include -#include - - -//----------------------------------------------------------------------------- -// to be continued ... -//----------------------------------------------------------------------------- - -/*** Particle Swarm Optimization stuff ***/ - -// basic particle definitions -#include -#include -#include -#include - -// initialization -#include -#include - -// velocities -#include -#include -#include -#include -#include -#include -#include -#include - -// flights -#include -#include -#include -#include -#include - -// topologies -#include -#include -#include -#include -#include -#include - -// PS algorithms -#include -#include -#include - -// utils -#include -#include -#include -#include -#include - -#include -#include - -#endif - -// Local Variables: -// mode: C++ -// End: diff --git a/eo/src/other/external_eo b/eo/src/other/external_eo deleted file mode 100644 index aeaaaab6b..000000000 --- a/eo/src/other/external_eo +++ /dev/null @@ -1,2 +0,0 @@ -#include -#include diff --git a/eo/tutorial/html/BitEA.html b/eo/tutorial/html/BitEA.html deleted file mode 100644 index 7d75bec5b..000000000 --- a/eo/tutorial/html/BitEA.html +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - BitEA.cpp - - -Back to Lesson 4 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-
-

-BitEA.cpp

-Click on the figure to see the corresponding code.
-In the code, the colors are meaningfull
-The actual code is in boldface and the comment in normal face. -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
  - - - - - -
-#include <iostream>
-#include <ga/make_ga.h>
-#include <apply.h>
-
-
- - - - -
- -#include "binary_value.h"
-
-
- - - - -
- -using namespace std;
-int main(int argc, char* argv[])
-{
-  try
-  {
-
-
- - - - -
- -//-----------------------------------------------------------------------------
-// define your genotype and fitness types
-  typedef eoBit<double> EOT;
-
-
- - - - -
- -  eoParser parser(argc, argv);  // for user-parameter reading
-
-
- - - - -
- -  eoState state;      // keeps all things allocated
-  ///// FIRST, problem or representation dependent stuff
-  //////////////////////////////////////////////////////
-
-
- - - - -
- -  // The evaluation fn - encapsulated into an eval counter for output
-  eoEvalFuncPtr<EOT, float> mainEval( binary_value<EOT> );
-  eoEvalFuncCounter<EOT> eval(mainEval);
-
-
- - - - -
- -  // the genotype - through a genotype initializer
-  eoInit<EOT>& init = make_genotype(parser, state, EOT());
-
-
- - - - -
- -  // Build the variation operator (any seq/prop construct)
-  eoGenOp<EOT>& op = make_op(parser, state, init);
-
-
- - - - -
- -  //// Now the representation-independent things
-  //////////////////////////////////////////////
-  // initialize the population - and evaluate
-  // yes, this is representation indepedent once you have an eoInit
-  eoPop<EOT>& pop    = make_pop(parser, state, init);
-
-
- - - - -
- -  // stopping criteria
-  eoContinue<EOT> & term = make_continue(parser, state, eval);
-  // output
-  eoCheckPoint<EOT> & checkpoint = make_checkpoint(parser, state, eval, term);
-
-
- - - - -
- -  // algorithm (need the operator!)
-  eoAlgo<EOT>& ga = make_algo_scalar(parser, state, eval, checkpoint, op);
-  ///// End of construction of the algorith
-  /////////////////////////////////////////
-
-
- - - - -
- -  // to be called AFTER all parameters have been read!!!
-  make_help(parser);
-  //// GO
-  ///////
-
-
- - - - -
- -  // evaluate intial population AFTER help and status in case it takes time
-  apply(eval, pop);
-
-
- - - - -
- -  // print it out (sort witout modifying)
-  cout << "Initial Population\n";
-  pop.sortedPrintOn(cout);
-  cout << endl;
-
-
- - - - -
- -  run_ea(ga, pop); // run the ga
-
-
- - - - -
- -  // print it out (sort witout modifying)
-  cout << "Final Population\n";
-  pop.sortedPrintOn(cout);
-  cout << endl;
-
-
- - - - -
- -  }
-  catch(exception& e)
-  {
-      cout << e.what() << endl;
-  }
-}
-
-
Back to Lesson 4 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
-
Last -modified: Wed Mar 6 05:40:27 2002 - - - diff --git a/eo/tutorial/html/FirstBitEA.html b/eo/tutorial/html/FirstBitEA.html deleted file mode 100644 index 4caa11055..000000000 --- a/eo/tutorial/html/FirstBitEA.html +++ /dev/null @@ -1,369 +0,0 @@ - - - - - - FirstBitEA.cpp - - - -Back to Lesson 2 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-
-

-FirstBitEA.cpp

-Click on the figure to see the corresponding code.
-In the code, the colors are meaningfull
-The actual code is in boldface and the comment in normal face. -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
  - - - - - -
-//-----------------------------------------------------------------------------
-// FirstBitEA.cpp
-//-----------------------------------------------------------------------------
-//*
-// Still an instance of a VERY simple Bitstring Genetic Algorithm
-// (see FirstBitGA.cpp) but now with  Breeder - and Combined Ops
-//
-//-----------------------------------------------------------------------------
-// standard includes
-#include <stdexcept>  // runtime_error
-#include <iostream>    // cout
-#include <strstream>  // ostrstream, istrstream
-// the general include for eo
-#include <eo>
-
-
- - - - -
- -#include <ga.h>
-//-----------------------------------------------------------------------------
-// define your individuals
-typedef eoBit<double> Indi; // A bitstring with fitness double
-
-
- - - - -
- -//-----------------------------------------------------------------------------
-// a simple fitness function that computes the number of ones of a bitstring
-// Now in a separate file, and declared as binary_value(const vector<bool> &)
-#include "binary_value.h"
-
-
- - - - -
- -//-----------------------------------------------------------------------------
-void main_function(int argc, char **argv)
-{
-
-
- - - - -
- -  const unsigned int SEED = 42; // seed for random number generator
-  const unsigned int T_SIZE = 3; // size for tournament selection
-  const unsigned int VEC_SIZE = 8; // Number of bits in genotypes
-  const unsigned int POP_SIZE = 20; // Size of population
-  const unsigned int MAX_GEN = 500; // Maximum number of generation before STOP
-  const float CROSS_RATE = 0.8; // Crossover rate
-  const double P_MUT_PER_BIT = 0.01; // probability of bit-flip mutation
-  const float MUT_RATE = 1.0; // mutation rate
-  // some parameters for chosing among different operators
-  const double onePointRate = 0.5;        // rate for 1-pt Xover
-  const double twoPointsRate = 0.5;        // rate for 2-pt Xover
-  const double URate = 0.5;                      // rate for Uniform Xover
-  const double bitFlipRate = 0.5;          // rate for bit-flip mutation
-  const double oneBitRate = 0.5;            // rate for one-bit mutation
-
-
- - - - -
- -  //////////////////////////
-  //  Random seed
-  //////////////////////////
-  //reproducible random seed: if you don't change SEED above,
-  // you'll aways get the same result, NOT a random run
-  rng.reseed(SEED);
-
-
- - - - -
- -  /////////////////////////////
-  // Fitness function
-  ////////////////////////////
-  // Evaluation: from a plain C++ fn to an EvalFunc Object
-  // you need to give the full description of the function
-  eoEvalFuncPtr<Indi, double, const vector<bool>& > eval(  binary_value );
-
-
- - - - -
- -  ////////////////////////////////
-  // Initilisation of population
-  ////////////////////////////////
-  // based on eoUniformGenerator class (see utils/eoRndGenerators.h)
-  eoUniformGenerator<bool> uGen;
-  eoInitFixedLength<Indi> random(VEC_SIZE, uGen);
-  // Initialization of the population
-  eoPop<Indi> pop(POP_SIZE, random);
-  // and evaluate it in one line
-  apply<Indi>(eval, pop); // STL syntax
-
-
- - - - -
- -  // sort pop before printing it!
-  pop.sort();
-  // Print (sorted) intial population (raw printout)
-  cout << "Initial Population" << endl;
-  cout << pop;
-
-
- - - - -
- -  /////////////////////////////////////
-  // selection and replacement
-  ////////////////////////////////////
-
-
- - - - -
- -  // The robust tournament selection
-  eoDetTournamentSelect<Indi> selectOne(T_SIZE);            // T_SIZE in [2,POP_SIZE]
- -  // is now encapsulated in a eoSelectPerc (entage)
-  eoSelectPerc<Indi> select(selectOne);// by default rate==1
-
-
- - - - -
- -  // And we now have the full slection/replacement - though with
-  // no replacement (== generational replacement) at the moment :-)
-  eoNoReplacement<Indi> replace;
-
-
- - - - -
- -  //////////////////////////////////////
-  // The variation operators
-  //////////////////////////////////////
-
-
- - - - -
- -  // 1-point crossover for bitstring
-  eo1PtBitXover<Indi> xover1;
-  // uniform crossover for bitstring
-  eoUBitXover<Indi> xoverU;
-  // 2-pots xover
-  eoNPtsBitXover<Indi> xover2(2);
-  // Combine them with relative rates
-  eoPropCombinedQuadOp<Indi> xover(xover1, onePointRate);
-  xover.add(xoverU, URate);
-  xover.add(xover2, twoPointsRate, true);
-
-
- - - - -
- -  
-  // standard bit-flip mutation for bitstring
-  eoBitMutation<Indi>  mutationBitFlip(P_MUT_PER_BIT);
-  // mutate exactly 1 bit per individual
-  eoDetBitFlip<Indi> mutationOneBit;
-  // Combine them with relative rates
-  eoPropCombinedMonOp<Indi> mutation(mutationBitFlip, bitFlipRate);
-  mutation.add(mutationOneBit, oneBitRate, true);
-  
- -  // The operators are  encapsulated into an eoTRansform object
-  eoSGATransform<Indi> transform(xover, CROSS_RATE, mutation, MUT_RATE);
-
-
- - - - -
- - -
- - - - -
- -  //////////////////////////////////////
-  // termination conditions: use more than one
-  /////////////////////////////////////
-  // stop after MAX_GEN generations
-  eoGenContinue<Indi> genCont(MAX_GEN);
-  // do MIN_GEN gen., then stop after STEADY_GEN gen. without improvement
-  eoSteadyFitContinue<Indi> steadyCont(MIN_GEN, STEADY_GEN);
-  // stop when fitness reaches a target (here VEC_SIZE)
-  eoFitContinue<Indi> fitCont(0);
-  // do stop when one of the above says so
-  eoCombinedContinue<Indi> continuator(genCont);
-  continuator.add(steadyCont);
-  continuator.add(fitCont);
-
-
- - - - -
- -  /////////////////////////////////////////
-  // the algorithm
-  ////////////////////////////////////////
-  // Easy EA requires
-  // selection, transformation, eval, replacement, and stopping criterion
-  eoEasyEA<Indi> gga(continuator, eval, select, transform, replace);
-  // Apply algo to pop - that's it!
-  gga(pop);
-  
-
-
- - - - -
- -  // Print (sorted) intial population
-  pop.sort();
-  cout << "FINAL Population\n" << pop << endl;
-
-
- - - - -
- -}
-// A main that catches the exceptions
-int main(int argc, char **argv)
-{
-#ifdef _MSC_VER
-  //  rng.reseed(42);
-      int flag = _CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF);
-        flag |= _CRTDBG_LEAK_CHECK_DF;
-      _CrtSetDbgFlag(flag);
-//    _CrtSetBreakAlloc(100);
-#endif
-      try
-      {
-              main_function(argc, argv);
-      }
-      catch(exception& e)
-      {
-              cout << "Exception: " << e.what() << '\n';
-      }
-      return 1;
-}
-
-
Back to Lesson 2 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
-
Last -modified: Sun Nov 19 22:26:27 2000 - - - diff --git a/eo/tutorial/html/FirstBitGA.html b/eo/tutorial/html/FirstBitGA.html deleted file mode 100644 index d3012829a..000000000 --- a/eo/tutorial/html/FirstBitGA.html +++ /dev/null @@ -1,312 +0,0 @@ - - - - - - FirstBitGA.html - - - -Back to Lesson 1 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-
-

-Code for FirstBitGA

-Click on the figure to see the corresponding code. -
In the code, the colors are meaningfull -
The actual code is in boldface and the comment in normal face. -
-
- - - - -
//----------------------------------------------------------------------------- -
// FirstBitGA.cpp -
//----------------------------------------------------------------------------- -
//* -
// An instance of a VERY simple Bitstring -Genetic Algorithm -
// -
//----------------------------------------------------------------------------- -
// standard includes -
#include <stdexcept>  // runtime_error  -
#include <iostream>    -// cout -
#include <strstream>  // ostrstream, -istrstream -
// the general include for eo -
#include <eo>
- - - - - -
#include <ga.h>
-//----------------------------------------------------------------------------- -
// define your individuals -
typedef eoBit<double> Indi;        -// A bitstring with fitness double
- - - - - -
//----------------------------------------------------------------------------- -
// a simple fitness function that computes -the number of ones of a bitstring -
//  @param _indi A biststring individual -
double binary_value(const -Indi & _indi) -
{ -
 double sum = 0; -
 for (unsigned i = 0; i < _indi.size(); -i++) -
     sum += _indi[i]; -
 return sum; -
}
- - - - - -
//----------------------------------------------------------------------------- -
void main_function(int argc, char **argv) -
{
- - - - - -
 // all parameters are hard-coded! -
 const unsigned int SEED = 42;          -// seed for random number generator -
 const unsigned int T_SIZE = 3;        -// size for tournament selection -
 const unsigned int VEC_SIZE = 8;    -// Number of bits in genotypes -
 const unsigned int POP_SIZE = 20;  -// Size of population -
 const unsigned int MAX_GEN = 100;  -// Maximum number of generation before STOP -
 const float CROSS_RATE = 0.8;          -// Crossover rate -
 const double P_MUT_PER_BIT = 0.01; -// probability of bit-flip mutation -
 const float MUT_RATE = 1.0;              -// mutation rate
- - - - - -
////////////////////////// -
 //  Random seed -
 ////////////////////////// -
 //reproducible random seed: -if you don't change SEED above,  -
 // you'll aways get the same -result, NOT a random run -
 rng.reseed(SEED);
- - - - - -
 ///////////////////////////// -
 // Fitness function -
 //////////////////////////// -
 // Evaluation: from a plain -C++ fn to an EvalFunc Object -
 eoEvalFuncPtr<Indi> eval(  -binary_value );
- - - - - -
 //////////////////////////////// -
 // Initilisation of population -
 //////////////////////////////// -
 // declare the population -
 eoPop<Indi> pop; -
 // fill it! -
 for (unsigned int igeno=0; igeno<POP_SIZE; -igeno++) -
     { -
         -Indi v;                    -// void individual, to be filled -
         -for (unsigned ivar=0; ivar<VEC_SIZE; ivar++) -
             -{ -
                 -bool r = rng.flip(); // new value, random in {0,1} -
                 -v.push_back(r);          // -append that random value to v -
             -} -
         -eval(v);                                -// evaluate it -
         -pop.push_back(v);              -// and put it in the population -
     }
- - - - - -
 // sort pop before printing -it! -
 pop.sort(); -
 // Print (sorted) intial population -(raw printout) -
 cout << "Initial Population" -<< endl; -
 cout << pop;
- - - - - -
 ///////////////////////////////////// -
 // selection and replacement -
 ////////////////////////////////////
- - - - - -
 // The robust tournament selection -
 eoDetTournamentSelect<Indi> select(T_SIZE);  -// T_SIZE in [2,POP_SIZE]
- - - - - -
 // The simple GA evolution engine -uses generational replacement -
 // so no replacement procedure -is needed
- - - - - -
- - - - - -
 ////////////////////////////////////// -
 // The variation operators -
 //////////////////////////////////////
- - - - - -
 // 1-point crossover for bitstring -
 eo1PtBitXover<Indi> xover;
- - - - - -
-
 // standard bit-flip mutation -for bitstring -
 eoBitMutation<Indi>  mutation(P_MUT_PER_BIT);
- - - - - -
 ////////////////////////////////////// -
 // termination condition -
 ///////////////////////////////////// -
 // stop after MAX_GEN generations -
 eoGenContinue<Indi> continuator(MAX_GEN); -
 
- - - - - -
 ///////////////////////////////////////// -
 // the algorithm -
 //////////////////////////////////////// -
 // standard Generational GA -requires as parameters -
 // selection, evaluation, crossover -and mutation, stopping criterion -

 eoSGA<Indi> gga(select, xover, -CROSS_RATE, mutation, MUT_RATE,  -
                                 -eval, continuator); -
 // Apply algo to pop - that's -it! -
 gga(pop); -
 

- - - - - -
 // Print (sorted) intial population -
 pop.sort(); -
 cout << "FINAL Population\n" -<< pop << endl;
- - - - - -
} -
// A main that catches the exceptions -
int main(int argc, char **argv) -
{ -
#ifdef _MSC_VER -
 //  rng.reseed(42); -
     int flag = _CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF); -
       flag -|= _CRTDBG_LEAK_CHECK_DF; -
     _CrtSetDbgFlag(flag); -
//    _CrtSetBreakAlloc(100); -
#endif -
     try -
     { -
             -main_function(argc, argv); -
     } -
     catch(exception& -e) -
     { -
             -cout << "Exception: " << e.what() << '\n'; -
     } -
     return 1; -
}
- -
Back to Lesson 1 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
- -
Last modified: Sun Nov -19 08:31:26 2000 - - diff --git a/eo/tutorial/html/FirstRealEA.html b/eo/tutorial/html/FirstRealEA.html deleted file mode 100644 index ad60c2c22..000000000 --- a/eo/tutorial/html/FirstRealEA.html +++ /dev/null @@ -1,354 +0,0 @@ - - - - - - FirstRealEA.cpp - - -Back to Lesson 2 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-
-

-FirstRealEA.cpp

-Click on the figure to see the corresponding code. -
In the code, the colors are meaningfull -
The actual code is in boldface and the comment in normal face. -
-
- - - - -
//----------------------------------------------------------------------------- -
// FirstRealEA.cpp -
//----------------------------------------------------------------------------- -
//* -
// Still an instance of a VERY simple Real-coded  -Genetic Algorithm  -
// (see FirstBitGA.cpp) but now with  -Breeder - and Combined Ops -
// -
//----------------------------------------------------------------------------- -
// standard includes -
#include <stdexcept>  // runtime_error  -
#include <iostream>    -// cout -
#include <strstream>  // ostrstream, -istrstream -
// the general include for eo -
#include <eo>
- - - - - -
#include <es.h>
-//----------------------------------------------------------------------------- -
// define your individuals -
typedef eoReal<double> Indi; 
- - - - - -
//----------------------------------------------------------------------------- -
// a simple fitness function that computes -the euclidian norm of a real vector -
// Now in a separate file, and declared as -binary_value(const vector<bool> &) -
#include "real_value.h"
- - - - - -
//----------------------------------------------------------------------------- -
void main_function(int argc, char **argv) -
{
- - - - - -
 const unsigned int SEED = 42; // -seed for random number generator -
 const unsigned int T_SIZE = 3; // -size for tournament selection -
 const unsigned int VEC_SIZE = 8; -// Number of object variables in genotypes -
 const unsigned int POP_SIZE = 20; -// Size of population -
 const unsigned int MAX_GEN = 500; -// Maximum number of generation before STOP -
 const unsigned int MIN_GEN = 10;  -// Minimum number of generation before ... -
 const unsigned int STEADY_GEN = -50; // stop after STEADY_GEN gen. without improvelent -
 const float P_CROSS = 0.8; // -Crossover probability -
 const float P_MUT = 0.5; // -mutation probability -
 const double EPSILON = 0.01; // -range for real uniform mutation -
       double -SIGMA = 0.3;        // std dev. -for normal mutation -
 // some parameters for chosing -among different operators -
 const double hypercubeRate = 0.5;    -// relative weight for hypercube Xover -
 const double segmentRate = 0.5; -// relative weight for segment Xover -
 const double uniformMutRate = 0.5; -// relative weight for uniform mutation -
 const double detMutRate = 0.5;     -// relative weight for det-uniform mutation -
 const double normalMutRate = 0.5;  -// relative weight for normal mutation
- - - - - -
 ////////////////////////// -
 //  Random seed -
 ////////////////////////// -
 //reproducible random seed: -if you don't change SEED above,  -
 // you'll aways get the same -result, NOT a random run -
 rng.reseed(SEED);
- - - - - -
 ///////////////////////////// -
 // Fitness function -
 //////////////////////////// -
 // Evaluation: from a plain -C++ fn to an EvalFunc Object -
 // you need to give the full -description of the function -
 eoEvalFuncPtr<Indi, double, const -vector<double>& > eval(  real_value );
- - - - - -
 //////////////////////////////// -
 // Initilisation of population -
 //////////////////////////////// -
 // based on a uniform generator -
 eoInitFixedLength<Indi, uniform_generator<double> -> -
         -random(VEC_SIZE, uniform_generator<double>(-1.0, 1.0)); -
   // Initialization of -the population -
 eoPop<Indi> pop(POP_SIZE, random); -

 // and evaluate it in one loop -
 apply<Indi>(eval, pop); // -STL syntax

- - - - - -
 // sort pop before printing -it! -
 pop.sort(); -
 // Print (sorted) intial population -(raw printout) -
 cout << "Initial Population" -<< endl; -
 cout << pop;
- - - - - -
 ///////////////////////////////////// -
 // selection and replacement -
 ////////////////////////////////////
- - - - - -
 // The robust tournament selection -
 eoDetTournamentSelect<Indi> selectOne(T_SIZE); -
// -is now encapsulated in a eoSelectPerc (entage) -
 eoSelectPerc<Indi> select(selectOne);// -by default rate==1
- - - - - -
 // And we now have the full -slection/replacement - though with  -
 // no replacement (== generational -replacement) at the moment :-) -
 eoNoReplacement<Indi> replace; 
- - - - - -
 ////////////////////////////////////// -
 // The variation operators -
 //////////////////////////////////////
- - - - - -
 // uniform chooce on segment -made by the parents -
 eoSegmentCrossover<Indi> xoverS; -
 // uniform choice in hypercube -built by the parents -
 eoHypercubeCrossover<Indi> xoverA; -
 // Combine them with relative -weights -
 eoPropCombinedQuadOp<Indi> xover(xoverS, -segmentRate); -
 xover.add(xoverA, hypercubeRate, -true);
- - - - - -
-
 // offspring(i) uniformly chosen -in [parent(i)-epsilon, parent(i)+epsilon] -
 eoUniformMutation<Indi>  -mutationU(EPSILON);  -
 // k (=1) coordinates of parents -are uniformly modified -
 eoDetUniformMutation<Indi>  -mutationD(EPSILON);  -
 // all coordinates of parents are normally -modified (stDev SIGMA) -
 eoNormalMutation<Indi>  -mutationN(SIGMA);  -
 // Combine them with relative -weights -
 eoPropCombinedMonOp<Indi> mutation(mutationU, -uniformMutRate); -
 mutation.add(mutationD, detMutRate); -
 mutation.add(mutationN, normalMutRate, -true); -

 // The operators are  encapsulated -into an eoTRansform object -
 eoSGATransform<Indi> transform(xover, -P_CROSS, mutation, P_MUT);

- - - - - -
- - - - - -
 ////////////////////////////////////// -
 // termination conditions: use -more than one -
 ///////////////////////////////////// -
 // stop after MAX_GEN generations -
 eoGenContinue<Indi> genCont(MAX_GEN); -
 // do MIN_GEN gen., then stop -after STEADY_GEN gen. without improvement -
 eoSteadyFitContinue<Indi> steadyCont(MIN_GEN, -STEADY_GEN); -
 // stop when fitness reaches -a target (here VEC_SIZE) -
 eoFitContinue<Indi> fitCont(0); -
 // do stop when one of the above -says so -
 eoCombinedContinue<Indi> continuator(genCont); -
 continuator.add(steadyCont); -
 continuator.add(fitCont);
- - - - - -
 ///////////////////////////////////////// -
 // the algorithm -
 //////////////////////////////////////// -
 // Easy EA requires  -
 // selection, transformation, -eval, replacement, and stopping criterion -
 eoEasyEA<Indi> gga(continuator, -eval, select, transform, replace); -
 // Apply algo to pop - that's -it! -
 cout << "\n              -Here we go\n\n"; -
 gga(pop); -
 
- - - - - -
 // Print (sorted) intial population -
 pop.sort(); -
 cout << "FINAL Population\n" -<< pop << endl;
- - - - - -
} -
// A main that catches the exceptions -
int main(int argc, char **argv) -
{ -
#ifdef _MSC_VER -
 //  rng.reseed(42); -
     int flag = _CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF); -
       flag -|= _CRTDBG_LEAK_CHECK_DF; -
     _CrtSetDbgFlag(flag); -
//    _CrtSetBreakAlloc(100); -
#endif -
     try -
     { -
             -main_function(argc, argv); -
     } -
     catch(exception& -e) -
     { -
             -cout << "Exception: " << e.what() << '\n'; -
     } -
     return 1; -
}
- -
Back to Lesson 2 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
- -
Last modified: Wed Nov -29 07:38:36 2000 - - diff --git a/eo/tutorial/html/FirstRealGA.html b/eo/tutorial/html/FirstRealGA.html deleted file mode 100644 index f228adfac..000000000 --- a/eo/tutorial/html/FirstRealGA.html +++ /dev/null @@ -1,350 +0,0 @@ - - - - - - FirstRealGA.html - - - -Back to Lesson 1 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-
-

-Code for FirstRealGA

-Click on the figure to see the corresponding code.
-In the code, the colors are meaningfull
-The actual code is in boldface and the comment in normal face. -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
  - - - - - -
-//-----------------------------------------------------------------------------
-// FirstRealGA.cpp
-//-----------------------------------------------------------------------------
-//*
-// An instance of a VERY simple Real-coded Genetic Algorithm
-//
-//-----------------------------------------------------------------------------
-// standard includes
-#include <stdexcept>  // runtime_error
-#include <iostream>    // cout
-#include <strstream>  // ostrstream, istrstream
-// the general include for eo
-#include <eo>
-
-
- - - - -
- -#include <es.h>
-//-----------------------------------------------------------------------------
-// define your individuals
- typedef eoReal<double> Indi;
-
-
- - - - -
- -//-----------------------------------------------------------------------------
-// a simple fitness function that computes the euclidian norm of a real vector
-//      @param _indi A real-valued individual
- -double real_value(const Indi & _indi)
-{
-  double sum = 0;
-  for (unsigned i = 0; i < _indi.size(); i++)
-          sum += _indi[i]*_indi[i];
-  return (-sum);                      // maximizing only
-}
-
-
- - - - -
- -//-----------------------------------------------------------------------------
-void main_function(int argc, char **argv)
-{
-
-
- - - - -
- -  // all parameters are hard-coded!
-  const unsigned int SEED = 42; // seed for random number generator
-  const unsigned int VEC_SIZE = 8; // Number of object variables in genotypes
-  const unsigned int POP_SIZE = 20; // Size of population
-  const unsigned int T_SIZE = 3; // size for tournament selection
-  const unsigned int MAX_GEN = 500; // Maximum number of generation before STOP
-  const float CROSS_RATE = 0.8; // Crossover rate
-  const double EPSILON = 0.01;  // range for real uniform mutation
-  const float MUT_RATE = 0.5;    // mutation rate
-
-
- - - - -
- - -  //////////////////////////
-  //  Random seed
-  //////////////////////////
-  //reproducible random seed: if you don't change SEED above,
-  // you'll aways get the same result, NOT a random run
-  rng.reseed(SEED);
-
-
- - - - -
- -  /////////////////////////////
-  // Fitness function
-  ////////////////////////////
-  // Evaluation: from a plain C++ fn to an EvalFunc Object
-  eoEvalFuncPtr<Indi> eval(  real_value );
-
-
- - - - -
- -  ////////////////////////////////
-  // Initilisation of population
-  ////////////////////////////////
-  // declare the population
-  eoPop<Indi> pop;
-  // fill it!
-  for (unsigned int igeno=0; igeno<POP_SIZE; igeno++)
-      {
-          Indi v;                  // void individual, to be filled
-          for (unsigned ivar=0; ivar<VEC_SIZE; ivar++)
-              {
-                  double r = 2*rng.uniform() - 1; // new value, random in [-1,1)
-                  v.push_back(r);            // append that random value to v
-              }
-          eval(v);                                  // evaluate it
-          pop.push_back(v);                // and put it in the population
-      }
-
-
- - - - -
- -  // sort pop before printing it!
-  pop.sort();
-  // Print (sorted) intial population (raw printout)
-  cout << "Initial Population" << endl;
-  cout << pop;
-
-
- - - - -
- -  /////////////////////////////////////
-  // selection and replacement
-  ////////////////////////////////////
-
-
- - - - -
- -  // The robust tournament selection
-  eoDetTournamentSelect<Indi> select(T_SIZE);            // T_SIZE in [2,POP_SIZE]
-
-
- - - - -
- -  // eoSGA uses generational replacement by default
-  // so no replacement procedure has to be given
-
-
- - - - -
- - -
- - - - -
- -  //////////////////////////////////////
-  // termination condition
-  /////////////////////////////////////
-  // stop after MAX_GEN generations
-  eoGenContinue<Indi> continuator(MAX_GEN);
-  
-
-
- - - - -
- -  //////////////////////////////////////
-  // The variation operators
-  //////////////////////////////////////
-
-
- - - - -
- -  // offspring(i) uniformly chosen in [parent(i)-epsilon, parent(i)+epsilon]
-  eoUniformMutation<Indi>  mutation(EPSILON);
-
-
- - - - -
- -  // offspring(i) is a linear combination of parent(i)
-  eoSegmentCrossover<Indi> xover;
-
-
- - - - -
- -  /////////////////////////////////////////
-  // the algorithm
-  ////////////////////////////////////////
-  // standard Generational GA requires
-  // selection, evaluation, crossover and mutation, stopping criterion
-
-  eoSGA<Indi> gga(select, xover, CROSS_RATE, mutation, MUT_RATE,
-                                    eval, continuator);
-  // Apply algo to pop - that's it!
-  gga(pop);
-  
-
-
- - - - -
- -  // Print (sorted) intial population
-  pop.sort();
-  cout << "FINAL Population\n" << pop << endl;
-
-
- - - - -
- -}
-// A main that catches the exceptions
-int main(int argc, char **argv)
-{
-#ifdef _MSC_VER
-  //  rng.reseed(42);
-      int flag = _CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF);
-        flag |= _CRTDBG_LEAK_CHECK_DF;
-      _CrtSetDbgFlag(flag);
-//    _CrtSetBreakAlloc(100);
-#endif
-      try
-      {
-              main_function(argc, argv);
-      }
-      catch(exception& e)
-      {
-              cout << "Exception: " << e.what() << '\n';
-      }
-      return 1;
-}
-
-
Back to Lesson 1 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
-
Last -modified: Sun Nov 19 08:31:29 2000 - - - diff --git a/eo/tutorial/html/Firstmerge.html b/eo/tutorial/html/Firstmerge.html deleted file mode 100644 index 2c4e7b9c5..000000000 --- a/eo/tutorial/html/Firstmerge.html +++ /dev/null @@ -1,286 +0,0 @@ - - - - - - Differences - - -Back to Lesson 1 - -Tutorial -main page - -Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-
-

-FirstBitGA and FirstRealGA: differences

-Below is a comparison of the codes for both algorithms (comments have been -removed). -
Warning: the pink -background here denotes the differences, not the section  of -the algorithm, which is only recalled by the color of the text! -
These differences are limited to -
    -
  • -the declaration of the type of the genotypes,
  • - -
  • -the fitness function (what did you expect -:-),
  • - -
  • -the initialization (and if you look carefully, -you'll find out that only a small part of the initialization is different, -as both genotypes are eoFixedLength objects) and of course
  • - -
  • -the choice of variation operators (including -the parameter for the mutation).
  • -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#include -<stdexcept > -
#include <iostream> -
#include <strstream> -
#include <eo>
#include -<stdexcept > -
#include <iostream> -
#include <strstream> -
#include <eo>
#include <es.h>
-typedef eoReal<double> Indi;
#include <ga.h>
-typedef eoBit<double> Indi;
double -real_value(const Indi & _indi) -
{ -
  double -sum = 0; -
  for (unsigned -i = 0; i < _indi.size(); i++) -
      -sum += _indi[i]*_indi[i]; -
  return -(-sum);   // maximizing -
}
double -binary_value(const Indi & _indi) -
{ -
  double -sum = 0; -
  for (unsigned -i = 0; i < _indi.size(); i++) -
      -sum += _indi[i]; -
  return -(sum); -
}
void -main_function(int argc, char **argv) -
{ -
const unsigned -int SEED = 42; -
const unsigned -int VEC_SIZE = 8; -
const unsigned -int POP_SIZE = 20; -
const unsigned -int T_SIZE = 3; -
const unsigned -int MAX_GEN = 500; -
const float -CROSS_RATE = 0.8; -
const float -MUT_RATE = 0.5;
void -main_function(int argc, char **argv) -
{ -
const unsigned -int SEED = 42; -
const unsigned -int VEC_SIZE = 8; -
const unsigned -int POP_SIZE = 20; -
const unsigned -int T_SIZE = 3; -
const unsigned -int MAX_GEN = 500; -
const float -CROSS_RATE = 0.8; -
const float -MUT_RATE = 0.5;
const -double EPSILON = 0.01;const -double P_MUT_PER_BIT = 0.01;
eoEvalFuncPtr<Indi> -eval(real_value);eoEvalFuncPtr<Indi> -eval(binary_value);
eoPop<Indi> -pop; -
for (unsigned -int igeno=0; igeno<POP_SIZE; igeno++) -
  { -
    -Indi v; -
    -for (unsigned ivar=0; ivar<VEC_SIZE; ivar++) -
      -{
eoPop<Indi> -pop; -
for (unsigned -int igeno=0; igeno<POP_SIZE; igeno++) -
  { -
    -Indi v; -
    -for (unsigned ivar=0; ivar<VEC_SIZE; ivar++) -
      -{
        -double r = 2*rng.uniform() - 1;        -bool r = rng.flip(); 
        -v.push_back(r); // -
      -} -
    -eval(v); -
    -pop.push_back(v); -
  } -
pop.sort(); -
cout << -"Initial Population" << endl; -
cout << -pop; -
eoDetTournament<Indi> -select(T_SIZE); -
eoGenContinue<Indi> -continuator(MAX_GEN);
        -v.push_back(r); // -
      -} -
    -eval(v); -
    -pop.push_back(v); -
  } -
pop.sort(); -
cout << -"Initial Population" << endl; -
cout << -pop; -
eoDetTournament<Indi> -select(T_SIZE); -
eoGenContinue<Indi> -continuator(MAX_GEN);
eoUniformMutation<Indi>  -mutation(EPSILON); -
eoSegmentCrossover<Indi> -xover;
eoBitMutation<Indi>  -mutation(P_MUT_PER_BIT); -
eo1PtBitXover<Indi> -xover;
-eoSGA<Indi> -gga(select, xover, CROSS_RATE, -
                -mutation, MUT_RATE, eval, continuator); -
gga(pop); -
pop.sort(); -
cout << -"FINAL Population\n" << pop << endl; -
} -
int main(int -argc, char **argv) -
{ -
... [technical -code removed] -
}
-eoSGA<Indi> -gga(select, xover, CROSS_RATE, -
                -mutation, MUT_RATE, eval, continuator); -
gga(pop); -
pop.sort(); -
cout << -"FINAL Population\n" << pop << endl; -
} -
int main(int -argc, char **argv) -
{ -
[... technical -code removed ] -
}
- -
Back to Lesson 1 - -Tutorial -main page - -Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-
-Marc Schoenauer
- -
Last -modified: Tue Nov 7 07:49:47 CET 2000 - - diff --git a/eo/tutorial/html/NoWay.html b/eo/tutorial/html/NoWay.html deleted file mode 100644 index 74d7204cc..000000000 --- a/eo/tutorial/html/NoWay.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - Tutorial: Solutions - - -Tutorial main page - -Algorithm-Based -- Component-Based - Programming -hints -EO -documentation -
-
-
-

-Tutorial:

- -
Solutions of exercises
- -

No, we won't -provide -any -hypertext link directly to the correct code, so you get a chance -to find out the solution by yourself without immediately going there  -:-))) -

What you should do: -

    -
  • -copy the code of an example onto another name (e.g. mytest.cpp)
  • - -
  • -edit and modify mytest.cpp -according to the corresponding instructions of the exercise
  • - -
  • -compile mytest.cpp by typing -make -mytest at system prompt, and you will hopefully get an -executable file named mytest -(for Unix systems: if eventually someone tells me how to do that in Windows, -apart that you'll probably end up with an executable file named mytest.exe...).
  • -
- -
-
What you may do later: -

All solutions to exercises are in the same -sub-dir of the Tutorial directory than the example files (i.e. -Lesson1 for Lesson1, yes!) and are named exerciseN.p.cpp -where N is the lesson number and p the exercise number. Hence you may browse -through the code, eventually modifying it, and then simply type, in the -corresponding directory, -
... % make exerciseN.p -
which will compile file exerciseN.p.cpp -into executable exerciseN.p -(for Unix systems: if eventually someone tells me how to do that in Windows, -you'll probably end up with an executable file named exerciseN.p.exe). -

-


-
What you may not do: -
Complain that it does not work under Windows :-)
- -
Tutorial main page - -Algorithm-Based -- Component-Based - Programming -hints - EO -documentation -
-
-
-Marc Schoenauer
- -
Last -modified: Fri Nov 3 18:49:12 CET 2000 - - diff --git a/eo/tutorial/html/OneMaxEA.html b/eo/tutorial/html/OneMaxEA.html deleted file mode 100644 index 47102a452..000000000 --- a/eo/tutorial/html/OneMaxEA.html +++ /dev/null @@ -1,360 +0,0 @@ - - - - - - Templates/OneMaxEA.cpp - - -Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-
-

-Templates/OneMaxEA.cpp

-The places where you have to put some code are on pink -background.. Only the the character -colors have the usual meaning. -
- - - - -
/** -*- mode: c++; c-indent-level: -4; c++-member-init-indent: 8; comment-column: 35; -*- -
The above line is usefulin Emacs-like editors -
*/ -
/* -
Template for creating a new representation -in EO -
================================================ -
This is the template main file. -
It includes all other files that have been -generated by the script create.sh -
so it is the only file to compile. -
In case you want to build up a separate library -for your new Evolving Object, -
you'll need some work - follow what's done -in the src/ga dir, used in the -
main file BitEA in tutorial/Lesson4 dir. -
Or you can wait until we do it :-) -
*/ -
// Miscilaneous include and declaration  -
#include <iostream> -
using namespace std; -
// eo general include -
#include "eo" -
// the real bounds (not yet in general eo -include) -
#include "utils/eoRealVectorBounds.h" -
// include here whatever specific files for -your representation -
// Basically, this should include at least -the following -
/** definition of representation:  -
* class eoOneMax MUST derive from EO<FitT> -for some fitness -
*/
- - - - - -
#include "eoOneMax.h" -
/** definition of initilizqtion:  -
* class eoOneMaxInit MUST derive from eoInit<eoOneMax> -
*/
- - - - - -
#include "eoOneMaxInit.h" -
/** definition of evaluation:  -
* class eoOneMaxEvalFunc MUST derive from -eoEvalFunc<eoOneMax> -
* and should test for validity before doing -any computation -
* see tutorial/Templates/evalFunc.tmpl -
*/
- - - - - -
#include "eoOneMaxEvalFunc.h" -
// GENOTYPE    eoOneMax ***MUST*** -be templatized over the fitness
- - - - - -
// START fitness type: double or eoMaximizingFitness -if you are maximizing -
//                                        -eoMinimizingFitness if you are minimizing -
typedef eoMinimizingFitness MyFitT ; // -type of fitness  -
// END fitness type
- - - - - -
- - - - - -
// Then define your EO objects using that -fitness type -
typedef eoOneMax<MyFitT> Indi;           -// ***MUST*** derive from EO 
- - - - - -
// create an initializer -
#include "make_genotype_OneMax.h" -
eoInit<Indi> & make_genotype(eoParser& -_parser, eoState&_state, Indi _eo) -
{ -
 return do_make_genotype(_parser, -_state, _eo); -
- - - - - -
// and the variation operaotrs -
#include "make_op_OneMax.h" -
eoGenOp<Indi>&  make_op(eoParser& -_parser, eoState& _state, eoInit<Indi>& _init) -
{ -
 return do_make_op(_parser, _state, -_init); -
}
- - - - - -
// Use existing modules to define representation -independent routines -
// These are parser-based definitions of -objects -
// how to initialize the population  -
// it IS representation independent if an -eoInit is given -
#include <do/make_pop.h> -
eoPop<Indi >&  make_pop(eoParser& -_parser, eoState& _state, eoInit<Indi> & _init) -
{ -
 return do_make_pop(_parser, _state, -_init); -
}
- - - - - -
// the stopping criterion -
#include <do/make_continue.h> -
eoContinue<Indi>& make_continue(eoParser& -_parser, eoState& _state, eoEvalFuncCounter<Indi> & _eval) -
{ -
 return do_make_continue(_parser, -_state, _eval); -
}
- - - - - -
// outputs (stats, population dumps, ...) -
#include <do/make_checkpoint.h> -
eoCheckPoint<Indi>& make_checkpoint(eoParser& -_parser, eoState& _state, eoEvalFuncCounter<Indi>& _eval, eoContinue<Indi>& -_continue)  -
{ -
 return do_make_checkpoint(_parser, -_state, _eval, _continue); -
}
- - - - - -
// evolution engine (selection and replacement) -
#include <do/make_algo_scalar.h> -
eoAlgo<Indi>&  make_algo_scalar(eoParser& -_parser, eoState& _state, eoEvalFunc<Indi>& _eval, eoContinue<Indi>& -_continue, eoGenOp<Indi>& _op) -
{ -
 return do_make_algo_scalar(_parser, -_state, _eval, _continue, _op); -
}
- - - - - -
// simple call to the algo. stays there for -consistency reasons  -
// no template for that one -
#include <do/make_run.h> -
// the instanciating fitnesses -
#include <eoScalarFitness.h> -
void run_ea(eoAlgo<Indi>& _ga, -eoPop<Indi>& _pop) -
{ -
 do_run(_ga, _pop); -
} -
// checks for help demand, and writes the -status file -
// and make_help; in libutils -
void make_help(eoParser & _parser); -
// now use all of the above, + representation -dependent things -
int main(int argc, char* argv[]) -
{ -
 try -
 { -
 eoParser parser(argc, argv);   -// for user-parameter reading -
 eoState state;       -// keeps all things allocated
- - - - - -
      // -The fitness -
      ////////////// -
   eoOneMaxEvalFunc<Indi> -plainEval /* (varType  _anyVariable) */;; -
    // turn that object -into an evaluation counter -
   eoEvalFuncCounter<Indi> -eval(plainEval);
- - - - - -
  // the genotype - through a -genotype initializer -
 eoInit<Indi>& init = make_genotype(parser, -state, Indi());
- - - - - -
  // Build the variation operator -(any seq/prop construct) -
 eoGenOp<Indi>& op = make_op(parser, -state, init); -
  //// Now the representation-independent -things  -
  // -
  // YOU SHOULD NOT NEED TO MODIFY -ANYTHING BEYOND THIS POINT -
  // unless you want to add specific -statistics to the checkpoint -
  //////////////////////////////////////////////
- - - - - -
  // initialize the population -
  // yes, this is representation -indepedent once you have an eoInit -
 eoPop<Indi>& pop    -= make_pop(parser, state, init);
- - - - - -
  // stopping criteria -
 eoContinue<Indi> & term = -make_continue(parser, state, eval);
- - - - - -
  // output -
 eoCheckPoint<Indi> & checkpoint -= make_checkpoint(parser, state, eval, term);
- - - - - -
  // algorithm (need the operator!) -
 eoAlgo<Indi>& ga = make_algo_scalar(parser, -state, eval, checkpoint, op); -
  ///// End of construction of -the algorithm -
  ///////////////////////////////////////// -
  // to be called AFTER all parameters -have been read!!! -
 make_help(parser); -
  //// GO -
  ///////
- - - - - -
  // evaluate intial population -AFTER help and status in case it takes time -
 apply<Indi>(eval, pop); -
  // if you want to print it -out -
//    cout << "Initial -Population\n"; -
//    pop.sortedPrintOn(cout); -
//    cout << endl;
- - - - - -
 run_ea(ga, pop); // run the -ga -
 cout << "Final Population\n"; -
 pop.sortedPrintOn(cout); -
 cout << endl; -
 } -
 catch(exception& e) -
 { -
     cout << -e.what() << endl; -
 } -
 return 0; -
}
- -
Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
- -
Last modified: Sat May -4 07:37:41 2002 - - diff --git a/eo/tutorial/html/SecondBitEA.html b/eo/tutorial/html/SecondBitEA.html deleted file mode 100644 index ea043f026..000000000 --- a/eo/tutorial/html/SecondBitEA.html +++ /dev/null @@ -1,569 +0,0 @@ - - - - - - SecondBitEA.cpp - - - -Back to Lesson 3 - Tutorial -main page - Algorithm-Based - Component-Based -- -Programming -hints - EO -documentation -
-
-
-

-SecondBitEA.cpp

-Click on the figure to see the corresponding code. -
In the code, the colors are meaningfull -
The actual code is in boldface and the comment in normal face. -

For this particular program, as all new lines are concerned with program -parameter input and information output, the font -color for program-parameter-related sections will refer -to the section where the parameters are used whereas the background -color will remain blue. -

-
- - - - -
//----------------------------------------------------------------------------- -
// SecondGA.cpp -
//----------------------------------------------------------------------------- -
//* -
// Same code than FirstBitEA as far as Evolutionary -Computation is concerned -
// but now you learn to enter the parameters -in a more flexible way -
// and to twidle the output to your preferences! -
//----------------------------------------------------------------------------- -
// standard includes -
#include <stdexcept>  // runtime_error  -
#include <iostream>   // -cout -
#include <strstream>  // ostrstream, -istrstream -
#include <fstream> -
// the general include for eo -
#include <eo>
- - - - - -
// a simple fitness function that computes -the number of ones of a bitstring -
#include "binary_value.h"
- - - - - -
//----------------------------------------------------------------------------- -
// define your genotype and fitness types -
typedef eoBit<double> Indi;
- - - - - -
// the main_function: nothing changed(!), -except variable initialization -
void main_function(int argc, char **argv) -
{
- - - - - - - - - -
//----------------------------------------------------------------------------- -
// instead of having all values of useful -parameters as constants, read them: -
// either on the command line (--option=value -or -o=value) -
//        -or in a parameter file (same syntax, order independent,  -
//                                    -# = usual comment character  -
//        -or in the environment (TODO) -

// First define a parser from the command-line -arguments -
eoParser -parser(argc, argv); -

// For each parameter, define Parameter, read -it through the parser, -
// and assign the value to the variable -
-
eoValueParam<uint32> seedParam(time(0), -"seed", "Random number seed", 'S'); -
parser.processParam( -seedParam ); -
unsigned seed -= seedParam.value(); -

// decription -of genotype -
eoValueParam<unsigned int>& vecSizeParam(8, -"vecSize", "Genotype size",'V'); -
parser.processParam( vecSizeParam, "Representation" -); -
unsigned vecSize = vecSizeParam.value(); -

// parameters for evolution engine -
eoValueParam<unsigned int>& popSizeParam(10, -"popSize", "Population size",'P'); -
parser.processParam( popSizeParam, "Evolution -engine" ); -
unsigned popSize = popSizeParam.value(); -

eoValueParam<unsigned int>& tSizeParam(10, -"tSize", "Tournament size",'T'); -
parser.processParam( seedParam ); -
unsigned tSize = tSizeParam.value(); -
-
   // init and stop -
eoValueParam<string> loadNameParam("", -"Load","A save file to restart from",'L'); -
parser.processParam( loadNameParam, "Persistence" -); -
string loadName = loadNameParam.value(); -

eoValueParam<unsigned int> maxGenParam(100, -"maxGen", "Maximum number of generations",'G'); -
parser.processParam( maxGenParam, "Stopping -criterion" ); -
unsigned maxGen = maxGenParam.value(); -

eoValueParam<unsigned int> minGenParam(100, -"minGen", "Minimum number of generations",'g'); -
parser.processParam( minGenParam, "Stopping -criterion" ); -
unsigned minGen = minGenParam.value(); -

eoValueParam<unsigned int> steadyGenParam(100, -"steadyGen", "Number of generations with no improvement",'s'); -
parser.processParam( steadyGenParam, "Stopping -criterion" ); -
unsigned steadyGen = steadyGenParam.value(); -

// operators probabilities at the algorithm -level -
eoValueParam<double> pCrossParam(0.6, -"pCross", "Probability of Crossover", 'C');  -
parser.processParam( pCrossParam, "Genetic -Operators" ); -
double pCross = pCrossParam.value(); -

eoValueParam<double> pMutParam(0.1, -"pMut", "Probability of Mutation", 'M'); -
parser.processParam( pMutParam, "Genetic -Operators" ); -
double pMut = pMutParam.value(); -

// relative rates for crossovers -
eoValueParam<double> onePointRateParam(1, -"onePointRate", "Relative rate for one point crossover", '1'); -
parser.processParam( onePointRateParam, -"Genetic Operators" ); -
double onePointRate = onePointRateParam.value(); -

eoValueParam<double> twoPointsRateParam(1, -"twoPointRate", "Relative rate for two point crossover", '2'); -
parser.processParam( twoPointsRateParam, -"Genetic Operators" ); -
double twoPointsRate = twoPointsRateParam.value(); -

eoValueParam<double> uRateParam(2, "uRate", -"Relative rate for uniform crossover", 'U'); -
parser.processParam( uRateParam, "Genetic -Operators" ); -
double URate =  uRateParam.value(); -

// relative rates and private parameters for -mutations; -
eoValueParam<double> pMutPerBitParam(0.01, -"pMutPerBit", "Probability of flipping 1 bit in bit-flip mutation", 'b'); -
parser.processParam( pMutPerBitParam, -"Genetic Operators" ); -
double pMutPerBit = pMutPerBitParam.value(); -

eoValueParam<double> bitFlipRateParam(0.01, -"bitFlipRate", "Relative rate for bit-flip mutation", 'B'); -
parser.processParam( bitFlipRateParam, -"Genetic Operators" ); -
double bitFlipRate =  bitFlipRateParam.value(); -

eoValueParam<double> oneBitRateParam(0.01, -"oneBitRate", "Relative rate for deterministic bit-flip mutation", 'D'); -
parser.processParam( oneBitRateParam, -"Genetic Operators" ); -
double oneBitRate = oneBitRateParam.value(); -

// the name of the "status" file where all -actual parameter values will be saved -
string str_status = parser.ProgramName() -+ ".status"; // default value -
eoValueParam<string> statusParam(str_status.c_str(), -"status","Status file",'S'); -
parser.processParam( statusParam, "Persistence" -); -

// do the following AFTER ALL PARAMETERS HAVE -BEEN PROCESSED -
// i.e. in case you need parameters somewhere -else, postpone these -
if (parser.userNeedsHelp()) -
   { -
      parser.printHelp(cout); -
      exit(1); -
   } -
if (statusParam.value() != "") -
   { -
      ofstream -os(statusParam.value().c_str()); -
      os << -parser; // and you can use that file as parameter file -
   }

- - - - - -
 ///////////////////////////// -
 // Fitness function -
 //////////////////////////// -
 // Evaluation: from a plain -C++ fn to an EvalFunc Object ... -
 eoEvalFuncPtr<Indi, double, const -vector<bool>& > plainEval( binary_value ); -
// ... to an object -that counts the nb of actual evaluations -
 eoEvalFuncCounter<Indi> eval(plainEval);
- - - - - -
 //////////////////////////////// -
 // Initilisation of population -
 //////////////////////////////// -
 // Either load or initialize -
 // create an empty pop -
 eoPop<Indi> pop; -
 // create a state for reading -
 eoState inState; // a state -for loading - WITHOUT the parser -
// register the rng -and the pop in the state, so they can be loaded, -
 // and the present run will -be the exact conitnuation of the saved run -
 // eventually with different -parameters -
 inState.registerObject(rng); -
 inState.registerObject(pop); -

if (load_name -!= "") -
     { -
         -inState.load(load_name); //  load the pop and the rng -
       // -the fitness is read in the file:  -
       // -do only evaluate the pop if the fitness has changed -
     } -
 else -
     { -
         -rng.reseed(seed); -
       // -a Indi random initializer -
       // -based on eoUniformGenerator class (see utils/eoRndGenerators.h) -
       eoUniformGenerator<bool> -uGen; -
       eoInitFixedLength<Indi> -random(vecSize, uGen); -
       // -Init pop from the randomizer: need to use the append function -
         -pop.append(popSize, random);  -
       // -and evaluate pop (STL syntax)  -
         -apply<Indi>(eval, pop); -
     } // end -of initialization of the population

- - - - - -
 // sort pop for pretty printout -
 pop.sort(); -
 // Print (sorted) intial population -(raw printout) -
 cout << "Initial Population" -<< endl << pop << endl;
- - - - - -
 ///////////////////////////////////// -
 // selection and replacement -
 ////////////////////////////////////
- - - - - -
 // The robust tournament selection -
 eoDetTournamentSelect<Indi> selectOne(tSize);       -// tSize in [2,POPSIZE] -
 // is now encapsulated in a -eoSelectPerc (entage) -
 eoSelectPerc<Indi> select(selectOne); -
 // or eoSelectPerc<Indi> select(selectOne, -rate);  -
 // but by default rate==1
- - - - - -
 // And we now have the full -slection/replacement - though with  -
 // the same generational replacement -at the moment :-) -
 eoGenerationalReplacement<Indi> -replace; 
- - - - - -
 ////////////////////////////////////// -
 // The variation operators -
 //////////////////////////////////////
- - - - - -
 // 1-point crossover for bitstring -
 eo1PtBitXover<Indi> xover1; -
 // uniform crossover for bitstring -
 eoUBitXover<Indi> xoverU; -
 // 2-pots xover -
 eoNPtsBitXover<Indi> xover2(2); -
 // Combine them with relative -rates -
 eoPropCombinedQuadOp<Indi> xover(xover1, -onePointRate); -
 xover.add(xoverU, URate); -
 xover.add(xover2, twoPointsRate, -true);
- - - - - -
 // standard bit-flip mutation -for bitstring -
 eoBitMutation<Indi>  mutationBitFlip(pMutPerBit); -
 // mutate exactly 1 bit per -individual -
 eoDetBitFlip<Indi> mutationOneBit;  -
 // Combine them with relative -rates -
 eoPropCombinedMonOp<Indi> mutation(mutationBitFlip, -bitFlipRate); -
 mutation.add(mutationOneBit, oneBitRate, -true); -
 // The operators are  encapsulated -into an eoTRansform object -
 eoSGATransform<Indi> transform(xover, -pCross, mutation, pMut);
- - - - - -
 ////////////////////////////////////// -
 // termination condition see -FirstBitEA.cpp -
 ///////////////////////////////////// -
 eoGenContinue<Indi> genCont(maxGen); -
 eoSteadyFitContinue<Indi> steadyCont(minGen, -steadyGen); -
 eoFitContinue<Indi> fitCont(vecSize); -
 eoCombinedContinue<Indi> continuator(genCont); -
 continuator.add(steadyCont); -
 continuator.add(fitCont);
- - - - - -
 // but now you want to make -many different things every generation  -
 // (e.g. statistics, plots, -...). -
 // the class eoCheckPoint is -dedicated to just that: -
 // Declare a checkpoint (from -a continuator: an eoCheckPoint  -
 // IS AN eoContinue and will -be called in the loop of all algorithms) -
 eoCheckPoint<Indi> checkpoint(continuator); -

  // -Create a counter parameter -
     eoValueParam<unsigned> -generationCounter(0, "Gen."); -

   // -Create an incrementor (sub-class of eoUpdater). Note that the  -
     // parameter's -value is passed by reference,  -
     // so every -time the incrementer is updated (every generation), -
     // the data -in generationCounter will change. -
     eoIncrementor<unsigned> -increment(generationCounter.value()); -
  // -Add it to the checkpoint,  -
     // so the -counter is updated (here, incremented) every generation -
     checkpoint.add(increment); -
  // -now some statistics on the population: -
     // Best fitness -in population -
     eoBestFitnessStat<Indi> -bestStat; -
     // Second -moment stats: average and stdev -
     eoSecondMomentStats<Indi> -SecondStat; -
   // -Add them to the checkpoint to get them called at the appropriate time -
     checkpoint.add(bestStat); -
     checkpoint.add(SecondStat); -
     // The Stdout -monitor will print parameters to the screen ... -
     -eoStdoutMonitor monitor(false); -

     // when called -by the checkpoint (i.e. at every generation) -
     -checkpoint.add(monitor); -
     // the monitor -will output a series of parameters: add them  -
     -monitor.add(generationCounter); -
     monitor.add(eval); -// -because now eval is an eoEvalFuncCounter! -
     monitor.add(bestStat); -
     monitor.add(SecondStat); -
     // A file -monitor: will print parameters to ... a File, yes, you got it! -
     eoFileMonitor -fileMonitor("stats.xg", " "); -

     // the checkpoint -mechanism can handle multiple monitors -
     checkpoint.add(fileMonitor); -
     // the fileMonitor -can monitor parameters, too, but you must tell it! -
     fileMonitor.add(generationCounter); -
     fileMonitor.add(bestStat); -
     fileMonitor.add(SecondStat); -
     // Last type -of item the eoCheckpoint can handle: state savers: -
     -eoState outState; -
     // Register -the algorithm into the state -
     -outState.registerObject(parser); -
     outState.registerObject(pop); -
     outState.registerObject(rng); -
     // and feed -the state to state savers -
// save -state every 100th  generation -
     eoCountedStateSaver -stateSaver1(100, outState, "generation");  -
     // save state -every 1 seconds  -
     eoTimedStateSaver    -stateSaver2(1, outState, "time");  -
  // -Don't forget to add the two savers to the checkpoint -
     checkpoint.add(stateSaver1); -
     checkpoint.add(stateSaver2); -
     // and that's -it for the (control and) output

- - - - - -
 ///////////////////////////////////////// -
 // the algorithm -
 //////////////////////////////////////// -
 // Easy EA requires  -
 // stopping criterion, eval, selection, -transformation, replacement -
 eoEasyEA<Indi> gga(checkpoint, -eval, select, transform, replace); -
 // Apply algo to pop - that's -it! -
 gga(pop);
- - - - - -
 // Print (sorted) final population -
 pop.sort(); -
 cout << "FINAL Population\n" -<< pop << endl;
- - - - - -
} -
// A main that catches the exceptions -
int main(int argc, char **argv) -
{ -
#ifdef _MSC_VER -
     int flag = _CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF); -
       flag -|= _CRTDBG_LEAK_CHECK_DF; -
     _CrtSetDbgFlag(flag); -
//    _CrtSetBreakAlloc(100); -
#endif -
     try -
     { -
             -main_function(argc, argv); -
     } -
     catch(exception& -e) -
     { -
             -cout << "Exception: " << e.what() << '\n'; -
     } -
     return 1; -
}
- -


Back to Lesson 3 - Tutorial -main page - Algorithm-Based - Component-Based -- -Programming -hints - EO -documentation -
-
-Marc Schoenauer
- -
Last modified: Sun Nov -26 09:31:04 2000 - - diff --git a/eo/tutorial/html/SecondRealEA.html b/eo/tutorial/html/SecondRealEA.html deleted file mode 100644 index 7882e7bad..000000000 --- a/eo/tutorial/html/SecondRealEA.html +++ /dev/null @@ -1,468 +0,0 @@ - - - - - - SecondRealEA - - -Back to Lesson 3 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-
-

-SecondRealEA

-Click on the figure to see the corresponding code.
-In the code, the colors are meaningfull
-The actual code is in boldface and the comment in normal face. -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
  - - - - - -
-//-----------------------------------------------------------------------------
-// SecondRealEA.cpp
-//-----------------------------------------------------------------------------
-//*
-// Same code than FirstBitEA as far as Evolutionary Computation is concerned
-// but now you learn to enter the parameters in a more flexible way
-// (also slightly different than in SecondBitEA.cpp)
-// and to twidle the output to your preferences (as in SecondBitEA.cpp)
-//
-//-----------------------------------------------------------------------------
-// standard includes
-#include <stdexcept>  // runtime_error
-#include <iostream>    // cout
-#include <strstream>  // ostrstream, istrstream
-// the general include for eo
-#include <eo>
-#include <es.h>
-
-
- - - - -
- -//-----------------------------------------------------------------------------
-// define your individuals
-typedef eoReal<eoMinimizingFitness> Indi;
-
-
- - - - -
- -//-----------------------------------------------------------------------------
-// a simple fitness function that computes the euclidian norm of a real vector
-// Now in a separate file, and declared as binary_value(const vector<bool> &)
-#include "real_value.h"
-
-
- - - - -
- -//-----------------------------------------------------------------------------
-void main_function(int argc, char **argv)
-{
-
-
- - - - -
- -//-----------------------------------------------------------------------------
-// instead of having all values of useful parameters as constants, read them:
-// either on the command line (--option=value or -o=value)
-//        or in a parameter file (same syntax, order independent,
-//                                                        # = usual comment character
-//        or in the environment (TODO)
-  // First define a parser from the command-line arguments
-  eoParser parser(argc, argv);
-  
-  // For each parameter, you can in on single line
-  // define the parameter, read it through the parser, and assign it
-  
- -  unsigned seed = parser.createParam(unsigned(time(0)), "seed", "Random number seed", 'S').value(); // will be in default section General
-  
-  // description of genotype
-  unsigned vecSize = parser.createParam(unsigned(8), "vecSize", "Genotype size",'V', "Representation" ).value();
-    // parameters for evolution engine
-      unsigned popSize = parser.createParam(unsigned(10), "popSize", "Population size",'P', "Evolution engine" ).value();
-      unsigned tSize = parser.createParam(unsigned(2), "tSize", "Tournament size",'T', "Evolution Engine" ).value();
-    // init and stop
-      string loadName = parser.createParam(string(""), "Load","A save file to restart from",'L', "Persistence" ).value();
-
-      unsigned maxGen = parser.createParam(unsigned(100), "maxGen", "Maximum number of generations",'G', "Stopping criterion" ).value();
-      unsigned minGen = parser.createParam(unsigned(100), "minGen", "Minimum number of generations",'g', "Stopping criterion" ).value();
-      unsigned steadyGen = parser.createParam(unsigned(100), "steadyGen", "Number of generations with no improvement",'s', "Stopping criterion" ).value();
-    // operators probabilities at the algorithm level
-      double pCross = parser.createParam(double(0.6), "pCross", "Probability of Crossover", 'C', "Genetic Operators" ).value();
-      double pMut = parser.createParam(double(0.1), "pMut", "Probability of Mutation", 'M', "Genetic Operators" ).value();
-    // relative rates for crossovers
-      double hypercubeRate = parser.createParam(double(1), "hypercubeRate", "Relative rate for hypercube crossover", '\0', "Genetic Operators" ).value();
-      double segmentRate = parser.createParam(double(1), "segmentRate", "Relative rate for segment crossover", '\0', "Genetic Operators" ).value();
-      // internal parameters for the mutations
-      double EPSILON = parser.createParam(double(0.01), "EPSILON", "Width for uniform mutation", '\0', "Genetic Operators" ).value();
-      
-      double SIGMA = parser.createParam(double(0.3), "SIGMA", "Sigma for normal mutation", '\0', "Genetic Operators" ).value();
-    // relative rates for mutations
-      double uniformMutRate = parser.createParam(double(1), "uniformMutRate", "Relative rate for uniform mutation", '\0', "Genetic Operators" ).value();
-      double detMutRate = parser.createParam(double(1), "detMutRate", "Relative rate for det-uniform mutation", '\0', "Genetic Operators" ).value();
-      double normalMutRate = parser.createParam(double(1), "normalMutRate", "Relative rate for normal mutation", '\0', "Genetic Operators" ).value();
-      // the name of the "status" file where all actual parameter values will be saved
-      string str_status = parser.ProgramName() + ".status"; // default value
-      string statusName = parser.createParam(str_status, "status","Status file",'S', "Persistence" ).value();
-    // do the following AFTER ALL PARAMETERS HAVE BEEN PROCESSED
-    // i.e. in case you need parameters somewhere else, postpone these
-      if (parser.userNeedsHelp())
-          {
-              parser.printHelp(cout);
-              exit(1);
-          }
-      if (statusName != "")
-          {
-ofstream os(statusName.c_str());
-os << parser; // and you can use that file as parameter file
-          }
-
-
- - - - -
- -  /////////////////////////////
-  // Fitness function
-  ////////////////////////////
-  // Evaluation: from a plain C++ fn to an EvalFunc Object
-  // you need to give the full description of the function
-  eoEvalFuncPtr<Indi, double, const vector<double>& > plainEval(  real_value );
-  // ... to an object that counts the nb of actual evaluations
-  eoEvalFuncCounter<Indi> eval(plainEval);
-
-
- - - - -
- -  ////////////////////////////////
-  // Initilisation of population
-  ////////////////////////////////
-  // Either load or initialize
-  // create an empty pop
-  eoPop<Indi> pop;
-  // create a state for reading
-  eoState inState; // a state for loading - WITHOUT the parser
-  // register the rng and the pop in the state, so they can be loaded,
-  // and the present run will be the exact conitnuation of the saved run
-  // eventually with different parameters
-  inState.registerObject(rng);
-  inState.registerObject(pop);
-      
-  if (loadName != "")
-      {
-          inState.load(loadName); //  load the pop and the rng
-          // the fitness is read in the file:
-          // do only evaluate the pop if the fitness has changed
-      }
-  else
-      {
-          rng.reseed(seed);
-          // a Indi random initializer
-          // based on boolean_generator class (see utils/rnd_generator.h)
-          eoUniformGenerator<double> uGen(-1.0, 1.0);
-          eoInitFixedLength<Indi> random(vecSize, uGen);
-          // Init pop from the randomizer: need to use the append function
-          pop.append(popSize, random);          
-          // and evaluate pop (STL syntax)      
-          apply<Indi>(eval, pop);
-      } // end of initializatio of the population
-
-
- - - - -
- -  // sort pop before printing it!
-  pop.sort();
-  // Print (sorted) intial population (raw printout)
-  cout << "Initial Population" << endl;
-  cout << pop;
-
-
- - - - -
- -  /////////////////////////////////////
-  // selection and replacement
-  ////////////////////////////////////
-
-
- - - - -
- -  // The robust tournament selection
-  eoDetTournamentSelect<Indi> selectOne(tSize);
-  // is now encapsulated in a eoSelectPerc (entage)
-  eoSelectPerc<Indi> select(selectOne);// by default rate==1
-
-
- - - - -
- -  // And we now have the full slection/replacement - though with
-  // no replacement (== generational replacement) at the moment :-)
-  eoGenerationalReplacement<Indi> replace;
-
-
- - - - -
- -  //////////////////////////////////////
-  // The variation operators
-  //////////////////////////////////////
-
-
- - - - -
- -  // uniform chooce on segment made by the parents
-  eoSegmentCrossover<Indi> xoverS;
-  // uniform choice in hypercube built by the parents
-  eoHypercubeCrossover<Indi> xoverA;
-  // Combine them with relative weights
-  eoPropCombinedQuadOp<Indi> xover(xoverS, segmentRate);
-  xover.add(xoverA, hypercubeRate, true);
-
-
- - - - -
- -  // offspring(i) uniformly chosen in [parent(i)-epsilon, parent(i)+epsilon]
-  eoUniformMutation<Indi>  mutationU(EPSILON);
-  // k (=1) coordinates of parents are uniformly modified
-  eoDetUniformMutation<Indi>  mutationD(EPSILON);
-  // all coordinates of parents are normally modified (stDev SIGMA)
-  eoNormalMutation<Indi>  mutationN(SIGMA);
-  // Combine them with relative weights
-  eoPropCombinedMonOp<Indi> mutation(mutationU, uniformMutRate);
-  mutation.add(mutationD, detMutRate);
-  mutation.add(mutationN, normalMutRate, true);
-  // The operators are  encapsulated into an eoTRansform object
-  eoSGATransform<Indi> transform(xover, pCross, mutation, pMut);
-
-
- - - - -
- -  //////////////////////////////////////
-  // termination condition see FirstBitEA.cpp
-  /////////////////////////////////////
-  eoGenContinue<Indi> genCont(maxGen);
-  eoSteadyFitContinue<Indi> steadyCont(minGen, steadyGen);
-  eoFitContinue<Indi> fitCont(0);
-  eoCombinedContinue<Indi> continuator(genCont);
-  continuator.add(steadyCont);
-  continuator.add(fitCont);
-  
-  
-
-
- - - - -
- -  // but now you want to make many different things every generation
-  // (e.g. statistics, plots, ...).
-  // the class eoCheckPoint is dedicated to just that:
-  // Declare a checkpoint (from a continuator: an eoCheckPoint
-  // IS AN eoContinue and will be called in the loop of all algorithms)
-  eoCheckPoint<Indi> checkpoint(continuator);
-  
-      // Create a counter parameter
-      eoValueParam<unsigned> generationCounter(0, "Gen.");
-      
-      // Create an incrementor (sub-class of eoUpdater). Note that the
-      // parameter's value is passed by reference,
-      // so every time the incrementer is updated (every generation),
-      // the data in generationCounter will change.
-      eoIncrementor<unsigned> increment(generationCounter.value());
-      // Add it to the checkpoint,
-      // so the counter is updated (here, incremented) every generation
-      checkpoint.add(increment);
-      // now some statistics on the population:
-      // Best fitness in population
-      eoBestFitnessStat<Indi> bestStat;
-      // Second moment stats: average and stdev
-      eoSecondMomentStats<Indi> SecondStat;
-      // Add them to the checkpoint to get them called at the appropriate time
-      checkpoint.add(bestStat);
-      checkpoint.add(SecondStat);
-      // The Stdout monitor will print parameters to the screen ...
-      eoStdoutMonitor monitor(false);
-        
-      // when called by the checkpoint (i.e. at every generation)
-      checkpoint.add(monitor);
-      // the monitor will output a series of parameters: add them
-      monitor.add(generationCounter);
-      monitor.add(eval); // because now eval is an eoEvalFuncCounter!
-      monitor.add(bestStat);
-      monitor.add(SecondStat);
-      // A file monitor: will print parameters to ... a File, yes, you got it!
-      eoFileMonitor fileMonitor("stats.xg", " ");
-        
-      // the checkpoint mechanism can handle multiple monitors
-      checkpoint.add(fileMonitor);
-      // the fileMonitor can monitor parameters, too, but you must tell it!
-      fileMonitor.add(generationCounter);
-      fileMonitor.add(bestStat);
-      fileMonitor.add(SecondStat);
-      // Last type of item the eoCheckpoint can handle: state savers:
-      eoState outState;
-      // Register the algorithm into the state (so it has something to save!!)
-      outState.registerObject(parser);
-      outState.registerObject(pop);
-      outState.registerObject(rng);
-      // and feed the state to state savers
-      // save state every 100th  generation
-      eoCountedStateSaver stateSaver1(20, outState, "generation");
-      // save state every 1 seconds
-      eoTimedStateSaver    stateSaver2(1, outState, "time");
-      // Don't forget to add the two savers to the checkpoint
-      checkpoint.add(stateSaver1);
-      checkpoint.add(stateSaver2);
-      // and that's it for the (control and) output
-
-
- - - - -
- -  /////////////////////////////////////////
-  // the algorithm
-  ////////////////////////////////////////
-  // Easy EA requires
-  // stopping criterion, eval, selection, transformation, replacement
-  eoEasyEA<Indi> gga(checkpoint, eval, select, transform, replace);
-  // Apply algo to pop - that's it!
-  gga(pop);
-  
-
-
- - - - -
- -  // Print (sorted) intial population
-  pop.sort();
-  cout << "FINAL Population\n" << pop << endl;
-
-
- - - - -
- -}
-// A main that catches the exceptions
-int main(int argc, char **argv)
-{
-      try
-      {
-              main_function(argc, argv);
-      }
-      catch(exception& e)
-      {
-              cout << "Exception: " << e.what() << '\n';
-      }
-      return 1;
-}
-
-
Back to Lesson 3 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
-
Last -modified: Sun Apr 28 06:42:44 2002 - - - diff --git a/eo/tutorial/html/binary_value.html b/eo/tutorial/html/binary_value.html deleted file mode 100644 index 45f3e35a1..000000000 --- a/eo/tutorial/html/binary_value.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - binary_value.h - - -Back to Lesson 2 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-
-

-binary_value.h

- - - - - -
#include <eo> -
//----------------------------------------------------------------------------- -
/** Just a simple function that takes binary -value of a chromosome and sets -
     the fitnes. -
     @param _chrom A -binary chromosome  -
*/
- - - - - -
double binary_value(const vector<bool>& -_chrom) -
{ -
 double sum = 0; -
 for (unsigned i = 0; i < _chrom.size(); -i++) -
     sum += _chrom[i]; -
 return sum; -
}
- -
Back to Lesson 2 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
- -
Last modified: Wed Nov -29 09:03:09 2000 - - diff --git a/eo/tutorial/html/debut.html b/eo/tutorial/html/debut.html deleted file mode 100644 index 2c6c8d305..000000000 --- a/eo/tutorial/html/debut.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - TITRE - - - -Tutorial main page - -Algorithm-Based -page - Component-Based - Programming -hints - EO documentation -
-
- - -
-

TITRE

-
- - -

diff --git a/eo/tutorial/html/eoBottomUp.html b/eo/tutorial/html/eoBottomUp.html deleted file mode 100644 index b35d40262..000000000 --- a/eo/tutorial/html/eoBottomUp.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - EO - The Component-Based approach - - -Tutorial main page - -Algorithm-Based - - Component-Based - Programming -hints - EO documentation -
-


-
-

-EO - Component-Based approach

- -


Congratulations - You have chosen the component-based approach!  -From here you will be allowed to browse into the different components of -an Evolutionary Algorithm, and to see how to program your favorite using -the EO library. - -

-Table of Content

- -
-

- -

Yes, this is the table of content of this part -of the EO tutorial. If you don't already know what this symbolic - representation of an EA means, you should try here. Otherwise, click on the figure -to go directly to the corresponding section of the tutorial. -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-


-
Tutorial main page - Algorithm-Based - - Component-Based - Programming -hints - EO documentation -
-
-
-Marc Schoenauer
- -
Last -modified: Mon Oct 30 07:28:36 CET 2000 - - diff --git a/eo/tutorial/html/eoCheckPoint.html b/eo/tutorial/html/eoCheckPoint.html deleted file mode 100644 index 3b905eed6..000000000 --- a/eo/tutorial/html/eoCheckPoint.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - Variation Operators - - -General: Algorithm-Based -- Component-Based - Programming -hints - EO -documentation -
-
-
Local: Introduction -- Continuators - Combined -continuators - Checkpoints - Statistics -- Monitors - Updaters -
-
-
-

-CheckPointing

-What -is Checkpointing about? -
Evolutionary Algorithms are almost all timely ticked, the basic time -unit being what is called a generation. EO checkpointing mechanism allow -you to program things that you want to be done at the end of every generation. -This includes deciding to stop, outputing some statistics on the current -state of the algorithm,  updating some dynamical variables of your -algorithm, saving the population to disk, ... -

EO classes described in this page: -

    -
  • -Base classes: eoCheckPoint, eoContinue, -eoStat, eoSortedStat, eoMonitor, eoUpdater
  • - -
  • -Derived classes: eoCombinedContinue,
  • - -
  • -Related classes: eoGnuPlot1DMonitor, -eoGnuPlot1DSnapshotMonitor,
  • -
- -
  -

-


Continuators: -

Continuators are functors that compute stopping critera. They receive -a population and return a boolean value which is set to false only when -some stopping vriterion is met. All algorithms in EO have a loop that goes -do{...}while(continuator(pop)which -means that the algorithm stops only when the continuator returns false. -

Interface:  The abstract class -for computing stopping conditions is eoContinue, -and the interface for its operator() is -

                           - -bool operator()(const eoPop<EOT>& -) -

which you could have guessed from the inheritance -diagram for class eoContinue, as -you see there that eoContinue derives -from class eoUF<const eoPop<EOT>&, -bool>. -

Using a continuator: -
You can find an first example of using a continuator in the code for -FirstBitEA -ior more sophisticated continue conditions in  Lesson2. -
If you want to find out how it is used inside an algorithm, go and -see for instance in eoSGA, the simplest EA within EO. -

Writing a -continuator: -
There are only two things to modify in the template -class definitions provided (apart from the name of the class you are -creating!) -

    -
  • -The constructor, where you pass to the object -any useful parameter (see the private data at end of class definition).
  • - -
  • -The operator() method, which performs the -computation of the actual test using the population plus any other parameter -passed at construct time. Don't forget to returnfalse -when the stopping criterion is met!
  • -
-Existing continuators: -Of -course you can find out all existing (non-virtual!) subclasses of eoContinue -by looking at its  inheritance -diagram. But you might find it more convenient to have them listed -here: -
    -
  • -
  • -
- -


-


Combining -continuators: -

-


CheckPoints: -

Interface: -

Using a checkpoint: An eoCheckPoint -being an eoContinue, its usage is exactly the same. However, an eoCheckPoint -will actually do many more things than an eoContinue before returning its -boolean result as an eoContinue. -

Writing a -checkpoint: -
This is something you should never have to do. However, should you -feel you have to do it, please do - and send us both the reasons that lead -you to that (what is it you couldn't do with existing eoCheckPoint), and -the resulting code, of course. -
-


Statistics: -

Interface: -

Using statistics: -

Writing a statitic: -
-


Monitors: -

Interface: -

Using monitors: -

Writing a monitor: -

-


Updater: -

Interface: -

Using updaters: -

Writing an updater: -
  -

-


Local: Introduction -- Continuators - Combined -continuators - Checkpoints - Statistics -- Monitors - Updaters -
-
General: Algorithm-Based -- Component-Based - Programming -hints -EO -documentation -
-
-
-Marc Schoenauer
- -
Last -modified: Fri Dec. 8 2000  -
  - - diff --git a/eo/tutorial/html/eoEngine.html b/eo/tutorial/html/eoEngine.html deleted file mode 100644 index 367c94177..000000000 --- a/eo/tutorial/html/eoEngine.html +++ /dev/null @@ -1,778 +0,0 @@ - - - - - - Genetic Engine - - -General: Algorithm-Based -- Component-Based - Programming -hints - EO -documentation -
Local:
Introduction  -- Selection - Replacement -- General Replacement - Popular -evolution engines - Tournaments - Merge -- Reduce - HowMany - SurviveAndDie -
-
-

-Evolution Engine

- -
-
Evolution -Engines -

The term evolution engine denotes -the different parts of an Evolutionary Algorithm that simulate the Darwinism: -

-

The fittest individuals are more likely to -reproduce and survive.

- -

Darwinism takes place in two different phases of an EA, though in many -popular -variants, only one phase is activated. -

Selection is the Darwinistic choice of parents -that will be allowed to reproduce. -
Replacement takes place after reproduction, -and is the Darwinistic choice of those individuals that will survive, -i.e. become the parents of the next generation. -

Both selection and replacement will be discussed in turn, before some -helper classes that are used within selection and replacement procedures -are presented. -

-


Selection -

The very beginning of the generation loop is the selection phase, where -some individuals from the population are chosen to become the parents, -to be later modified by the variation operators and become the offspring. -This is the first step of the artificial Darwinism, -where the fittest individuals are allowed to reproduce. -
Conceptually, there are two distinct ways to choose the lucky ones: -one by one from the very same population (i.e. with replacement), which -means that at the extreme the same individual can be chosen every time; -or as a whole, in some sort of batch procedure. Of course, repeated selection -of one individual results in a batch selection! -

There are hence two basic EO classes for selection: eoSelectOne -and eoSelect, with different interfaces. -
-


-
eoSelectOne: The -interface -

The abstract class for selection of a single individual from a population -is eoSelectOne, and the interface for its -operator() -is -

-

const EOT & operator()(const eoPop<EOT>& -_parents)

- -

which you could have guessed from the inheritance tree for class eoSelectOne., -as you see there that eoSelectOne derives -from class eoUF<const eoPop<EOT>&, -const EOT&>. -
This means that it takes 1 population -(without the right to modify it - see the const -keyword in argument) and returns a const reference to an individual (again, -the const keyword ensures -that nothing will happen to the individual in the population - remember -it returns a reference). -
-


-
eoSelectOne: Instances -
    -
  • -eoDetTournamentSelect uses -the (deterministic) tournament to choose one -individual. Its constructor has one parameter, the tournament size (integer ->= 2).
  • - -
  • -eoStochTournamentSelect uses -the binary stochastic tournament to choose -one individual. Its constructor has one parameter, the tournament rate -(real in [0.5,1]).
  • - -
  • eoProportionalSelect -is the original roulette wheel selection: -each parent is selected with a probability proportional to its fitness.
  • - -
  • -eoRandomSelect is the random -selection and should give bad results! At the moment, it selects one individual -uniformly, but it would be easy to use any probability distribution.
  • -
- -
-
eoSelect: The -interface -

The abstract class for batch selection of a  whole set of individuals -from a population is eoSelect, and the interface -for its -operator() is -

-

void operator()(const eoPop<EOT>& -_source, eoPop<EOT>& _dest)

- -

which you could have guessed from the inheritance tree for class eoSelect., -as you see there that eoSelect derives from -class -eoBF<const eoPop<EOT>&, eoPop<EOT>&, void>. -
This means that it takes 2 populations, -and fills the second one with individuals from the first one without modifying -it (see the const keyword). -This raises two questions: -

    -
  • -How does it know how many individuals to select?
  • - -
  • -How to use repeated selection of one individual (see above the eoSelectOne -class)?
  • -
- -
-
eoSelect: HowMany -

There are two ways an  can derive the number of individuals it -has to select: either it is a fixed number, or it is some percentage of -the source population size (any positive real number). In both case, this -must be passed to the constructor. In most instances, however, the constructor -will accept a real number (double) and a boolean indicating whether this -real number should be used as an absolute integer or as a rate, thanks -to the eoHowMany class. -

Note: an eoSelect -can select more individuals than there are in the original population. -It is the job of the replacement to ensure -that the population size does not grow along the generations. -

-


eoSelectMany: Encapsulating -eoSelectOne -

It is clear that repeated selection of a single individual is a way -to do batch selection. This is why it is possible to encapsulate an object -of class eoSelectOne into an object of class -eoSelect -using the class eoSelectMany. Class eoSelectMany -is derived from class eoSelect and takes in -its constructor an eoSelectOne (plus the number -of individuals it should select, according to the eoHowMany -paradigm). -

Note: some procedures for selecting -a single individual require some pre-processing of the whole population -that takes place before any selection, and will be repeated identically -for every individual. The encapsulation of an  into an  allows -to call such technical processing only once through the use of method setup -of class . This method does nothing by default, but is mandatory -
-


-
eoSelect: Other -instances -
    -
  • -eoDetSelect selects individuals -deterministically, -i.e. starting from the best ones down to the worse ones. If the total number -to select is less than the size of the source populations, the best individuals -are selected once. If more individuals are needed after reaching the bottom -of the population, then the selection starts again at top. It the total -number required is N times that of the source size, all individuals are -selected exactly N times.
  • -
-No other instances of eoSelect that are not -encapsualtions of eoSelectOne procedures are -avaiable as of today (Jan. 4 2001). -
-
-
Replacement -

The replacement phase takes place after the birth -of all offspring through variation operators. This is the second -step of the artificial Darwinism, where the -fittest -individuals are allowed to survive. -
It can also be viewed on the algorithmic side as closing the generation -loop, i.e. building the population that will be the initial population -of next generation. That population will be built -upon the old parents and the new-born offspring. In all algorithms -that come up with EO, the population size -is supposed to be constant from one generation -to the next one - though nothing stops you from writing an algorithm with -varying population size. -
-


-
Replacement: The -interface -

The abstract class for replacement procedures is the functor class -eoReplacement, -and the interface for its operator() -is -

-

void operator()(eoPop<EOT>& _parents, -eoPop<EOT>& _offspring)

- -

which you could have guessed from the inheritance tree for class eoReplacement., -as you see there that eoReplacement derives -from class eoBF<eoPop<EOT>&, eoPop<EOT>&, -void>. -
This means that it takes 2 populations -(called, for obvious anthropomorphic reasons, _parents and _offspring :-) -and is free to modify both, but the resulting population should be placed -in the first argument (usually called_parents) to close the loop and go -to next generation. -
-


-
Replacement: Instances -
    -
  • -eoGenerationalReplacement This -is the most straightforward replacement, called generational -replacement: all offspring replace all parents (used in Holland's -and Goldberg's traditional GAs).  It takes no argument, and supposes -that offspring and parents are of the same size (but does not check!).
  • - -
      -
  • -eoMergeReduce -This is one the basic types of replacement in EO. It has two major steps, -merging -both populations of parents and offspring, and reducing -this big population to the right size. It contains -two objects of respective types eoMerge -and eoReduce -and you can probably guess what each of them actually does :-)
  • - -
      -

      -
      -
      -

    Available instances of eoMergeReduce replacement -include -

      -
    • -eoCommaReplacement, one of -the two standard strategies in Evolution Strategies, -selects -the best offspring. It is an -eoMergeReduce(eoNoElitism, -eoTruncate).
    • - -
    • -eoPlusReplacement, the other -standard Evolution Startegies replacement, -where the best from offspring+parents -become the next generation. It is an eoMergeReduce(eoPlus, -eoTruncate).
    • - -
    • -eoEPReplacement, used in the -Evolutionary Programming historical algorithm, does an EP stochastic -tournament among parents + offspring. It is an eoMergeReduce(eoPlus, -eoEPReduce) and its constructor requires as argument T, -the size of the tournament (unsigned int).
    • -
    - -
  • -eoReduceMerge is another important -type of eoReplacement: the parents are first reduced, and then merged with -the offspring. Note that the parent population is reduced of the exact -number of offspring.
  • - -
    Though not mandatory, it is implicitely assumed that few offspring -have been generated. Hence, all derived replacement procedures of class -eoReduceMerge -are termed eoSSGAxxx, as they -are the ones to use in SteadyState Genetic Algorithm engine. This gives -the following instances of eoReduceMerge: -
      -
    • eoSSGAWorseReplacement -in which the worse parents are killed and replaced by all offsprings (no -additional argument needed);
    • - -
    • -eoSSGADetTournamentReplacement -in which parents to be killed are chosen by a (reverse) determinitic tournament. -Additional parameter (in the constructor) is the tournament size, an unsigned -int.
    • - -
    • -eoSSGAStochTournamentReplacement -in which parents to be killed are chosen by a (reverse) stochastic tournament. -Additional parameter (in the constructor) is the tournament rate, a double.
    • -
    - -
  • -eoSurviveAndDie -replacement strategies are a generalization of both the above that allows -strong elitist and eugenism in both the parent population and the offspring -population. The eoSurviveAndDie -building block takes one population, kills the worse and moves the best -to some safe place.  The corresponding replacements apply an eoSurviveAndDie -to the parents, another one to the offspring, and finally merges the remaining -parents and offspring before reducing the resulting population to the right -size. Available instances of eoSurviveAndDieReplacement -are limited todayto the eoDeterministicSaDReplacement, -the  that uses a deterministic MergeReduce.
  • - -
      -

      -
      -
      -

    Note: The basic use (and initial -motivation) for eoSurviveAndDie -takes 2 arguments, an eoMergeReduce and a number of surviving parents. -It starts by copying the best parents to the new populations, then merges -the remaining parents with the offspring before reducing to the number -of remaining seats in the new population.

- -
-
Replacement: Adding -(weak) elitism -

You can add what is called weak elitism -to any replacement by encapsulating it into an eoWeakElitismReplacement -object. Weak elitism ensures that the overall best -fitness in the population will never decrease: -if the best fitness in the new population is less than the best fitness -of the parent population, then the best parent is added back to the new -population, replacing the worse. -

Within EO, this is very easy to add: -

First, declare your replacement functor (here, generational, but it -can be any replacement object): -
eoGenerationalReplacement<Indi> genReplace; -
Then wrap the weak elitism around it: -
eoWeakElitismReplacement<Indi> replace(genReplace); -
and use now replace as your replacement procedure within your algorithm. -

Note: of course, adding weak elitism to -an elitist replacement makes no sense - but will not harm either :-) -
-


-
Replacement: Test -file -

The file t-eoReplacement -in the test directory implements all -above replacement procedures within a very simple and easy-to-monitor Dummy -EO class. -

-


-
General -Replacement: eoReduceMergeReduce -

In an attempt to unify all the well-known replacements, plus most of -the less-known-though-often-used, the eoReduceMergeReduce -replacement has been designed, and supersedes all of the above instances. -
It allows to implement strong elistism -(i.e. some parents survive, whatever their fitness and that of the offspring), -as well as multiple weak elistism (the best parents are put back in the -next population if they outperform the best offspring). -

Basically, an eoReduceMergeReduce -starts by eventually preserving the (strong) elite parents, proceeds by -reducing both the parent and offspring populations, merges those populations, -and eventually reduces the resulting populations (augmented with the elite -parents) to the right size. Last, the weak elitism is taken care of if -necessary. -
The following image, taken from the graphical interface of EASEA, somehow -demonstrates the different parameters of an eoReduceMergeReduce. -
-


-
eoReduceMergeReduce: The  -interface -
Of course the interface is that of eoReplacement. Let's concentrate -on the constructor. -

The constructor takes 6 arguments: -

    -
  1. -eoHowMany elite determines -the number of parents to be treated as elite (actual behavior determined -by next parameter) using the eoHowMany behavior.
  2. - -
  3. -bool strongElitism tells whether -the elite above corresponds to strong (true) or false(weak) elitism.
  4. - -
    Note: the case of no elitism is -obtained by setting elite to 0 -
  5. -eoHowMany reducedParents gives -the number of parents remaining after reducing them
  6. - -
    Note: 0 means that no parent survive -(except the possible elite), as in eoCommaReplacement -
                --1 is used inside eoSSGAReplacements -(one parent is killed to make room for the newborn) -
  7. -eoReduce<EOT> & reduceParents -indicates how the parents will be reduced (see available -instances).
  8. - -
  9. -eoHowMany reducedOffspring gives -the number of offspring remaining after reducing them
  10. - -
    Note: 0 is impossible (no evolution!!!) -
  11. -eoReduce<EOT> & reduceOffspring -indicates how the offspring will be reduced (see available -instances).
  12. - -
  13. -eoReduce<EOT> & reduceFinal -indicates how the merged reduced-parents/reduced-offspring will be reduced -(see available instances).
  14. - -
    Note: the number of individuals -remaining after that reduction is of course the original size of the population.
-All popular evolution engines use some replacement procedure that can be -viewed as an instance of an eoReduceMergeReduce. -
Moreover, a parser-based input -of a general  is proposed in file do/make_checkpoint.h. -
-
-
Popular -evolution engines -

The most popular evolution engines are listed below, together with the -way to use them in EO. If you don't find your particuler algorithm, please -send it to us, and we might include it here! In the following, P will denote -the number of individuals in the initial population. -

    -
  • -Generational Genetic Algorihtm: -popularized by Holland (75) and Goldberg (89), it uses
  • - -
    Number of offspring:  -P -
    Selection: Proportional -(the historical roulette wheel) when maximizing -a positive scalar fitness, ranking or -tournament (stochatic or deterministic) in all cases. -
    Replacement: Generational. -
    Remark: You could -use also the eoCommaReplacement, -with exactly the same result as there are as many offspring as we need -indiviudals in the next population. And using the eoSSGAWorseReplacement -would also give the same result, but would be very inefficient! -
    You can also add weak -elitism to preserve the best individual. -
  • -Steady-State Genetic Algorithm: -widely used in GA/GP community
  • - -
    Number of offspring:  -small (historically, 1) -
    Selection: tournament -(you can use ranking or proportional, but it will be rather inefficient). -
    Replacement: An -eoSSGAxxxReplacement. -
    Remark: You can -also use the eoPlusReplacement, but you divert from the original SSGA -
  • -(MU+Lambda)-Evolution Strategy: -The elitist ES strategy (Rechenberg 71 and Schwefel 81)
  • - -
    Number of offspring:  -Any -
    Selection: eoDetSelect -(batch deterministic). -
    Replacement: eoPlusReplacement -
    Remark: You could -also use eoEPReplacement, to smoothen the selective pressure during replacement, -thus getting close to EP evolution engine -
  • -(MU,Lambda)-Evolution Strategy: -The non-elitist ES strategy
  • - -
    Number of offspring:  -> P -
    Selection: eoDetSelect -(batch deterministic). -
    Replacement: eoCommaReplacement -
    Remark: You can -also add weak elitism to preserve the best individual -- though you'd probably use the plus strategy if you want (strong) elitism. -
  • -Evolutionary Programming: -The historical method of L. Fogel (65)
  • - -
    Number of offspring:  -P -
    Selection: eoDetSelect -(batch deterministic). Every individual reproduces exactly once. -
    Replacement: eoEPReplacement, -though one historical replacement was the determnistic replacement - i.e. -in EO the eoPlusReplacement). -
    Remark: Close to -an (P+P)-ES -
  • -You name it :-): -you can of course choose whatever combination you like - respecting a few -constraints and common-sense remarks. For instance, eoProportionalSelect -should be used only when maximizing a positive fitness, eoCommaReplacement -requires more offspring than parents, and, over all, existing EO algorithms -wirk with fixed size population - and it is your responsability to use -a cmbinatino of selection/replacement that fulfills this requirement (or -to create your own eoAlgo that handles varying size populations).
  • -
- -
-
Tournaments -

Tournaments are an easy and quick way to select -individuals within a population based on simple comparisons. Though usually -based on fitness comparisons, they can use any comparison operator. -
In EO, there are two variants of tournaments used to select one single -individual, namely Deterministic Tournament -and Stochastic Tournament, -that are used in selection and in replacement procedures, and a global -tournament-based selection of a whole bunch of individuals, the EP -Tournament. Though the single-selection tournaments can -be repeated to select more than one individual, and the batch tournament -selection can be used to select a single individual, both uses are probably -a waste of CPU time. -

    -
  • -Deterministic -Tournament of size T returns the best of T uniformly chosen -individuals in the population. Its size T should be an integer >= 2. It -is implemented in the eoDetTournamentSelect -class, a sub-class of eoSelectOne, as well as in the eoDetTournamentTruncate -class that repeatidly removes from the population the "winner" of the inverse -tournament.  These objects use the C++ function determinitic_tournament -in  selectors.h.
  • - -
  • -Stochastic Tournament -of rate R first choses two individuals from the population, and selects -the best one with probability R (the worse one with probability 1-R). Real -parameter R should be in [0.5,1]. It is implemented in the eoStochTournamentSelect -class, a sub-class of eoSelectOne, as well as in the eoStochTournamentTruncate -class that repeatidly removes from the population the "winner" of the inverse -tournament.  These objects use the C++ function determinitic_tournament -in  selectors.h.
  • - -
    Note: A stochastic tournament with -rate 1.0 is strictly identical to a deterministic tournament of size 2. -
  • -EP Tournament -of size T is a global tournament: it works by assigning a score to all -individuals in the population the following way: starting with a score -of 0, each individual I is "opposed" T times to a uniformly chosen individual. -Everytime I wins, its score in incremented by 1 (and by 0.5 for every draw). -The individuals are then selected deterministically based on their scores -from that procedure. The EP Tournament -is implemented in the  eoEPReduce -truncation method used in the eoEPReplacement -procedure.
  • - -
    Note: whereas both the determinitic -and the stochastic tournament select one individual, the EP tournament -is designed for batch selection. Of course it could be used to select a -single individual, but at a rather high computational cost.
- -


-


-
Merging -populations -

In replacement procedures, one frequently needs to merge two populations -(computed form old parents and new-born offspring). Classes derived from -the abstract class eoMerge are written for that purpose. -
-


-
eoMerge: interface -
The abstract class for merging procedures is the functor class -eoMerge, -and the interface for its operator() -is -
-

void operator()(const eoPop<EOT>& -_parents, eoPop<EOT>& _offspring)

- -

which you could have guessed from the inheritance tree for class eoMerge, -as you see there that eoMerge derives from -
class eoBF<const eoPop<EOT>&, eoPop<EOT>&, -void>. -
This means that it takes 2 populations -and modifies the seond one by adding some individuals from the first one -(which is supposed to remain constant). -
-


-
eoMerge: instances -
Available instances of eoMerge objects -are eoPlus, that simply adds -the parents to the offspring, or eoElitism, -that adds only some of the (best) parents to the offspring. A special case -of eoElistism is eoNoElitism, -an eoMerge that does nothing. -

-


-
Reducing -populations -

The other useful component of replacement procedures, eoReduce, -kills -some individuals from a given population. -
-


-
eoReduce: interface -
The abstract class for reducing procedures is the functor class -eoReduce, -and the interface for its operator() -is -
-

void operator()(eoPop<EOT>& _parents, -unsigned int new_size)

- -

which you could have guessed from the inheritance tree for class eoReduce, -as you see there that eoReduce derives from -
class eoBF<eoPop<EOT>&, unsigned -int, void>. -
An eoReduce shoud take a -population and shrink it to the required size. -
-


-
eoReduce: instances -
Available instances of eoReduce are -
    -
  • -eoTruncate, deterministically -kills the worse individuals, keeping only the required number. It starts -by sorting teh populations, and hence does modify -its order.
  • - -
  • -eoLinearTruncate, deterministically -kills the worse individuals, keeping only the required number. It does -so by repeatedly removing the worsr individual. Hence does not -modify its order, but takes longer time than eoTruncate -in case of many offspring.
  • - -
  • -eoEPReduce, uses the EP -stochastic tournament to reduce the population. It requires an additinal -argument, the tournament size.
  • - -
  • -eoDetTournamentTruncate uses -inverse deterministic tournament to repeatidly kill one individual until -the propoer size is reached. As eoLinearTruncate, -it might take some time in the case of many offspring. It requires the -size of the tournament (unsigned int) -as parameter in the constructor (default is 2).
  • - -
  • -eoStochTournamentruncate  -uses inverse stochastic tournament to repeatidly kill individuals from -the population. It requires the rate of the tournament (double) -as parameter in the constructor (default is 0.75).
  • -
- -
-
eoHowMany: -Choosing a number of individuals -

Many classes in selection/replacement procedures will handle a number -of individuals that may either be fixed or be related to some argument-population -size. -
Of course, it is possible to write different classes that will only -differ by the way they compute the number of individuals they have to treat, -as it is done for selectors with the two classes eoSelectPerc -and eoSelectNumber (it could also have been -possible to have some pure abstrat class and implement the computation -of the number of individuals to treat in some derived classes). -
However, the class eoHowMany -allows one to handle in a single class three different behaviors when given -a poopulatio size as argument: -

    -
  • -return a given rate of the argument population size
  • - -
  • -return an absolute (unsigned) integer, whatever the argument population -size
  • - -
  • -return the argument population size minus a given number
  • -
- -
-
eoHowMany: interface -
The class interface for its operator() -is -
-

unsigned int operator()(unsigned int _pop_size)

- -

which you could have guessed from the inheritance tree for class eoHowMany, -as you see there that eoHowMany -derives from -
class eoUF<unsigned int, unsigned int>. -

It has 3 possible constructors, that determine its behavior: -

    -
  • -eoHowMany(double _rate, bool _interpret_as_rate -= true) where _rate -is by default the fixed rate of behavior 1 above. However, if the boolean -second argument is false, the rate is transformed into a positive integer, -and is used for behavior 2 above
  • - -
  • -eoHowMany(int _combien): if -_combien -is positive, it is the absolute number of behavior 2 above, and if _combien -is negative, its absolute value is used to decrease the argument population -in behavior 3 above
  • - -
  • -eoHowMany(unsigned int _combien): -_combien -(positive!)  is the absolute number of behavior 2 above. Note -that this constructor is mandatory to avoid ambiguity, as an unsigned int -can be casted to either an int or a double.
  • -
-It is used in eoSelectMany (which supersedes -eoSelectPerc -and eoSelectNumber, but they are left there -for tutorial reasons!) as well as in many truncation -methods, and it is used a lot in the eoGeneralReplacement construct. -

-


-
Survive and -Die -
This class is highly politically incorrect: it implements strong elitism -and eugenism :-) -
It starts by killing the worse individuals from the source argument, -then appends the best ones to the destination argument and removes them -from the source argument. It is used in eoSurviveAndDieReplacement, -where the same dest is used successively for the parents and the offspring. -

eoSurviveAndDie: interface -
The class interface for its operator() -is -

-

void operator()(eoPop<EOT>& _source, -eoPop<EOT>& _dest)

- -

which you could have guessed from the inheritance tree for class eoSurviveAndDie, -as you see there that eoSurviveAndDie -derives from class eoBF<eoPop<EOT>&, -eoPop<EOT>&, void>. -

Its constructor takes 3 argumenrts: -

-

eoHowMany(double _survive, double _die, -bool _interpret_as_rate = true)

- -

to indicate how many (or what proportion, according to _interpret_as_rate) -of the source should be copied to the dest population, and how many (or -what proportion, according to _interpret_as_rate)  -should be erased from the source. -

-


Local: Introduction  -- Selection - Replacement -- General Replacement - Popular -evolution engines - Tournaments - Merge -- Reduce - HowMany - SurviveAndDie -
-
-
General: Algorithm-Based -- Component-Based - Programming -hints - EO -documentation -
-
-Marc Schoenauer
- -
Last -modified: Tue. Jan. 9 2001  - - diff --git a/eo/tutorial/html/eoEval.html b/eo/tutorial/html/eoEval.html deleted file mode 100644 index 4a90ac330..000000000 --- a/eo/tutorial/html/eoEval.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - Evaluation - - - -Tutorial main page - -Algorithm-Based -page - Component-Based - Programming -hints - EO documentation -
-
- -
-

Evaluation

-
- - - -
-
-Tutorial main page - -Algorithm-Based -page - Component-Based - Programming -hints - EO documentation -
-
Marc Schoenauer
- - -Last modified: Mon Nov 6 10:54:33 CET 2000 - - - diff --git a/eo/tutorial/html/eoGeneration.html b/eo/tutorial/html/eoGeneration.html deleted file mode 100644 index 39cfe3da0..000000000 --- a/eo/tutorial/html/eoGeneration.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - Generation - - - -

Generation

- - - -
-
Marc Schoenauer
- - -Last modified: Mon Oct 30 19:29:29 CET 2000 - - - diff --git a/eo/tutorial/html/eoInit.html b/eo/tutorial/html/eoInit.html deleted file mode 100644 index 3a4df155c..000000000 --- a/eo/tutorial/html/eoInit.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - Initialization - - -Tutorial main page - -Algorithm-Based -page - Component-Based - Programming -hints - EO documentation -
-
- - -
-

-Initialization

- - - - - -
-
-Tutorial main page - Algorithm-Based -page - Component-Based - Programming -hints - EO documentation -
-
-Marc Schoenauer
- - -Last modified: Mon Nov 6 11:25:18 CET 2000 - - - diff --git a/eo/tutorial/html/eoIo.html b/eo/tutorial/html/eoIo.html deleted file mode 100644 index 14e0d37c1..000000000 --- a/eo/tutorial/html/eoIo.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - Input / Output - - - -

Input / Output

- -

- -

Stopping criteria

- -

- -

Displaying statistics

- -
-
Marc Schoenauer
- - -Last modified: Tue Oct 31 18:32:22 CET 2000 - - - diff --git a/eo/tutorial/html/eoLesson1.html b/eo/tutorial/html/eoLesson1.html deleted file mode 100644 index f88921015..000000000 --- a/eo/tutorial/html/eoLesson1.html +++ /dev/null @@ -1,440 +0,0 @@ - - - - - - Tutorial: Lesson 1 - - -Lesson 2 - -Tutorial -main page - -Algorithm-Based - Component-Based -- Programming hints -EO -documentation -
-
-
-

-Tutorial: Lesson 1

-This lesson will let you -
    -
  • -run your first Evolutionary Algorithm written within -EO Library, choosing between evolving bitstrings, -or evolving vectors of real numbers,
  • - -
  • -browse through the code of these algorithms, or
  • - -
  • -follow the guided tour.
  • -
-Later you will be asked to -
    -
  • -write your own fitness function,
  • - -
  • -check that EO let you separate the representation -from the evolution engine.
  • - -
  • -use different kinds of selection -procedures in the framework of a generational GA evolution -engine,
  • -
- -

- -
I want to run -an Evolutionary Algorithm -now

-You can choose to run a standard bitstring Genetic -Algorithm (as defined in Goldberg's book) or a standard real-valued -genetic algorithm, as proposed in Micahlewicz's book. -

If you have not already done what was recommended in the Tutorial -main page , do it NOW. Then go -to the Lesson1 sub-dir of the tutorial dir, and simply type at the system -prompt -

(myname@myhost) EOdir/Tutorial/Lesson1 % FirstRealGA -
or -
(myname@myhost) EOdir/Tutorial/Lesson1 % FirstBitGA -

and something should happen. -

-What is happening?

-At the moment, the FirstBitGA maximizes the -number of ones in the bitstring (also calls the OneMaxfunction, -whose solution is, as you can guess, -11111111), -and the FirstRealGA is maximizing (the default -action for EO is to maximize) the inverse of the sum (i.e. minimizing the -sum) of the square of its variables (also called the sphere -function, whose solution is ... all zeroes). -

And what you see on the screen when running one of these two programs -is, in each case, the initial and final population of an Evolutionary run, -one individual per line, its fitness first, then the number of items (bits -or real numbers) of the genotype, and the genotype itself. The final population -hopefully contains the solution in the discrete case, and is close to it -in the continuous case. -
-


Browsing -the code: -

Now you need to take a look at the program codes, either by browsing -alone through the  sources for FirstBitGA -and FirstRealGA, or by following the guided -tour below. You might prefer to go directly to the exercises. -

- -
Guided tour:

- -
    -
  • -General includes:Like -all C-like code, the file starts with include directives (Bit -- Real). Apart from standard includes, -the specific file to include is eo: -this is a file that contains the list of the all important representation-independent -EO files.
  • - -
      -
  • -Representation: -you then have to declare the type of individuals you will be handling. -All evolution-related objects you will need are templatized w.r.t. the -type of individuals.
  • - - - -
  • -Fitness function: -the code for the fitness function is included in the file. It must take -as argument a reference to an individual (at the moment).
  • - -
      -
    • -Bit This function simply computes -the number of ones of the bitstring (it's called the OneMax function). -The optimum is of course the all-ones bitstring.
    • - -
    • -Real This function simply computes -the inverse of the sum of the squares of all variables (also called the -sphere function). The optimum is of course the all-zeroes vector.
    • - -
       
    - -
  • -Parameters: -all parameters of the algorithm are declared here (Bit -- Real), and their values and -assigned. Of course, this means that you will need to recompile to change -these values - see Lesson 3 to get rid of that heavy requirement.
  • - -
      -
  • -Random seeding: -Random numbers play an important role in Evolutionary Algorithms. See in -EO -programming hints more details about how this is simulated in EO - -but as far as you are concerned now, remember that the global -Random Number Generator is called rng -and should be used everywhere you need a realization of a random variable -of known law. Moreover, this RNG requires a seed, -which is set here (Bit - Real): -every time you run the algorithm with the same -seed, you will get the same -result. Hence, to test the robustness of your -algorithm, you should run it with different seeds. This is rather time -consuming in the present programs, so we suggest that you wait until Lesson -3 to do so.
  • - -
      -
  • -Fitness function encapsulation: EO -is based on the notion of functors -- hence you now need to encapsulate your fitness function into a functor -object. This is what is done here (Bit -- Real).
  • - -
      -
  • -Initialization: -to initialize the population, first declare an empty object of class eoPop<Indi>, -which is basically an STL vector<Indi>, -then fill it with Indi's. And remember that -v.push_back -simply appends its argument at the end of STL -vector v.
  • - - - -
  • -Output: take -a snapshot at the initial population (Bit -- Real). Sort it first, so the best -individuals are first, and display it. Note that an eoPop has a << -method, which means that a simple os -<< pop streams the pop -onto the ostream os. -This is true for all objects of of class eoPrintable -(most EO objects) through the method printOn -(which is then called by the << -operator).
  • - -
      -
  • -Evolution engine: -The selection/replacement mechanism (Bit -- Real) is a simple generational -GA here: a simple selector, and a generational replacement. The eoDetTournamentSelect -has been chosen as a robust selection, and the generational replacement -(all parents are replaced by the offspring) is hard-coded in the eoSGA -algorithm.
  • - -
      -
  • -Variation operators: -in the simple algorithm considered here, individuals undergo crossover -and mutation. -In EO, these operators are (functor) -objects of class eoQuadOp -(binary operator that modifies both its arguments) and eoMonOp -(unary operator).  These operators are applied in turn to all selected -parents, according to user-defined probabilities.  These probabilities -are defined with all other parameters, and will -be passed to the eoSGA algorithm.  -For more details on these classes, go to the algorithm-based -corresponding pages, or to their respective documentation pages.
  • - -
      -
      -
    • -Bit The crossover eo1PtBitXover -is the standard 1-point crossover, and eoBitMutation -is the standard bit-flip mutation that randomly -flips all bits with a given probability P_MUT_PER_BIT.
    • - -
      Warning: the P_MUT_PER_BIT -probability is an internal parameter of the -eoBinMutation, -it is NOT the probability of mutation -at the individual level. EO corrects what can be viewed as an inconsistency -in Holland's original work, further used in Goldberg's book by separating -the probability of mutation for each individual (independent of the type -of mutation that will be applied) from the probability of flipping each -bit, which is specific of the bit-flip mutation.  Hence, to run the -same algorithm as Goldberg's SGA, the mutation probability (at individual -level) is 1, and the probability of flipping each bit is P_MUT_PER_BIT. -
    • -Real The crossover eoSegmentCrossover -is the standard segment crossover for real-valued -vectors, that chooses a point randomly on the segment between both parents -(also termed BLX-0). eoUniformMutation -is the uniform mutation for real-valued vectors -that chooses a new value for each variable uniformly on an interval centered -on the parent value. The width of the interval is an internal -parameter of the object, here called EPSILON.
    • - -
       
    - -
  • -Stopping criterion: -Specify a maximum number of generations -to run (Bit - Real): -the simplest of all stopping criteria at the moment, using an object of -a sub-class of class eoContinue.
  • - -
      -
  • -The algorithm: the -simple algorithm that is used here, called  eoSGA -requires -as parameters a selector, -a crossover and -the associated crossover rate, -a mutation and -the associated mutation rate, -and a stopping criterion. -Take a look at the corresponding -constructor -of the class eoSGA: -it only initializes its private data -with the parameters. Now look at the operator() -method - the one that is called in the code for FirstBitGA -or FirstRealGA - and you'll find -out that is is as simple as it sounds.
  • - -
      -
  • -Output: After -running the algorithm, output the sorted final population (Bit -- Real) - and look at the best -individual: this is the result of the algorithm.
  • - -
      -
  • -Main body: for -technical reasons (intercepting the exceptions), we need a main like this -one (Bit - Real)., -and you should not touch it unless you know what you are doing. Simply -note that this main calls the function main_function, which we have been -discussing up to now!
  • -
- -

- -
Exercise -1: maximize your own function

-This is very easy - if your search space is that of bitstring or of unbounded -real numbers. -
    -
  • -Go to the tutorial directory, and copy the -program you want to modify onto mytest.cpp.
  • - -
  • -Edit mytest.cpp -with any text editor:
  • - -
  • -Modify the fitness function itself (binary_value -in FirstBitGA,real_value -in  FirstRealGA)
  • - -
  • -Compile the program by typing make -mytest at system prompt
  • - -
  • -Run the new program by entering the command -mytest -at system prompt.
  • -
- -

- -
Exercise -2: check the differences between both programs

-Go and take a look at the code for these programs (Bit -- Real). Use the symbolic representation -of an Evolutionary Algorithm (you should understand that figure now, otherwise -go there and come back) to understand how each -part of the EA is coded. Try to spot the differences between both codes: -there are not so many! -
After you've tried that alone, take a look at the solution -:-) -

- -
Exercise -3: change the selection procedure

-This is rather straightforward ... if you know what other types of selection -are available! -
At the moment, let's only consider only the following simple ones: -
    -
  • -You already know the tournament selection
  • - -
    Syntax:  eoDetTournamentSelect<Indi> -select(T_SIZE);   // T_SIZE in [2,POP_SIZE) -
  • -Try the well-known roulette wheel
  • - -
     Syntax:    eoProportionalSelect<Indi> -select; -
  • -Or the stochastic binary tournament
  • - -
    Syntax:  eoStochTournamentSelect<Indi> -select(RATE);     -// RATE in ]0.5,1] -
  • -and of course the random selection should -give bad results!
  • - -
    Syntax:  eoRandomSelect<Indi> -select;
-Note that all these classes of eoObjects are derived from the abstract -class -eoSelectOne. -To find out exactly how each procedure selects the individuals, read the -corresponding component-based page. -

-


Lessons learned: -
    -
  • -in EO, all actions are performed by functor -objects (this section is the last time in this tutorial that there -is a direct link to the EO Programming hints -page - though the link at top and bottom of all pages will remain there).
  • - -
  • -in EO, all object you will usually need to manipulate are templatized -w.r.t. the type of the individual you are handling.
  • - -
  • -The type of the individual is itself templatized -w.r.t. the type of fitness (double by default).
  • - -
  • -In EO (actually, in EC!) initialization and variation -operators are representation-dependent, while -the evolution engine is representation-independent -(well, like any rule, this one does have some exceptions).
  • - -
  • -Changing the fitness function, or the selection -procedure inside the generational GA evolution engine is straightforward.
  • - -
  • -remember, all solutions to exercises are in -the same sub-dir of dir Tutorial than the lesson itself (see here).
  • -
- -
Lesson 2 - -Tutorial -main page - -Algorithm-Based - Component-Based -- Programming hints - EO -documentation -
-
-
-Marc Schoenauer
- -
Last -modified: Fri Nov 3 18:49:12 CET 2000 - - diff --git a/eo/tutorial/html/eoLesson2.html b/eo/tutorial/html/eoLesson2.html deleted file mode 100644 index 6b3cf4580..000000000 --- a/eo/tutorial/html/eoLesson2.html +++ /dev/null @@ -1,357 +0,0 @@ - - - - - - Tutorial: Lesson 2 - - - -Lesson 1 - -Lesson -3 - -Main page - -Algorithm-Based -- Component-Based - Hints -- EO -documentation -
-
-
-

-Tutorial Lesson 2: more encapsulations

-In this lesson, the same Evolutionary Algorithm will be rewritten in a -much more general context. -
First, look at the changes that have been done -to the algorithms. Then benefit from the new features by -
    -
  • -minimizing (and not only maximize) the fitness
  • - -
  • -combining several -operators of the same type
  • - -
  • -combining several -stopping criteria
  • - -
  • -use alternate selection/replacement -engines, deviating from the pure generational GA
  • -
- -


Again, two basic algorithms are provided, namely FirstBitEA -and FirstRealEA. -
To compile and run them, go to the Lesson2 -sub-directory of the tutorial dir and simply type make. -Both examples should get compiled, and you can then run them by calling -their name from the system prompt. -

Note the slim difference in names, from GA -to EA: the behavior of these  EAs is -almost identical to that of their GA counterpart, at least with the default -settings that are provided. But their potentialities for easy modifications -are much larger, both in terms of variation operators -and of evolution engine (i.e. selection/replacement -mechanism).  -


Changes -

Browse through the code, and discover them one after the other: -

    -
  • -The fitness function -now -lies in a separate file -(Bit -- Real). But, more important, its -argument is a vector<bool> or a vector<double>, -and not an unknown type. This will allow to use the same file for any EO -object that is a sub-class of the corresponding STL vector class.
  • - -
      -

      -

    Note: Also, -a non-templatized fitness can be compiled -separately (not done here) into an object -file once and for all (remember -that templates forbid that). -
      -

  • -The encapsulation -of -the fitness (Bit -- Real) looks more complicated: you -have to declare 3 template arguments: the type of EO object it will be -applied to, the return type and the type of argument the function actually -requires.
  • - -
      -

      -

    Note: In the -previous files (Bit - Real) -, the last 2 types were deduced from the first (2nd argument = fitness -type of EO object, third = first). -
      -

  • -Both the above modifications makes it very easy to -minimize -rather than maximize a fitness function (see Exercise -1).
  • - -
      -
  • -The initialization -of the population is now encapsulatedinto -a separate initializer (based -on a boolean generator or a double-number -generator -see random_generators.h) -that is then used in the constructor of the population to build the individuals. -You can also use different initializers and call them in turn through the -call to pop.append() function -(see Exercise 2).
  • - -
      -

      -

    Note: Don't -forget to evaluate the population: -the eoPop has no idea of the eval function, so it has to be done from outside!!! -
      -

  • -You can now use -different -crossover -and -mutation -operatorsin the same algorithm, -choosing among them according to -relative -weights. The -class eoPropCombinedxxxOp, -where -xxx is either Mon (for mutations, of class eoMonOp) -or Quad (for crossovers, of class eoQuadOp), -is derived from the corresponding eoxxxOp class. When applying the eoPropCombinedxxxOp, -one of the eoxxxOp it contains is chosen by a roulette -wheel, according to their respective rates, and is applied to the arguments. -For more details on these classes, go to the algorithm-based -corresponding pages, or to their respective documentation pages.
  • - -
      -
    • -Bit
    • - -
      Three crossover -operators are available: the one-point -crossover is still there (class ), but now you also have the N-point -crossover eoBinNxOver -(the  number of points is 2 by default, but as always you can change -that in the constructor), and the Uniform -crossover eoBinUxOver -(where you can eventually twidle the choice from one parent to the other -by providing a probability in the constructore - defaulted to 0.5, which -amounts to symmetrical choice). -
      As for mutation -operators, apart from the eoBinMutation -(standard bitstring mutation flipping one bit with a given probability) -you can also use the eoDetBitFlip -that always filps the same number of bits (1 by default, but you can change -that in the constructor), randomly chosen in the bitstring. Even though -the average number of bits flipped is the same if the eoBinMutation -is -used with a rate of 1/N (N is the bitstring length) the -behavior of these mutation can be very different -on many problems. -
    • -Real
    • - -
      Two crossover -operators are available: the eoSegmentCrossover -chooses one point uniformly on the segment joining the parents, while the -eoHypercubeCrossover -performs a linear combination on each coordinate independently, which amount -to choosing the offspring uniformly in the hypercube whose diagonal is -the segment joining the parents. -
      As for mutation -operators, apart from the eoBinMutation -(standard bitstring mutation flipping one bit with a given probability) -you can also use the eoDetBitFlip -that always filps the same number of bits (1 by default, but you can change -that in the constructor), randomly chosen in the bitstring. And last but -not least, the normal mutation eoNormMutation modifies all coordinates -with a Gaussian noise, with standard deviation passed in the constructor.
    -Note: A third optional argument in -method add is a boolean (defaulted -to false). When true, the actual rates for all operators are displayed -on the screen as percentages: you don't have to input rates that sum up -to 1, all rates are scaled anyway. -

    Note: The -operators have to be encapsulated into an eoTransform -object (Bit - Real) -to be passed to the eoEasyEA algorithm. -The eoSGATransform is a simple -eoTransform -that does exactly the same thing than eoSGA: -each pair from the selected parents undergoes the crossover -operator with given probability, and all individuals (after crossover -eventually) undergo mutation with given probability. -The arguments to the eoSGATransform -are an eoQuadOp with its probability -and an eoMonOp with the associated -probability. -
      -

  • -You can use combinations -of -several stopping criteria by using an object of the class eoCombinedContinue -(Bit -- Real). Initialize it with an object -of class eoContinue, and -add -as many of other such objects as you wish. And as an eoCombinedContinue -is -an eoContinue, -simply pass it to the algorithm (Bit -- Real). To find out more, and -to get the list and syntax of existing eoContinue subclasses, check out -the corresponding component-based -page.
  • - -
      -
  • -The -full selection/replacement mechanism is -now in place through the eoEasyEA -algorithm.
  • - -
    This means that you can use different selectors. -which was already true in Lesson 1, but also different replacement -strategies (see Exercise 3) whereas generational -replacement was hard-coded in the algorithm eoSGA -used in Lesson1. -

    Beware that we have to encapsulate  (Bit -- Real) the eoDetTournament, -which is of class eoSelectOne (i.e. allows -to select one individual from a population, its operator() -returning a single individual) into an object of the eoSelectPerc -(perc stands for percentage) which allows to select a ... percentage of -a population (his operator()  -returns a population). This was done internally in the  constructor -of eoSGA  - see lesson1.

- -
Exercise -1: minimizing -
Modify the algorithm so that it minimizes the -fitness. -
    -
  • -For the bitstring case, you only have to modify the -declaration -of the representation, using eoMinimizingFitness -instead of double. -But is that really all? Give it a try, look at the output, and do it right -the second time!!!
  • - -
  • -For the real-valued problem, you also need to modify -the file real_value.h so -that it returns the sum of squares instead of its inverse. And again there -is something else to modify...
  • -
-Exercise -2: initialization -
Use different initializers: for instance, on -the real-valued sphere function minimization, try to initialize half of -the population in [-2,-1] and the other half in [1,2], with and without -the segment and hypercube crossovers (and for large values of VEC_SIZE, -the size of the vectors). Amazing, isn't it! Explain that result. -

Exercise -3:  full selection/replacement -
You can now twiddle the number of offspring that -will be generated from the parents. But of course you need to adjust the -replacement to keep a constant population size. -

    -
  • -To modify the number -of offspring, use the second argument of the -encapsulator -(Bit - Real) -of the selector -of class eoSelectOne -into an eoSelectPerc object. For instance, try
  • - -
                    -eoSelectPerc<Indi> select(selectOne,2.0) -
    to generate twice as many offspring as there -are parents. -
    You can also use the other encapsulator that -takes as second argument an absolute number (e.g. if you want to generate -2 offspring whatever the population size): -
                    -eoSelectNumber<Indi> select(selectOne,2) -
    Or you can use the HowMany -paradigm and the eoSelectMany to -do either one depending on some command-line input (advanced). -
  • -To keep a constant population -size, you can use either the eoCommaReplacement -class, or the eoPlusReplacement. -The former selects the best offspring to replace the parents, the latter -selects the best among parents+offspring. Of course you cannot use eoCommaReplacement -if you have less offspring than parents!
  • - -
    Now if you use eoSelectRandom -as selector with a rate of -lambda, you end up with exactly the (mu+lambda) -or -(mu,lambda) strategies from Evolution -Strategies. -
  • -Question: what do you -get if you select 1 offspring only, and an eoPlusReplacement -strategy? Yes, you get almost the replace_worst Steady-State GA, though -rather inefficient, as you sort the population at every generation.
  • - -
  • -Hint: there are a few -Steady-State replacement strategies already there in EO. See the Replacement -page.
  • -
-Remember: all solutions -are in the same sub-directory of the Tutorial dir than the examples (i.e. -here Lesson2), and are described here. -

-


-
Lessons learned: -
    -
  • -How to write a fitness function that only -needs a genotype, not a full individual. Moreover you can compile it separately.
  • - -
    How to initialize the population using -random generators -
  • -How to use other evolution engine than the -simple generational GA.
  • - -
  • -How to combine different objects of the same kind into a single object -that you can use like a simple basic object (operators -and stopping criteria here).
  • -
- -
Lesson 1 - -Lesson -3 - -Main page - -Algorithm-Based -- Component-Based - Hints -- EO -documentation -
-
-
-Marc Schoenauer
- -
Last -modified: Fri Nov 3 18:49:12 CET 2000 - - diff --git a/eo/tutorial/html/eoLesson3.html b/eo/tutorial/html/eoLesson3.html deleted file mode 100644 index 40c36e118..000000000 --- a/eo/tutorial/html/eoLesson3.html +++ /dev/null @@ -1,565 +0,0 @@ - - - - - - Tutorial: Lesson 3 - - -Lesson 2 - -Lesson -4 - -Main page - -Algorithm-Based -- Component-Based - Hints -- EO -documentation -
-
-
-

-Tutorial Lesson 3: input/output

-In this lesson, you will still use the same Evolutionary Algorithm, BUT -in a much more user-friendly way. You -will discover how to -
    -
  • -input parameters on the command-line or from a text -file
  • - -
  • -save the population to disk, together with every part -of the algorithm you could think of - so you can decide to reload -everything later to continue the same run, eventually with different parameters.
  • - -
  • -generate statistics on the populations, and output -them to the screen, text or graphic, or to a file (or to any other -device you might want to use).
  • -
-First, but you should now have done it without being told, go into the -Lesson3 -sub-dir of the tutorial dir and type -make. -This will compile the SecondBitEA -and SecondRealEA -programs. -

You can then either -

- -


-


-
Changes -
As already said, the behavior of the algorithm -will be exactly the same as the previous one as far as optimization is -concerned. Only the input (of algorithm parameters) and output (of program -results) will be very different. -
Hence, the sections corresponding to the fitness -function, the initialization, the -variation -operators, the evolution engine -and the algorithm itself are -almost identical (apart from variable name changes). -
    -
  • -Fitness function: -there is an additional line -after the encapsulation of our binary_function -into an eoEvalFunc -object, which again encapsulate the eoEvalFunc -into an eoEvalFuncCounter. -As its name says, this object will, in addition to computing the fitness, -count the actual -number of evaluations: the fitness of non-modified individuals is of course -not recomputed - and this is taken care of by this object. Moreover, it -can be later used for displays -in eoMonitor objects, as done in the checkpoint -section.
  • - -
  • -The initialization -section has been extended to account for the possibility to re-load -a previously saved population. This is achieved -through an eoState object, if the corresponding program -parameter is set.
  • - -
  • -The -variation -operators and the evolution engine  -sections are similar to the ones in Lesson2
  • - -
  • -The parameter -section  is completely different from the previous one. All variables -corresponding to program parameters -are now read at run-time using an object of class eoParser.
  • - -
  • -The stopping criterion -section, has in fact now become the checkpoint section, as it involves -much more than just stopping criteria. See all details in the eoCheckpoint -paragraph below.
  • -
- -
eoParser: -parameter input -
The first two examples of Lessons 1 and 2 had -a very crude way to set parameter values: they were hard-coded, and you -had to recompile the whole program to change a single value. We shall now -see now to set parameter values in a flexible way (though we're still looking -for volunteers to create a Graphical User Interface :-) -
Two base classes are used for that purpose: -
    -
  • -The eoValueParam -class, templatized by the type of the variable -you want to handle (i.e. iinteger, -double, yourPrivateClass, ...). In -this lesson, we will not go into details: e.g. we will not tell you that -the -eoValueParam -is actually a templatized sub-class of abstract class eoParam (oops, I -said it!), nor will we deal with parameters outside their use from an eoParser. -See the parameter section of the Component-Based tutorial, or wait until -lesson -4).
  • - -
  • -The eoParser -class, whose only purpose is the input of parameters. Read its -description if you are interested.
  • -
- -
eoParser: -Modifying parameter values at run-time: -
Using an eoParser object, the parameter values -are read, by order of priority -
    -
  1. -from the command-line
  2. - -
  3. -from a text file
  4. - -
  5. -from the environment (forthcoming, if somebody insists)
  6. - -
  7. -from default values
  8. -
-The syntax of parameter reading is a keyword-based -syntax, now traditional in the Unix world: -
    -
  • -in EO, each parameter is designated by a (long) keyword, -and optionally by a short (1 character) keyword.
  • - -
      -
  • -the general syntax to modify parameter value at run-time is (either from -the command-line or in a text file)
  • - -
                 - ---longKeyword=value     -or     -cvalue    -if 'c' is the short keyword (though -c=value -also works) -
      -
  • -so, after compiling the executable for Lesson 3 (make -lesson3 at system prompt in Unix), you can try to type -in
  • - -
                  - -SecondBitEA -
    and see the algorithm run as before (OneMax optimized on 8-bits bitstrings). -But you can now type in -
                  - -SecondBitEA --vecSize=100 -
    and see the output of the optimization of OneMax on 100-bit bitstrings. -
      -
  • -Take a look at all available parameters by typing in
  • - -
                  - -SecondBitEA --help -
    or by going into the code: all parameter inputs have been grouped in -the -read_param function. -
      -
  • -After running the algorithm, a new file has been created, named SecondBitEA.status: -it contains the list of all actual parameters used, and can directly be -used as parameter input file: change the file name (e.g. to SecondBitEA.param), -edit it, change whichever parameter you want, and type in
  • - -
                    -SecondBitEA @SecondBitEA.param -
    and you will see all values that you defined into the file taken into -account. -
      -
  • -The priority remains to the command-line, -so you can still override the values in the parameter file by giving a -new value directly on the command-line.
  • -
- -
eoParser: -Programming parameter input: -
The code of SeconBitEA provides examples of parameters reading. Lets -take the example of the random number -generator seed.  -Of course, you first need to declare -an eoParser object (it needs the standard argc and argv in its constructor). -
    -
  • -You must first declare a parameter -of type uint32 (32-bits integer). -The arguments are: default value, long keyword, comment (that will appear -in the help message and in the output "status" file if any) and optional -character keyword.
  • - -
  • -Then you must pass it to the parser -using the processParam method. The optional argument is a section name, -that will be used to make the output of the parser look clean and ordered.
  • - -
  • -Finally, you need to assign the -value to the variable seed. -Note that the value() method -of eoParam returns a reference, so you can eventually modify its value -somewhere else later (though of course this is not any useful for variable -seed!).
  • -
-There is however another way to achieve the same result in less lines of -code - with a different memory management. This is what is done in the -code for eoRealEA. The same parameter for the random -number generator seed -is read, but in one single line of code.  -The only difference is that now you cannot access the eoValueParam object -itself - but this is not often necessary. -
Be careful to ensure that the type of the default value in the call -to eoParameterLoader::createParam -method as this is the only way the compiler can desambiguate the template -(remember that eoParameterLoader is a -base class for eoParser. -
-
-
eoState: -saving and loadingYou might have -noticed in the  read_param -described above a new parameter -named load_name. -Now if you go to the init section of -the code, you will see an alternative way of initializing -the population: if load_name is an empty string, -then we do as in the preceding example and use an eoInitFixedLength object. -However, if a load_name name was entered, the population is read through -the inState.load(load_name) -instruction. Moreover, the comment says "Loading pop and -rng". -

This is made possible using the eoState -class. eoState -objects maintain references to eoObjects -that have both an input method (readFrom) -and an output method (printOn), -i.e. that derive from the base class eoPersistent. -You must first register -object into a state, and can then save them to a (text) file, and later -read them from that file using the load -method, as done here. -
Of course, you can call the save -method for an eoState -object anywhere in the code. But the checkpointing -mechanism offers you better ways to do that - and it's so easy .... -

Note that an eoState alos has another use in EO whan it comes to memory -management: it can be a repository of pointers that are not allocated within -obects - allowing to delete them by simply deleting the eoState (see Lesson -4). -
-


eoCheckpoint: -every generation I'd like to ... -
The checkpointing mechanism is a very powerful -construct to perform some systematic actions -every generation - like saving things -(using eoState objects described above), computing statistics -on the population, updating -dynamical parameters or displaying -information. -

eoCheckpoint -objects are eoContinue -objects that contain pointers to different -types of objects. When their operator() -method is called (i.e. every generation in the examples up to now), they -first call the operator() -methods of all object they contain, and then return their result as an -eoContinue -object (i.e. should we continue or stop). -
Programming: To -do something every generation, you simply need to add -an object whose operator() -does what you want to the eoState that you will use as continuator in the -algorithm. -
-


eoCheckpoint: -Stopping -
The eoContinue -part of an eoCheckpoint -is a single object, passed to the -constructor. If you want more that one stopping criterion, use an eoCombinedContinue -object as described in Lesson2. -
-
-
eoCheckpoint: Computing -statistics -
Statistics are computed using eoStat -objects, i.e. functor objects whose operator() -receives as argument a reference to a population as argument, and can hence -compute whatever is needed over that population. eoStat -objects are templatized -over the type of what they compute (e.g. double, -or pair<double>, -or ...). But looking at the inheritance -diagram of the eoStat -class, you find that eoStat -objects are also eoValueParam -objects. And this allows eoStat -to be used within eoMonitor -object, and hence displayed -to the user! -

Statistics: Available -instances -
Some widely used statistics are already available (and of course you -can build you own!). -

    -
  • -eoBestFitnessStat returns -the fitness value of the best individual in the population (of type FitnessType, -whatever this is).
  • - -
  • -eoAverageStat and eoSecondMomentStat -respectively return the average (type double, assumes that FitnessType -is castable to a double) and a pair made of the average and the standard -deviation (type pair<double>) -of the fitnesses in the populations.
  • - -
  • -eoDiversityStat returns the -diversity in the population: assuming that there is a distance function -defined among individuals, it returns the average inter-individuals distance. -See also Exercise 2.
  • -
-Statistics: Adding -to the checkpoint -
To compute more statistics when your algorithm is running, simply declare -the corresponding eoStat objects, and add -them to the eoCheckpoint you -use in the algorithm. But it hardly makes any sense if you don't monitor -those statistics (i.e. either displaying them on the screen, or storing -them into a file): see next section! -

Note: actually, there are 2 distinct -classes that compute and give access to statistics: eoStatand -eoSortedStat. -As its name indicate, the latter is used whenever computing the statistics -require a sorted population: not only this avoids to sort the population -many times, but also it avoids changing the order of the population at -all as eoSortedStat objects -work on a temporary vector of fitnesses . But as -far as their usage is concerned, its makes no difference. -
-


-
eoCheckpoint: Monitoring -eoParameters -
The eoMonitor -objects are used to display or store to a file a set of eoValueParam -objects. -

Monitors: Available -instances -
A few monitors are available in the EO distribution: -

    -
  • -eoStdoutMonitor displays its -parameters in text format on the screen. The -(optional) boolean value in the constructor modifies the output: when true -(the default), verbose output is used, with one line per parameter. When -false, parsimonious output displays one line for all parameters.
  • - -
  • -eoFileMonitor writes its parameters -in text format in a file. A file name is required -in the constructor, and an optional separator character can be added (default -is ' '). Note that the file is by default overwritten by next call to the -same program, unless you pass "true" as third (optional) boolean parameter, -which will result in appending to the file if it ever exists.
  • - -
  • -eoGnuplot1DMonitor displays -its parameters in graphical format on the screen -by calling the gnuplot program, -and as of today, only works in the Unix version of EO (as always, volunteers -are welcome to port that to MS Windows). It takes an optional filename -as input, as communication of data with gnuplot -is done through a file. If no filename is provided, the file will be erased -at the end of the run, while it is otherwise kept (though it will be overwritten -by next call to the same program).
  • -
- -


Monitors: Adding -to the checkpoint -
To display something while the algorithm is running, you need to declare -an eoMonitor object, add -some objects (that must be eoValueParam -objects) to that monitor, and of course add -the monitor to the eoCheckpoint -you use in the algorithm. -
-


-
eoCheckpoint: Updating -things -
The last type of objects that  eoCheckpoint -can handle are eoUpdater -objects. You should simply encapsulate in an eoUpdater -anything you wish to do which does not fit into one of the above category. -Note that their operator() method -does not receive any argument. -

Updater: Available -instances: A few updaters are available in the EO distribution: -

    -
  • -eoIncrementor A simple updater -which maintains a counter (an eoValueParam -that needs to be created beforehand, and passed in the constructor). It -is incremented every time the operator() -method is called (every generation at the moment). You can of course also -give an increment in the constructor (1 by default).
  • - -
  • -eoCountedStateSaver -and eoTimedStateSaver can -be used to save some existing eoState -(see above) to a file regularly, either based on the -generation count (e.g. every 4 generations) or based on the clock (e.g. -every 5 seconds).
  • -
-Updater: Adding to -the checkpoint -
A very simple example of using an eoUpdater -is given in the code for SecondBitEA: First declare -an eoValueParam object, then -use -it to construct an eoIncrementor -that you must add to the eoCheckpoint -in order to activate its update. You can then use the parameter for your -purpose, for instance as a first coordinate for a monitor. -
Note also how to use the statesavers: first declare -a state, then register -whatever you think necessary to that state, then pass -the state to some state-saver - and don't forget to add -the statesavers to the current eoCheckpoint. -
-
-
Exercise 1: -
    -
  • -The code of SecondBitEA -display things in the current window in text format. Replace the eoFileMonitor -by an eoGnuplot1DMonitor -and watch the graphical output (Unix -systems with gnuplot -installed only, sorry).
  • - -
  • -Note that you must also replace the eoSecondMomentStat -by an eoAverageStat, -otherwise the standard deviations won't make any sense here.
  • - -
  • -Please try to understand why the average is always -0 before taking a look at the solution (file exercise1.cpp).
  • - -
  • -Then run
  • - -
              -exercise1 --vecSize=1000 --maxGen=1000 -
    to get a chance to see something happening before -the program ends!
- -
Exercise 2: -
Write the eoDiversityStat -stat computation and test it. Thanks to send us the code! -
-
-
Exercise 3: -
Write the code for an eoGnuplotSecondStatMonitor -that would display the eoSecondMomentStat -(i.e. take into account the standard deviations and display them as error-bars. -
Again, send us the code afterwards, thanks :-) -
-
-
Lessons learned: -
    -
  • -Value of program parameters can be set at run-time -using the eoParser class.
  • - -
  • -Snapshots of the algorithms can easily -be saved (and restored) -thanks to the eoState class.
  • - -
  • -The eoCheckpoint mechanism -let you do things every generation -without modifying existing algorithms, by simply writing the necessary -code and encapsulating it into an object that eoCheckpoint -is aware of, that are at the moment the following:
  • - -
  • -computing statistics, displaying -parameters -(e.g. statistics),  saving the -(eo)State -of the program.
  • -
-In next lesson you will find out that many adaptive -techniques (the state-of-the-art in Evolutionary Computation) can easily -be programmed through the eoUpdater -construct. -
-
Lesson 2 - -Lesson -4 - -Main page - -Algorithm-Based -- Component-Based - Hints -- EO -documentation -
-
-
-Marc Schoenauer
- -
Last -modified: None of your business! - - diff --git a/eo/tutorial/html/eoLesson4.html b/eo/tutorial/html/eoLesson4.html deleted file mode 100644 index 0ddab737f..000000000 --- a/eo/tutorial/html/eoLesson4.html +++ /dev/null @@ -1,940 +0,0 @@ - - - - - - Tutorial: Lesson 4 - - -Lesson 3 - -Lesson -5 - -Main page - -Algorithm-Based -- Component-Based - Hints -- EO -documentation -
-
-
User's guide: General -- Bitstring - Real - ES -- Programmer's guide: General -- Memory management - Parameters -
-
-
-

-Tutorial Lesson 4: ready-to-use fully operational EA

-In this lesson, you will still use the same Evolutionary Algorithm. But -this time you will have full control of all components -from the command-line or a parameter file.
-You can even use the algorithm decribed here without any other knowledge -of EO, just by writing your fitness function as a plain C++ function.

- -Contents
- - -

-


-
User's -guide -

As already said, the behavior of the algorithms -will be exactly the same as the previous one as far as optimization is -concerned. Only now you will be able to tune every component of the algorithms -(except the type of genotype) using run-time parameters. -
Also, as in previous lessons, most of the code -is representation-independent, i.e. is the same for both the binary genotypes -and the real-valued genotypes. This small user's guide reflects that, but -you can go directly to the binary or the real -parts if you wish. -

Warning: this -is a user guide, not a programming guide. In particular, the keywords -of the parameters are not -the names of -the underlying classes (though they should be similar in most cases). -

User's guide:Parameter -input The way to input parameters -has already be described in Lesson -3. To get a list of parameters, type the command with option --help -(or -h): with both testBit and testReal this will result in -

    -
  • -Printing the list of keywords on the standard output
  • - -
  • -Creating (or overwriting) a file name testBit.status -or testReal.status that contains the list of all recognized parameters -and has the format of an input parameter file.
  • -
-User's guide:The -status file -
This file will always contain the list of the -parameters that have been actually used by the last run of the program, -however thay have been entered (try testBit --G1 and take a look a the -status file). The parameters that are commented out (a # character comments -out the rest of the line) in the file are those that were not specified -by the user. -
On the status file, the parameters are organized -in sections. Note, however, that this format is not mandatory in the param -file, as only the keywords -are processed. -

User's guide:Representation-independent -parameters -
In what follows, the fixed font colored text -is directly taken from the status file and is commented between the lines. -The presentation follows the status file format - only two sections are -representation-dependent (see the corresponding binary -or real sections). All other sections are presented -now: -

-


-
Section ###### -General ###### -
# --help=0 # -h : Prints -this message -
Boolean parameter of -absolutely no interest: tells whether or not help was requested. -

# --seed=988700289 # -S : -Random number seed -
Unsigned long parameter: -the seed for the Random Number Generator -If the parameter is absent, then time(0) is used, which indicates the number -of seconds since Jan. 1 1980, is used ... and stored in the status file, -of course, so you can repeat the same run by simply assigning that value -again. There is no default value ("true" random -seed). -

-


-

Section ###### -engine ###### -
In this section, one chooses all components of -the Evolution Engine (selection, replacemenet -and the like). -

# --popSize=20 # -P : Population -Size -
Integer parameter: -the size of the population (constant along evolution). And yes, this is -a representation independent parameter, as the population is created either -from a file or using an eoInit object - and only that object is representation-dependent. -
# --selection=DetTour(2) -# -S : Selection: Roulette, DetTour(T), StochTour(t) or Sequential(ordered/unordered) -
String parameter: -Name of selection procedure. Availabable -are the roulette wheel -(name Roulette, -fitness scaling coming soon); deterministic -tournament (name DetTour -with size - integer > 2 - in parentheses right after the name, use double -quotes on the command line);  stochastic -tournament (name StochTour -with probability - float in [0.5, 1] - in parentheses); sequential -(name -Sequential, -all individuals in turn), either from best to worst (option ordered -in parentheses), or in random ordered (option unordered); -and finally repeated independent uniform -choices  (name Random). -Default is DetTour(2). -

# --nbOffspring=100% # -O -: Nb of offspring (percentage or absolute) -
Integer or real-valued parameter: -this parameter indicates the amount of -offspring that will be generated from -the genitors every generation. However, this amount can be specified either -relative -to the population size, and it should then end with percent character (%), -or as an absolute -integer number (without the percent char). -
Indeed, you can either want, say 7 times more -offspring than parents (a rather common situation in Evolution Strategies), -in which case you give value 700% to nbOffspring -parameter; or you might want a single offspring whatever the population -size, like in Steady-State evolution engines, in which case you simply -enter value 1. Default is 100%. -

# --replacement=Comma # -R -: Replacement: Comma, Plus, EPTour(T), SSGAWorst, SSGADet(T), SSGAStoch(t) -
String parameter: -Name of replacement procedure. Availabable are the ES -plus and comma deterministic replacement -strategies (named respectively Plus -and  Comma); -EP -stochastic tournament (name EPTour -with tournament size in parentheses); and the steady-state -replacement -procedures, at the moment only based on fitnesses, replacement being either -deterministic -(new born replace worst parent, name SSGAWorst),  -or based on a tournament  (name SSGADet -for deterministic tournament, size in parentheses, and SSGAStoch  -for stochastic tournament, probability in parentheses). Default -is Comma (which btw is also SGA generational -replacement whenever there are as many offspring -as parents). -

# --weakElitism=0 # -w : -Old best parent replaces new worst offspring *if necessary* -
Boolean parameter: -if true, weak elitism is added to the replacement procedure (i.e. if the -best fitness among the offspring is less than the best fitness, the best -parent replaces the worst offspring). Default -is false. -

-


-

Section ###### -Output ###### -
This first section on Output contains parameters -related to screen text output. -

# --useEval=1 # Use nb of -eval. as counter (vs nb of gen.) -
Boolean parameter: -whether or not you want the nb of evluations to be displayed and used as -counter in statistics outputs and plots. Default -is true. -

# --printBestStat=1 # Print -Best/avg/stdev every gen. -
Boolean parameter: -toggles screen output of indicated statistics. Default -is true. -

# --printPop=0 # Print sorted -pop. every gen. -
Boolean parameter: -adds a dump of the whole population to the screen every generation. Is -likely to generate huge -output! Default is false. -

# --printFDC=1 # Print FDC -coeff. every gen. -
Boolean parameter: -adds Fitness Distance Correlation to output every generation. Default -is false. -

-


-

Section ###### -Output - Disk ###### -
This second section on Output contains parameters -related to DISK output. -

# --resDir=Res # Directory -to store DISK outputs -
String parameter: All -DISK -output will be stored in a separate directory --this is its name. If the directory does not exist, it is created. Note -that all graphical displays -will use that directory for their temporary files. Also all -job dump (see section Persistence -below) store their files there too. -

# --eraseDir=0 # erase files -in dirName if any -
Boolean parameter: -in order not to mix up files from different runs, it is mandatory to ensure -that the directory where all files will be stored is empty. However, if -this parameter is not set and the directory already exists, an exception -is thrown and the program stops. It it is set, all -files in the result directory are erased. -

# --fileBestStat=0 # Output -Best/avg/stdev to a file -
Boolean parameter: -if present, the best, average and standard deviation statistics are stored -in file resDir/best.xg. -Each line contains the generation number, eventualy the evaluation count -(depending on parameter useEval -then the statistics. Default is false. -
  -

-


-

Section ###### -Output - Graphical ###### -
This last section on Output contains parameters -related to graphical output (only available in Unix through gnuplot at -the moment). -

# --plotBestStat=0 # Plot -Best/avg Stat -
Boolean parameter: -toggles gnuplot output of best and average plots (Linux only at the moment). -Default -is false. -

# --plotFDCStat=0 # Plot -FDC scatter plot -
Boolean parameter: -toggles the Fitness Distance Correlation plot (Fitness vs distance to best). -Default -is false. -

# --plotHisto=0 # Plot histogram -of fitnesses -
Boolean parameter: -if on, gnuplot is used to plot the sorted population (fitness vs rank). -Gives a graphical idea of the diversity. Default -is false. -

-


-

Section ###### -Persistence ###### -
This section contains parameters handling job -dump and restart mechanism. -

# --Load= # -L : A save file -to restart from -
String parameter: -if present, the initial population (and the RNG) is read from indicated -file. That file must -come from a previous save (or must be in same format!), i.e. must contain -a popualtion, the RNG and all parameters. If no other parameter is modified, -using a previously saved population and RNG will give exactly the same -results than having run that previous run longer. And a way to be sure -to re-use the same parameters is to ... use that very save file as parameter -file, as it contains all actual parameters in the right format. -
Note that if not enough individuals are read, -the remaining are randomly initialized. No -default value. -

# --recomputeFitness=0 # --r : Recompute the fitness after re-loading the pop.? -
Boolean parameter: -in case some individuals are read from a file, their fitness is read too. -If this one is true, it is nevertheless recomputed. Default -is false i.e. use fitnes that's in the file. -

# --saveFrequency=0 # Save -every F generation (0 = only final state, absent = never) -
Integer parameter: -interval between two dump to disk of the whole population (+RNG + parameters), -in a file named genNN.sav in the dirRes -directory, where NN is the generation number. If this prameter is present -(even with 0 or negative value), the final population will always be saved, -whatever the reason for stopping. Hence the only way to avoid all saves -is to omit the parameter (there is no default -value). -

# --saveTimeInterval=0 # -Save every T seconds (0 or absent = never) -
Integer parameter: -time interval between two population (+RNG + parameters) dumps to disks. -Files are names timeNN.sav. See pervious parameter description for ore -details. No default value. -

# --status=t-eoGA.status -# Status file -
String parameter: -name of the status file (that contains all parameters in the input format). -There is no way to avoid creating that file except recompiling ... or giving -the name /dev/null (Unix). Default value is ProgramName.status -

-


-

Section ###### -Stopping criterion ###### -
This section allows to decide when the algorithm -will stop. -

# --maxGen=100 # -G : Maximum -number of generations (0 = none) -
Integer parameter: maximum number of generations. -A value of 0 disables that stopping criterion. Default -is 100. -

# --steadyGen=100 # -s : -Number of generations with no improvement -
Integer parameter: -stops whenever that number of generations is passed without any improvement -of the best fitness in the population, provided the following minimum number -of generations has been done. No default value. -

# --minGen=0 # -g : Minimum -number of generations -
Integer parameter: the above steadyGen parameter -starts its job only after that minimum nuber of generations is passed. -No -default value. -

# --maxEval=0 # -E : Maximum -number of evaluations (0 = none) -
Integer parameter: -maximum number of generations. -No default -value. -

# --targetFitness=0 # -T -: Stop when fitness reaches -
Real-valued parameter: -the algorithm stops whenever the best fitness reaches that target. No -default value. -

# --CtrlC=0 # -C : Terminate -current generation upon Ctrl C -
Boolean parameter: -if true, Ctrl C only stops after the current generation as completed (eventually -dumping population to a file if some saver is active). This very useful -feature is only available in Unix at the moment. Default -is false. -
-


-

User's guide:Bistring -specific parameters -
The following describes the specific parameters that are available -in program BitEA to evolve genotypes that are bitstrings. -
The two representation-dependent sections are concerned repectively -with genotype initilization and variation operators. -

-


-

Section ######    -Genotype Initialization    ###### -
This section should allow input if all necessary -parameters for genitype initialization -

# --ChromSize=10 # -n : The -length of the bitstrings -
Integer parameter: -The bitstring initilization only requires the length of the chromosome. -

-


-

Section ######    -Variation Operators    ###### -
This section allows to tune the way the variation -operators will be applied to the individuals (in the strict limit of SGA -model at the moment, see below). -

# --operator=SGA # -o : Description -of the operator (SGA only now) -
String parameter: -Describes the way the operators are applied. At the moment, only -SGA is available. SGA sequentially -applies a (quadratic) crossover operator with probability pCross -and a mutation operator with probability  pMut. -Both these operators can in turn be proportional -combinations of simple operators of the -same arity. -

# --pCross=0.6 # -C : Probability -of Crossover -
Floating-point parameter: -The probability that a given couple of selected genitors is applied the -crossover operator. In SGA operator model, each couple of selected genitors -is applied the crossover operator with that probability (and remains unchanged -with probability 1-pCross. -Whenever a couple undergoes crossover, a choice is made upon available -crossover operators proportionaly to their -relative rates (see below). Default -is 0.6. -

# --pMut=0.1 # -M : Probability -of Mutation -
Floating-point parameter: -The probability that a given individual (resulting from a crossover or -a non-crossover operation, see above) is applied the mutation operator. -Whenever an individual undergoes mutation, a choice is made upon available -mutation operators proportionaly to their -relative rates (see below). Default -is 0.1. -

# --onePointRate=1 # -1 : -Relative rate for one point crossover -
Floating-point parameter: -Rate of aplication of the 1-point crossover relatively -to 2-point and uniform below (see pCross -parameter). Default is 1. -

# --twoPointRate=1 # -2 : -Relative rate for two point crossover -
Floating-point parameter: -Rate of aplication of the 2-point crossover relatively -to 1-point above and uniform below (see pCross -parameter). Default is 1. -

# --uRate=2 # -U : Relative -rate for uniform crossover -
Floating-point parameter: -Rate of aplication of the 1-point crossover relatively -to 1- and 2-point above (see pCross -parameter). Default is 2. -

# --pMutPerBit=0.01 # -b -: Probability of flipping 1 bit in bit-flip mutation -
Floating-point parameter: -When bit-flip mutation -is applied, each bit is flipped independently with probability  pMutPerBit. -

# --bitFlipRate=0.01 # -s -: Relative rate for bit-flip mutation -
Floating-point parameter: -Rate of aplication of the bit-flip mutation relatively -to one-Bit mutation below (see pMut -above). Default is 0.01 -(if all relative rates are equal, the choice is uniform among available -operators). -

# --oneBitRate=0.01 # -d -: Relative rate for deterministic bit-flip mutation -
Floating-point parameter: -Rate of aplication of the one-bit mutation relatively -to bit-flip mutation below (see pMut -above). One-bit mutation flips one and only one bit, uniformly chosen in -the individual. Default is 0.01 -(if all relative rates are equal, the choice is uniform among available -operators). -
  -

-


-

User's guide:Real-valued -specific parameters -
-To run your own real-valued application, write your fitness function -(see real_value.h
), -recompile, and run from the command line
-

RealEA @RealEA.param

-in order to use sensible parameters! (see Lesson 3 -for details on the parameter file). -But remember that Self-adaptive ES will work much better! -

-The following describes the specific parameters that are available -in programs RealEA -and ESEA -to evolve genotypes that are vector<double>. -
RealEA -implements what can be called a "real-coded GA", where everything is identical -to the bitstring case above (except initialization and operators that are -specific to vector<double> of course) and ESEA -implements the full Evolution-Strategy self-adaptive mutation mechanism -- together with specific ES crossover operators. The initialization section -for both programs are identical, but the operator sections are totally -different. See next paragraph for a description of ES -specific parameters. -

-


-

Section ######    -Genotype Initialization    ###### -
This section should allow input if all necessary -parameters for genitype initialization -

# --vecSize=10 # -n : The -number of variables -
Integer parameter: -The initilization requires the length of the vector<double>. -

# --initBounds=10[-1,1] # --B : Bounds for uniform initialization -
Bounds parameter: -Bounds for uniform initialization of the real variables. The syntax for -this parameter given in the objectBounds -parameter description below. This argument is mandatory, furthermore the -given bounds must be bounded. -The -default is [-1,1] for all variables. -
Note that this parameter is independent of the objectBounds -parameter below. -

# --sigmaInit=0.3 # -s : -Initial value for Sigma(s) -
Floating-point parameter: -The initial value for all standard-deviation mutation strategy parameters. -Useless when no self-adaptive mutation mechanism is used. -

-


-

Section ######    -Variation Operators    ###### -
This section allows to tune the way the variation -operators will be applied to the individuals (in the strict limit of SGA -model at the moment, see below). -

# --objectBounds=10[-inf,+inf] -# -B : Bounds for variables -
Bounds parameter: -Bounds for object variables. The syntax for this parameter is a succession -of (optionally semi-colon separated) items of the form N[min,Max]where -the optional integer N -indicates how many variables have the given bounds. min -and Max -are either floating point numbers, or -inf -(resp. +inf) -to indicate unbounded direction. If not enough bounds are provided, the -remaining variables will have the same bounds as the last bounds given. -
This argument is mandatory, and -default -is [-inf,+inf], i.e. unbounded variables. -

Examples: -10[-1,1]is -equivalent to simply [-1,1] -or to the extended  [-1,1][-1,1][-1,1][-1,1][-1,1][-1,1][-1,1][-1,1][-1,1][-1,1]. -
And [-1,1];2[0,1];[-inf,10]results -in the first variable staying in [-1,1], the second and the third in [0,1] -and all remaining variables below 10. -

# --operator=SGA # -o : Description -of the operator (SGA only now) -
String parameter: -Describes the way the operators are applied. At the moment, only -SGA is available. SGA sequentially -applies a (quadratic) crossover operator with probability pCross -and a mutation operator with probability  pMut. -Both these operators can in turn be proportional -combinations of simple operators of the -same arity. -

# --pCross=0.6 # -C : Probability -of Crossover -
Floating-point parameter: -The probability that a given couple of selected genitors is applied the -crossover operator. In SGA operator model, each couple of selected genitors -is applied the crossover operator with that probability (and remains unchanged -with probability 1-pCross. -Whenever a couple undergoes crossover, a choice is made upon available -crossover operators proportionaly to their -relative rates (see below). Default -is 0.6. -

# --pMut=0.1 # -M : Probability -of Mutation -
Floating-point parameter: -The probability that a given individual (resulting from a crossover or -a non-crossover operation, see above) is applied the mutation operator. -Whenever an individual undergoes mutation, a choice is made upon available -mutation operators proportionaly to their -relative rates (see below). Default -is 0.1. -

# --alpha=0 # -a : bound -for combination factor in real crossover -
Floating-point parameter: -Bound for the choices of linear combination factors in both crossover belows -(similar to BLX-alpha notation). Default is -0 (i.e. combination factor are chosen in [0,1]). -

# --segmentRate=1 # -s : -Relative rate for segment crossover -
Floating-point parameter: -Rate of application of the segment crossover relatively -to hypercube and uniform crossovers (see pCross -parameter). Segment crossover generates offspring uniformly on the segment -joining both parents, i.e. constructs two linear combinations of the parents -with a random number uniformly drawn in [alpha,1+alpha]. -Default -is 1. -

# --hypercubeRate=1 # -A -: Relative rate for hypercube crossover -
Floating-point parameter: -Rate of application of the hypercube crossover relatively -to segment and uniform crossovers (see pCross -parameter). Hypercube crossover generates offspring uniformly on the hypercube -whose diagonal is the segment joining both parents, i.e. by doing linear -combinations of each variable independently (a random number in [alpha,1+alpha] -is drawn anew for each variable). Default -is 1. -

# --uxoverRate=1 # -A : Relative -rate for uniform crossover -
Floating-point parameter: -Rate of application of the segment crossover relatively -to hypercube and segment crossovers (see pCross -parameter). Uniform crossover simply exchanges values of variables, i.e. -uniformly picks up two other summits of the hypercube defined by the parents. -Default -is 1. -

# --epsilon=0.01 # -e : Half-size -of interval for Uniform Mutation -
Floating-point parameter: -The uniform and deterministic-uniform mutations will choose values of variable -X uniformly in [X-epsilon, -X+epsilon]. -Default -is 0.01. -

# --uniformMutRate=1 # -u -: Relative rate for uniform mutation -
Floating-point parameter: -Rate of aplication of the uniform mutation relatively -to determinitic uniform and the normal mutations (see pMut -above). Uniform mutation modifies all variables by choosing new values -uniformly on an interval centered on the old value of width 2*epsilon -(see above). Default is1. -

# --detMutRate=1 # -d : Relative -rate for deterministic uniform mutation -
Floating-point parameter: -Rate of aplication of the determinisitc-uniform mutation relatively -to uniform and normal mutations (see pMut -above). Deterministic-uniform mutation modifies one single variable uniformly -based on epsilon epsilon. -Default -is1. -

# --normalMutRate=1 # -d -: Relative rate for Gaussian mutation -
Floating-point parameter: -Rate of aplication of the normal mutation relatively -to two uniform mutations above (see pMut -above). Default is1. -

# --sigma=0.3 # -s : Sigma -(fixed) for Gaussian mutation -
Floating-point parameter: -The value of standard deviation for Gaussian mutation - fixed along evolution -(see the Evolution Strategy program below for self-adaptive mutations). -

-


-

User's guide:ES -with self-adative mutation parameters -
-To run your own SA-ES application, write your fitness function -(see real_value.h
), -recompile, and run from the command line
-

ESEA @ESEA.param

-in order to use sensible parameters! (see Lesson 3 -for details on the parameter file). -

-The following describes the specific parameters for program ESEA, -that implements the full Evolution-Strategy self-adaptive mutation mechanism -- together with specific ES crossover operators. The initialization section -is the same as the one for plain vector<double> above, so only the opeartor -sections will be described here. A new section is now concerned with deciding -what kind of self-adaptive mutation strategy will be applied - it has been -separated from the other variation operators because it has consequences -on the choice of the genotype. -
Warning: if you choose not to use -any self-adaptive mechanism (i.e. setting all parameters of this section -to false) you end up with ... an algorithm that is identical to RealEA -above (try it and take alook at the status file). -

-


-

Section ######     -ES mutation    ###### -
This section allows to decide which type of self-adaptive -mutation will be used. There are three available types: isotropic mutation, -using one standard deviation for each individual, that will be applied -to all variables; anisotropic mutation, where each individual carries as -many standard deviations as it has variables; and correlated mutation where -each individuals has its own full correlation matrix. -

# --Isotropic=1 # -i : Isotropic -self-adaptive mutation -
Boolean parameter: -If true, at least one self-adaptive parameter will be used for each individual. -Default -is true. -

# --Stdev=0 # -s : One self-adaptive -stDev per variable -
Boolean parameter: -If true, at least one self-adaptive parameter per variable will be used -for each individual. Default is false. -

# --Correl=0 # -c : Use correlated -mutations -
Boolean parameter: -If true, full correalted self-adaptive mutation will be used for each individual. -Default -is false. -

Note: The -default values result in an isotropic self-adaptive mutation to be chosen. -

-


-

Section ######    -Variation Operators    ###### -
Only the parameters that are specific to ESEA -are presented here - the objectBounds,operator,pCross -and pMut -are exactly the same as for RealEA -above. -

# --crossType=global # -C -: Type of ES recombination (global or standard) -
String parameter:  -Es crossover can involve only two parents - and it is then identical to -the standard -hypercube crossover describe for the RealEA -parameters above. But new parents can also be chosen anew for each variable -before doing the crossover for that variable - and this is called global -recombination. -

# --crossObj=discrete # -O -: Recombination of object variables (discrete or intermediate) -
String parameter:  -There are two possible crossovers in plain ES. The discrete -crossover simpy exchanges variables among the parents. It is similar to -the plain uniform crossover for real variables. The  crossover performs -a linear combination of parents;variables - it si similar to the hypercube -crossover described for  with alpah parameter set to 0. This parameter -allso to choose the type of crossover that will be applied to the object -variables (i.e. the origianl variables -of the problem). Default is discrete. -

# --crossStdev=intermediate -# -S : Recombination of mutation strategy parameters (intermediate or discrete) -
String parameter:  -This parameter allows to choose the type of crossover (see above) that -will be applied to the mutation strategy -parameters that are part of the genotype. -Default -is intermediate. -

# --TauLoc=1 # -l : Local -Tau (before normalization) -
Floating-point parameter: -The local factor for the mutation of the mutation strategy parameters (the -only one used when a single standard deviation is used). Default -is 1. -

# --TauGlob=1 # -g : Global -Tau (before normalization) -
Floating-point parameter: -The global factor for the mutation of the mutation strategy parameters -(only useful when more than one standard deviation are used). Default -is 1. -

# --Beta=0.0873 # -b : Beta -
Floating-point parameter: -The factor for the mutation of the rotation angles in the case of the full -correlated mutation. Default is 0.0873 -(following Schwefel). -

-


-
Programmer's -guide -

At the moment, you will have to browse in the source (colored!) code -(Bit - Real) almost by yourself, sorry. -

Note that the main file is now very slim, as it only contains calls -to some make_xxx -functions - these functions contain the actual code, very similar to the -code of Lesson3, except for the memory management, performed through an -eoState -object (notice that all make_xxx -calls have an eoState as second parameter). -

Programmer's guide: The -make_xxx files -

Interface: all make_xxx -files have as first two parameters an eoParser -and an eoState. -The eoParser -is be used within all functions to parse the command-line and/or a parameter -file in order to read any relevant user-parameter, while the eoState -is used here to store all pointers to be allocated inside the function -(see Programming hints for more -detailed explanations). -

There are 2 types of make_xxx -files: the ones that do depend on representation, defining the genotype -and -initialization -(make_genotype_xxx, -with xxx being the type of genotype) and variation operators (make_op_xxx), -and the one that are truly representation-independent (make_pop, -make_continue, make _checkpoint, make_algo and -make_run). -
The former are located in the directory corresponding to the actual -genotype (src/ga -for eoBit, src/es -for eoReal and all eoESxxx genotypes). The latter are in the directory -src/do. -

If you take a close look at the code of make_continue -for instance, you will first notice that ... the function declared there -is called do_make_continue -and is not the one you are calling in -the main file, though it has the same parameters as arguments. -
The explanation lies within the file make_continue_xxx.cpp -(with xxx = ga or real/es)which, as its color (and name)  should have -told you about, are representation-dependent: in fact the make_continue_xxx.cpp -files only instanciates the general <EOT> template into one of the possible -template for eoBit or eoReal/eoES - and this trick allows to compile -them separately! -

The other thing that you should notice is that the code there is very -similar to the code that was in Lesson 3,  regarding parameter reading -and type of object that are allocated - except for memory management. This -goes for all make_xxx -files - so the only thing you need to understand how it goes is to look -at the memory management section. -

Pros: you don't have to handle a -huge main function - and many of the make_xxx files can be directly used -in different applications (this is called modularity -:-))) -
More interesting, you can even compile -the make_xxx -files separately for a given target -template, and link them e.g. with your fitness function when it is ready -(remember that up to now you needed to compile everything altogether by -including the code into your mail fine). Indeed, if you do a global make, -you will notice that there are additional libraries compiled in src/ga -and src/es -... -

Cons: It makes the code a little -more complex to understand, first because of the indirection needed for -pre-compilation with a given template, and second because of the memory -management that this imposes. -
  -
  -

Programmer's -guide: Memory management -
As already said, all functions have an eoState -as second argument - and that object is used to store the functor objects -that were simply declared as variables of the main function up to now : -see Programming hints for more -detailed explanations and take a look at the code of make_continue -for instance, you will see the implementation of the memory management -in action. -

Programmer's -guide: Memory management -of eoParam objects -

It has been seen in Lesson 3 that parameters could be read from command-line -and/or a parameter file using an eoParser -object. However, the memory mangement problem also concerns EO parameter -objects (eoParam): -the way there are read in Lesson3 -makes them local variables of the function they are defined in. -
It is however possible to ask the eoParser -to hold them, as done for instance in eoContinue for the maximum number -of generations. Local declaration would amount to something like : -

eoValueParam<unsigned -int>& maxGenParam(100, "maxGen", "Maximum number of generations () -= none)",'G'); -
 parser.processParam( -maxGenParam, "Stopping criterion" ); -
 unsigned maxGen = -maxGenParam.value(); -

while if you want the parser to hold those eoParam objects, you will -write something like -

eoValueParam<unsigned>& -maxGenParam = _parser.createParam(unsigned(100), "maxGen", "Maximum number -of generations () = none)",'G',"Stopping criterion"); -

and then use maxGenParam.value() -to get the value enterred by the user. In that case, you get a reference -to an eoParam object that is hold by the eoParser - and deleted whith it. -
Note that there are two important differences -between the arguments of the constructor of an eoParam object and the method -createParam of an eoParser object: first, you need to provide the additional -section parameter (used only when outputting the eoParser); second you -must -make sure that the first argument is of the correct type otherwise the -compiler will complain. -

Note that if you don't later need the eoParam, but simply its value, -you can even diretly write -

unsigned maxGen = _parser.createParam(unsigned(100), -"maxGen", "Maximum number of generations () = none)",'G',"Stopping criterion").value(); -

Getting parameter values in different -functions: -

It is often useful (though probably very bad -programming style :-))) to be able to get the value of a user-defined -parameter in two different places of the code without passing it around -through many levels of call. You can then use the alternate function getORcreateParam -with exactly the same syntax than createParam. -
Be careful that the link between both parameters is made through their -longmanes (second argument), and that you must so hard-code -that name in two different places with of course exactly the same spelling!!! -
Examples can be found for instance -in the make_genotype_xxx files, for the sizes of the genotypes: it is often -the case that the definition of the optimization problem requires (or computes) -such size. The idea is then that you either read or compute that size, -then create a (dummy) parameter with the name that is used later in the -make_genotype file. For instance, for bitstrings, the make_genotype_ga.h -contains the following line defining the size of the bitstring -

  unsigned theSize = -_parser.getORcreateParam(unsigned(10), "chromSize", "The length of the -bitstrings", 'n',"Problem").value(); -

If you want to define that size earlier, you should write somewhere -before -
  -

  unsigned requiredSize  -= ... ; -
 _parser.createParam(requiredSize, -"chromSize", "The length of the bitstrings", 'n',"Problem"); -

Of course, if that size is mandatory, you should NOT modify it at run-time -by entering anther value ! -

-


User's guide: General -- Bitstring - Real - ES -- Programmer's guide: General -- Memory management - Parameters -
-
Lesson -3 - -Lesson 5 - -Main -page - -Algorithm-Based - Component-Based -- Hints - EO -documentation -
-
-
-Marc Schoenauer
- -
Last -modified: None of your business! - - diff --git a/eo/tutorial/html/eoLesson5.html b/eo/tutorial/html/eoLesson5.html deleted file mode 100644 index fcb025784..000000000 --- a/eo/tutorial/html/eoLesson5.html +++ /dev/null @@ -1,415 +0,0 @@ - - - - - - Tutorial: Lesson 5 - - -Lesson 4 - -Lesson -6 - -Main page - -Algorithm-Based -- Component-Based - Hints -- EO -documentation -
-
-
-

-Tutorial Lesson 5: using your own genotype

-In this lesson, you will learn how to design and evolve your -own genotype structure. Note that at the moment, only algorithms -involving a scalar fitness (double) are implemented (see test dir for Pareto -optimization of multiple-objective fitness - or be patient :-) -

The minimum code you'll have to write is first, of course, the code -for the genotype structure. Then, the representation-dependent -code: intialization procedure(s), -variation -operators (quadratic crossover, mutation operator), ... and evaluation -function - and that's it : we have prepared some template files and -the script create.sh that will take care of generating a few other files -to make your application complete. -

In what follows, we will suppose that you want to evolve some data structure, -and that you have enough programming skills to be able to write C code -for its random initilialization, its crossover, its mutation and the computation -of its fitness. -
The examples will be described supposing you want to evolve ... bitstings -to solve the OneMax problem (oh no!!!). -

- -New May 2004 : A -second script, createSimple, - was added some time ago, that generates much simpler -set of files, and the stat.tmpl -file is now used to allow you to -compute and -print and -save-to-disk and -plot-on-line your -own statistics. -But you'll have to find out by yourself how those work, sorry, no -time. It should be easy by just looking at the code (in main file, and -in OneMaxEA.cpp -and the newly created -eoOneMaxStat.h.

- -New May 2004 : In -the same simplified main file (e.g. OneMaxEA.cpp after running -./createsimple OneMax in -dir .../eo/tutorial/Templates), you -will also be able to use fitness sharing (together with roulette) as a -possible selector. - - -


Using -template files -
Follow this very simple procedure: -
    -
  • -choose a name for you application - -here OneMax will be used
  • - -
  • -go to the tutorial/Templates -dir
  • - -
           cd -pathWhereEOisInstalled/tutorial/Templates -
  • -run the create.sh script with -argument OneMax and second optional argument  a directory name (suppose -it's called APPLICATION here)
  • - -
              -./create.sh OneMax APPLICATION -
    This will create a directory tutorial/APPLICATION -
  • -Go to the APPLICATION directory
  • - -
              -cd ../APPLICATION -
    You should see the following files: -
        OneMaxEA.cpp           -the main main file, includes all other, to be compiled -
        Makefile               -with default target eoOneMaxEA -
        eoOneMax.h             -class eoOneMax, the genotype -
        eoOneMaxEvalFunc.h     - -class for the computation of fitness -
        eoOneMaxInit.h         -class for genotype initlialization -
        eoOneMaxMutation.h     -class for mutation -
        eoOneMaxQuadCrossover.h -class -for (quadratic) crossover -
        make_genotype_OneMax.h - -helper function that create the initializer -
        make_op_OneMax.h       -helper function that handles the rates of application of -the variation operators
    -    OneMaxLibEA.cpp        -another main file, for separate compilation of representation-independent -stuff -
        make_OneMaxEA.cpp      -the source for the representation-independent stuff -
      -
  • -Compile the whole application
  • - -
             -make -
    and you should have no error there and see a new executable file named -OneMaxEA. -You can run it and ... it will do nothing (what did you expect???).
    -
    -
  • -Now you should go and edit the files. The minimal  changes that you -will need are
  • - -
       in eoOneMax.h               -define your genotype -
       in eoOneMaxInit.h           -define the initialization of one genotype -
       in eoOneMaxMutation.h       - -define the mutation of one genotype -
       in eoOneMaxQuadCrossover.h  - -define the crossover of 2 genotypes
-Smooth application building: -
    -
  • -After editing a particular file, compile -the whole thing immediately (by running make) and -run the algorithm, to validate your code
  • - -
  • -In each file, start by only adding code between keyword-pairs START -and END
  • -
-We shall now take a look in turn at the 4 files mentionned above, then -describe rapidly the other files, especially the main files. -
-
Genotype -- and its pre-requisites: eoOneMax.h -

First thing is to write the code for the structure -of the genotype. This is done by filling in the template file -eoOneMax.h. -There are 4 places that you should consider filling in: -

    -
  • -Of course, the data that will build up -the genotype. The convention in EO is to have it at the end of the class -definition, and as private data.
  • - -
  • -The default constructor of an instance. -Note that you must provide a default constructor, -and that no other constructor will be called within EO code. you might -think you need some other constructor to initialize problem-specific data. -This should be rather done in the eoInit object used to randomly initialize -all individuals, or in the eoEvalFunc object, used to compute the fitness.
  • - -
  • -The printOn method, that writes the object -to a stream. You must -call the EO::printOn method that will take care of the fitness, -and then write the specific code for your data structure.
  • - -
  • -The readFrom method, that will read an -object from a stream. Again, you should call the -EO::readFrom method first to take care of the fitness.
  • - -
    Also note that readFrom will be generally called from an object that -will have been constructed through the default constructor. This is why -the EO objects that we provide always start printing structures with their -length...
-You can of course also add a destructor -if needed, and any other helper method. For instance, you will probably -consider adding accessors and setters -for the private data - unless you prefer to make everything public :-( -
See now an example of a comple eoOneMax.h -file. Note that this is the only "colored" completed file we will show, -you will have to go to the .../tutorial/OneMax -dir to browse all files at once. -
-
Initialization: -

Initializer: eoOneMaxInit.h -
You must provide an eoInit -object for your genotype, that is an object that will randomize -a genotype built by the default constructor of the EO class -(here, an eoOneMax object) . Here you must at least fill the -code for such randomization. -
But you might also need some parameters (e.g. the size of the bitstring -in eoOneMax): you should then pass -them through the constructor of the eoOneMaxInit class, and store -it in its private data. -
And of course you might need to add a destructor (no example here) -if you use complex data type in the object. -

Parameters: make_genotype_OneMax.h -
There is another file you will probably want to modify as far as initialization -is concerned, that is make_genotype_OneMax.h. -Such helper files are used for all components of advanced EO programs (see -Lesson 4). The main reason for that is to allow separate compilation of -such sub-components for known EO types, as this is done in the directories -src/ga and src/es. But a useful consequence is to make your code modular. -For instance, the make_genotype_OneMax.h -file takes care of all the preparation of all data regarding the eoInit -object - and returns to the main fonction a reference to an eoInit that -will later be used to initialize the whole -population in a representation-independent way. -
What you have to do in that file is to set values for all parameters -needed by the eoOneMaxInit class, for instance by reading them from the -parser: this allows later to modify them easily from the command-line. -Note however that an alternative could be to pass the parser to the constructor -of the eoOneMaxInit class, and to read all parameters there... -
Note: Remember that the make_xxx -files were first introduced to allow the user to compile sepearately most -of the code of standard Evolutionary Algorithm written in EO for bitstring -and real vector representations ( -
-


Evaluation: -eoOneMaxEvalFunc.h -

The eoOneMaxEvalFunc is -the object that will compute the fitness of an -eoOneMax object. You have to fill in the code -for the computation of the fitness value (there is no way that this -can be done automatically :-) Note that this code must  be run only -if the _eo.invalid() test -returns true, to avoid computing the fitness of an object that has not  -been modified and thus still holds a valid fitness value. After computing -the fitness, store it into the object by calling the fitness(FitnessType) -method. -
Should you need some specific data for that, the constructor -of the object is the place to get such data, and you should, again, -store it in some private data -of the class. -
-


Variation -Operators -
You can write as many crossover and mutation operators as you like. -However, we only provide the template files for quadratic -crossover and mutation, but -you could then easily write the equivalent code for binary crossover, or -general variation operator. -

Crossover: eoOneMaxQuadCrossover.h -
As usual, you must go and write the code -for the operator() that will perform the crossover, possibly modifying -both arguments. Don't forget to update the boolean -parameter that will report whether the genotypes have been modified -- allowing to recompute the fitness only of the ones that have actually -been modified. You can also have parameters -to the crossover by passing -them to the constructor, ans storing them in the private -data of the crossover object. -

Mutation: eoOneMaxMutation.h -
Here again, you must go and write the code for the operator() that -will perform the mutation, eventually modifying its arguments. Don't forget -to update the boolean parameter that -will report whether the genotype has been modified - allowing to recompute -the fitness only of the ones that have actually been modified. You can -also have parameters to the mutation -by passing them to the constructor, -ans storing them in the private data -of the mutation object. -

Parameters: make_op_OneMax.h -
First of all, if you intend to use only one -crossover operator and one mutation -operator, you have nothing to modify -in make_op_OneMax function, except maybe -reading user-defined parameters (copy the code from make_genotype_OneMax) -and passing them to the appropriate -operator constructor. -
As it is written now, it allows you enter a crossover probability Pcross -and a mutation probability Pmut, -and to build an eoGeneralOp that will call in sequence the eoOneMaxQuadCrossover -that is defined above with probability Pcross -and the eoOneMaxMutation also -defined above with probability Pmut.  -Beware that all allocated objects must be stored in the eoState otherwise -you will run into trouble (see EO Memory -Management explanations). -

However, everything is there (commented out) to allow you to use more -than one crossover and one mutation -- provided you write the code for them , of course. -

The code starts by defining an eoOneMaxQuadCrossoverobject, -then reads some application rate that is totally useless if you have only -one crossover, then creates an eoPropCombinedQuadOp -with this simple oeprator. The same story repeats for the mutation. Finally, -the eoGeneralOp -is created from those combined operators and the individulal level probabilities -Pcross -and  Pmut. -

In order to add a second crossover operator for instance (called eoOneMaxSecondCrossover -in the commented code) all you need to is -

    -
  • -Create the code for the new class  eoOneMaxSecondCrossover: -simply copy the eoOneMaxQuadCrossover.h -file into eoOneMaxSecondCrossover.h  -and change all names eoOneMaxQuadCrossover -to  eoOneMaxSecondCrossover (inlcluding -after the #ifdef statement!!!);
  • - -
  • -Uncomment the corresponding lines -in make_op_OneMax.h, possibly adding user-defined parameter reading
  • - -
  • -Repeat as many times as you have operators, using of course different names! -The same recommendations hold for mutations.
  • -
-In case you have more than one operator of a kind, then of course the relative -weights of application do make sense, allowing you to tune with command-line -parameters the proportion with which each operator that will be applied. -

-


Main -files: OneMaxEA.cpp -and OneMaxLibEA.cpp -

As a start, you should only (eventually) modify in OneMaxEA.cpp -the type of fitness you -will be handling, namely double -if you are maximizing, or eoMinimizingFitness -if you are minimizing. Then running -make will result in a perfectly -valid executable named OneMaxEA. -

The skeleton of the main file here mimics that of the main file in -Lesson4, -and uses the make_xxx separate -files construct: the part of an Evolutionary Algorithm related to the -evolution -engine is indepenent of the representation, -and can be directly used ... provided it is compiled with the right template -(remember everything in EO is templatized -over the EO objects it handles.  Main file OneMaxEA.cpp -is written so that it includes eveything - and thus everytime you run make -(or make OneMaxEA), you compile -the code for make_pop, make_continue and make_checkpoint that is defined -in the .../src/do directory. -

The basic construct is (for instance to build the evolution engine) -
  - - - - -
#include <do/make_algo_scalar.h> -
eoAlgo<Indi>&  make_algo_scalar(eoParser& -_parser, eoState& _state, eoEvalFunc<Indi>& _eval, eoContinue<Indi>& -_continue, eoGenOp<Indi>& _op) -
{ -
 return do_make_algo_scalar(_parser, -_state, _eval, _continue, _op); -
}
-First, include the code (from the do directory). Then define the make_xxx -function from the do_make_xxx function. -
Of course, such construct is stupid here, as you could perfectly call -directly the do_make_xxx function in the main. However, if you ever want -to do separate compilation of some parts, you will need such construct -(see Lesson4) so we have kept it here for -consistency reasons. -

Go in your application directory, and look at the differences between -both files and you'll see how this is handled in both cases. -

Reducing compilation time: -
However, we also provide another main file (OneMaxLibEA.cpp)that -only includes the code that is specific to your application, and is supposed -to be linked with another object file that will contain the code that is -representation independent (make_OneMax.cpp).  -This is done by running make OneMaxLibEA -on the command-line. -
For example, on a PentiumIII 400MHz with g++ 2.96, compiling OneMaxEA -takes about 33s, compiling both make_OneMax.o -and OneMaxLibEA takes about -54s but compiling only OneMaxLibEA -takes only 14s  make_OneMax.o -is up-to-date ... -

Hints: -
While developping the genotype structure itself in file eoOneMax.h, -you should use the OneMaxEA.cpp -file. But after the eoOneMax.h -file is frozen, you should use the eoOneMaxLibEA.cpp -file. Of course, both  resulting programs are strictly identical! -

-


Lesson -4 - -Lesson 6 - -Main -page - -Algorithm-Based - Component-Based -- Hints - EO -documentation -
-
-
-Marc Schoenauer
- - - diff --git a/eo/tutorial/html/eoOneMax.html b/eo/tutorial/html/eoOneMax.html deleted file mode 100644 index 8f8cfb03e..000000000 --- a/eo/tutorial/html/eoOneMax.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - Templates/eoOneMax.h - - -Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-
-

-Templates/eoOneMax.h

-The places where you have to put some code are on pink -background.. Only the the character -colors have the usual meaning. -
- - - - -
/** -*- mode: c++; c-indent-level: -4; c++-member-init-indent: 8; comment-column: 35; -*- -
The above line is usefulin Emacs-like editors -
*/ -
/* -
Template for creating a new representation -in EO -
================================================ -
*/ -
#ifndef _eoOneMax_h -
#define _eoOneMax_h -
/**  -
*  Always write a comment in this format -before class definition -
*  if you want the class to be documented -by Doxygen -
* Note that you MUST derive your structure -from EO<fitT> -
* but you MAY use some other already prepared -class in the hierarchy -
* like eoVector for instance, if you handle -a vector of something.... -
* If you create a structure from scratch, -
* the only thing you need to provide are  -
*              -a default constructor -
*              -IO routines printOn and readFrom -
* -
* Note that operator<< and operator>> -are defined at EO level -
* using these routines -
*/
- - - - - -
template< class FitT> -
class eoOneMax: public EO<FitT> { -
public: -
  /** Ctor: you MUST provide -a default ctor. -
   * though such individuals will -generally be processed  -
   * by some eoInit object -
   */ -
 eoOneMax()  -
 { 
- - - - - -
      -// START Code of default Ctor of an eoOneMax object -
      // -END    Code of default Ctor of an eoOneMax object
- - - - - -
 } -

 virtual ~eoOneMax() -
 {

- - - - - -
      -// START Code of Destructor of an eoEASEAGenome object -
      // -END    Code of Destructor of an eoEASEAGenome object
- - - - - -
 } -

 virtual string className() const -{ return "eoOneMax"; } -
 

- - - - - -
  /** printing... */ -
 void printOn(ostream& os) const -
 { -
      // -First write the fitness -
     EO<FitT>::printOn(os); -
     os << ' -';
- - - - - -
      -// START Code of default output  -

/** HINTS -
* in EO we systematically write the sizes -of things before the things -
* so readFrom is easier to code (see below) -
*/ -

      // END    -Code of default output

- - - - - -
     } -

  /** reading...  -
   * of course, your readFrom must -be able to read what printOn writes!!! -
   */ -
 void readFrom(istream& is) -
 { -
      // -of course you should read the fitness first! -
     EO<FitT>::readFrom(is);

- - - - - -
      -// START Code of input -

/** HINTS -
* remember the eoOneMax object will come -from the default ctor -
* this is why having the sizes written out -is useful -
*/ -

      // END    -Code of input

- - - - - -
 } -
 
- - - - - -
private:     // -put all data here
- - - - - -
      // -START Private data of an eoOneMax object -
      // -END    Private data of an eoOneMax object
- - - - - -
}; -

#endif

- -
Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
- -
Last modified: Fri May -3 06:06:09 2002 - - diff --git a/eo/tutorial/html/eoOneMaxEvalFunc.html b/eo/tutorial/html/eoOneMaxEvalFunc.html deleted file mode 100644 index 4d6eefbff..000000000 --- a/eo/tutorial/html/eoOneMaxEvalFunc.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - Templates/eoOneMaxEvalFunc.h - - -Back to Lesson 5 -- Tutorial main page - Top-Down -page - Bottom-up page - Programming -hints - EO -documentation -
-
-
-

-Templates/eoOneMaxEvalFunc.h

-The places where you have to put some code are on pink -background.. Only the the character -colors have the usual meaning. -
- - - - -
/** -*- mode: c++; c-indent-level: -4; c++-member-init-indent: 8; comment-column: 35; -*- -

The above line is usefulin Emacs-like editors -
*/ -

/* -
Template for evaluator in EO, a functor that -computes the fitness of an EO -
========================================================================== -
*/ -

#ifndef _eoOneMaxEvalFunc_h -
#define _eoOneMaxEvalFunc_h -

// include whatever general include you need -
#include <stdexcept> -
#include <fstream> -

// include the base definition of eoEvalFunc -
#include "eoEvalFunc.h" -

/**  -
 Always write a comment in this format -before class definition -
 if you want the class to be documented -by Doxygen -
*/

- - - - - -
template <class EOT> -
class eoOneMaxEvalFunc : public eoEvalFunc<EOT> -
{ -
public: -
/// Ctor - no requirement
- - - - - -
// START eventually -add or modify the anyVariable argument -
 eoOneMaxEvalFunc() -
  //  eoOneMaxEvalFunc( -varType  _anyVariable) : anyVariable(_anyVariable)  -
// END eventually add or modify the anyVariable -argument
- - - - - -
 {
- - - - - -
      // -START Code of Ctor of an eoOneMaxEvalFunc object -
      // -END    Code of Ctor of an eoOneMaxEvalFunc object
- - - - - -
 } -

  /** Actually compute the fitness -
   * -
   * @param EOT & _eo the EO -object to evaluate -
   *                                  -it should stay templatized to be usable  -
   *                                  -with any fitness type -
   */ -
 void operator()(EOT & _eo) -
 { -
      // -test for invalid to avoid recomputing fitness of unmodified individuals -
     if (_eo.invalid()) -
         -{ -
double fit;     -// to hold fitness value

- - - - - -
      -// START Code of computation of fitness of the eoOneMax object -
// fit = blablabla -
      // -END    Code of computation of fitness of the eoOneMax object
- - - - - -
_eo.fitness(fit); -
         -} -
 } -

private:

- - - - - -
// START Private data -of an eoOneMaxEvalFunc object -
  //  varType anyVariable;    -// for example ... -
// END    Private data of -an eoOneMaxEvalFunc object
- - - - - -
}; -
#endif
- -
Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
- -
Last modified: Fri May -3 06:14:25 2002 - - diff --git a/eo/tutorial/html/eoOneMaxInit.html b/eo/tutorial/html/eoOneMaxInit.html deleted file mode 100644 index 07475be6f..000000000 --- a/eo/tutorial/html/eoOneMaxInit.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - Templates/eoOneMaxInit.h - - -Back to Lesson 5 - -Tutorial main page - Top-Down -page - Bottom-up page - Programming -hints - EO -documentation -
-
-
-

-Templates/eoOneMaxInit.h

-The places where you have to put some code are on pink -background.. Only the the character -colors have the usual meaning. -
- - - - -
/** -*- mode: c++; c-indent-level: -4; c++-member-init-indent: 8; comment-column: 35; -*- -
The above line is usefulin Emacs-like editors -
*/ -

/* -
Template for EO objects initialization in -EO -
============================================ -
*/ -

#ifndef _eoOneMaxInit_h -
#define _eoOneMaxInit_h -

// include the base definition of eoInit -
#include <eoInit.h> -

/**  -
*  Always write a comment in this format -before class definition -
*  if you want the class to be documented -by Doxygen -
* -
* There is NO ASSUMPTION on the class GenoypeT. -
* In particular, it does not need to derive -from EO (e.g. to initialize  -
*      atoms of -an eoVector you will need an eoInit<AtomType>) -
*/

- - - - - -
template <class GenotypeT> -
class eoOneMaxInit: public eoInit<GenotypeT> -{ -
public: -
/// Ctor - no requirement
- - - - - -
// START eventually -add or modify the anyVariable argument -
 eoOneMaxInit() -
  //  eoOneMaxInit( varType  -_anyVariable) : anyVariable(_anyVariable)  -
// END eventually add or modify the anyVariable -argument
- - - - - -
 {
- - - - - -
      // -START Code of Ctor of an eoOneMaxInit object -
      // -END    Code of Ctor of an eoOneMaxInit object
- - - - - -
 } -

  /** initialize a genotype -
   * -
   * @param _genotype  generally -a genotype that has been default-constructed -
   *                                    -whatever it contains will be lost -
   */ -
 void operator()(GenotypeT & -_genotype) -
 {

- - - - - -
      -// START Code of random initialization of an eoOneMax object -
      // -END    Code of random initialization of an eoOneMax object
- - - - - -
     _genotype.invalidate();     -// IMPORTANT in case the _genotype is old -
 } -

private:

- - - - - -
// START Private data -of an eoOneMaxInit object -
  //  varType anyVariable;    -// for example ... -
// END    Private data of -an eoOneMaxInit object
- - - - - -
}; -

#endif

- -
Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
- -
Last modified: Fri May -3 06:17:21 2002 - - diff --git a/eo/tutorial/html/eoOneMaxMutation.html b/eo/tutorial/html/eoOneMaxMutation.html deleted file mode 100644 index 5181567ff..000000000 --- a/eo/tutorial/html/eoOneMaxMutation.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - eoOneMaxMutation.h - - -Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-
-

-eoOneMaxMutation.h

-The places where you have to put some code are on pink background. -Only the the character colors have the usual meaning. -
  - - - - - -
-/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-The above line is useful in Emacs-like editors
- */
-/*
-Template for simple mutation operators
-======================================
-*/
-#ifndef eoOneMaxMutation_H
-#define eoOneMaxMutation_H
-#include <eoOp.h>
-/**
- *  Always write a comment in this format before class definition
- *  if you want the class to be documented by Doxygen
- *
- * THere is NO ASSUMPTION on the class GenoypeT.
- * In particular, it does not need to derive from EO
- */
-
-
- - - - -
- -template<class GenotypeT>
-class eoOneMaxMutation: public eoMonOp<GenotypeT>
-{
-public:
-  /**
-    * Ctor - no requirement
-    */
-
-
- - - - -
- -// START eventually add or modify the anyVariable argument
-  eoOneMaxMutation()
-  //  eoOneMaxMutation( varType  _anyVariable) : anyVariable(_anyVariable)
-// END eventually add or modify the anyVariable argument
-
-
- - - - -
- -  {
-
-
- - - - -
- -      // START Code of Ctor of an eoOneMaxEvalFunc object
-      // END    Code of Ctor of an eoOneMaxEvalFunc object
-
-
- - - - -
- -  }
-  /// The class name. Used to display statistics
-  string className() const { return "eoOneMaxMutation"; }
-  /**
-    * modifies the parent
-    * @param _genotype The parent genotype (will be modified)
-    */
-  bool operator()(GenotypeT & _genotype)
-  {
-      bool isModified;
-
-
- - - - -
- -      // START code for mutation of the _genotype object
-            /** Requirement
-* if (_genotype has been modified)
-*        isModified = true;
-* else
-*        isModified = false;
-*/
-      return isModified;
-      // END code for mutation of the _genotype object
-
-
- - - - -
- -  }
-private:
-
-
- - - - -
- -// START Private data of an eoOneMaxMutation object
-  //  varType anyVariable;    // for example ...
-// END    Private data of an eoOneMaxMutation object
-
-
- - - - -
- -};
-#endif
-
-
Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
-
Last -modified: Wed May 1 07:18:00 2002 - - - diff --git a/eo/tutorial/html/eoOneMaxQuadCrossover.html b/eo/tutorial/html/eoOneMaxQuadCrossover.html deleted file mode 100644 index a91a653ea..000000000 --- a/eo/tutorial/html/eoOneMaxQuadCrossover.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - Templates/eoOneMaxQuadCrossover.h - - -Back to Lesson -5 - Tutorial main page - Top-Down -page - Bottom-up page - Programming -hints - EO -documentation -
-
-
-

-Templates/eoOneMaxQuadCrossover.h

-The places where you have to put some code are on pink -background.. Only the the character -colors have the usual meaning. -
- - - - -
/** -*- mode: c++; c-indent-level: -4; c++-member-init-indent: 8; comment-column: 35; -*- -
The above line is usefulin Emacs-like editors -
*/ -
/* -
Template for simple quadratic crossover operators -
================================================= -
Quadratic crossover operators modify the -both genotypes -
*/ -

#ifndef eoOneMaxQuadCrossover_H -
#define eoOneMaxQuadCrossover_H -

#include <eoOp.h> -

/**  -
*  Always write a comment in this format -before class definition -
*  if you want the class to be documented -by Doxygen -
* -
* THere is NO ASSUMPTION on the class GenoypeT. -
* In particular, it does not need to derive -from EO -
*/

- - - - - -
template<class GenotypeT>  -
class eoOneMaxQuadCrossover: public eoQuadOp<GenotypeT> -
{ -
public: -
  /** -
   * Ctor - no requirement -
   */
- - - - - -
// START eventually -add or modify the anyVariable argument -
 eoOneMaxQuadCrossover() -
  //  eoOneMaxQuadCrossover( -varType  _anyVariable) : anyVariable(_anyVariable)  -
// END eventually add or modify the anyVariable -argument
- - - - - -
 {
- - - - - -
      // -START Code of Ctor of an eoOneMaxEvalFunc object -
      // -END    Code of Ctor of an eoOneMaxEvalFunc object
- - - - - -
 } -

  /// The class name. Used to -display statistics -
 string className() const { return -"eoOneMaxQuadCrossover"; } -

  /** -
   * eoQuad crossover - modifies -both parents -
   * @param _genotype1 The first -parent -
   * @param _genotype2 The second -parent -
   */ -
 bool operator()(GenotypeT& _genotype1, -GenotypeT & _genotype2)  -
 { -
     bool oneAtLeastIsModified;

- - - - - -
      -// START code for crossover of _genotype1 and _genotype2 objects -
            -/** Requirement -
* if (at least one genotype has been modified) -// no way to distinguish -
*        -oneAtLeastIsModified = true; -
* else -
*        -oneAtLeastIsModified = false; -
*/ -
     return oneAtLeastIsModified; -
      // -END code for crossover of _genotype1 and _genotype2 objects
- - - - - -
 } -

private:

- - - - - -
// START Private data -of an eoOneMaxQuadCrossover object -
  //  varType anyVariable;    -// for example ... -
// END    Private data of -an eoOneMaxQuadCrossover object
- - - - - -
}; -

#endif

- -
Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
- -
Last modified: Fri May -3 07:47:13 2002 - - diff --git a/eo/tutorial/html/eoOneMax_complete.html b/eo/tutorial/html/eoOneMax_complete.html deleted file mode 100644 index 0c6c24680..000000000 --- a/eo/tutorial/html/eoOneMax_complete.html +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - Templates/eoOneMax_complete.h - - -Back to Lesson 5 -- Tutorial main page - Top-Down -page - Bottom-up page - Programming -hints - EO -documentation -
-
-
-

-Templates/eoOneMax_complete.h

-The user-defined code is on pink background.. -Only the the character colors have the -usual meaning. -

- - - - -
/** -*- mode: c++; c-indent-level: -4; c++-member-init-indent: 8; comment-column: 35; -*- -
The above line is usefulin Emacs-like editors -
*/ -

/* -
Template for creating a new representation -in EO -
================================================ -
*/ -

#ifndef _eoOneMax_h -
#define _eoOneMax_h -
 

- - - - - -
/**  -
* A simple example class for bitstring (is -NOT supposed to be used :-) -
*/
- - - - - -
- - - - - -
template< class FitT> -
class eoOneMax: public EO<FitT> { -
public: -
  /** Deafult Ctor: nothing to -be done */ -
 eoOneMax() {} -

 virtual string className() const -{ return "eoOneMax"; } -
 

- - - - - -
  /** printing... */ -
     void printOn(ostream& -_os) const -
     { -
          -// First write the fitness -
         -EO<FitT>::printOn(_os); -
         -_os << ' ';
- - - - - -
         -_os << b.size() << ' ' ; -
         -for (unsigned i=0; i<b.size(); i++) -
             -_os << b[i] << ' ' ;
- - - - - -
     } -

  /** reading...  -
   * of course, your readFrom must -be able to read what printOn writes!!! -
   */ -
 void readFrom(istream& _is) -
 { -
      // -of course you should read the fitness first! -
     EO<FitT>::readFrom(_is);

- - - - - -
     unsigned s; -
     _is >> s; -
     b.resize(s); -
     for (unsigned -i=0; i<s; i++) -
         -{ -
             -bool bTmp; -
             -_is >> bTmp; -
             -b[i] = bTmp; -
         -} 
- - - - - -
 }
- - - - - -
- - - - - -
  // brute setting (we could -also have defined a Ctor from a vector<bool>) -
 void setB(vector<bool> & -_b) -
 { -
     b=_b; -
 } -

  // brute accessing (we could -also define operator[] ...) -
 const vector<bool> & B() -
 { -
     return b; -
 }

- - - - - -
-
private:     // -put all data here
- - - - - -
 std::vector<bool> b;
- - - - - -
}; -

#endif

- -


Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
- -
Last modified: Sat May -4 06:02:46 2002 - - diff --git a/eo/tutorial/html/eoOperators.html b/eo/tutorial/html/eoOperators.html deleted file mode 100644 index 4de7b40fd..000000000 --- a/eo/tutorial/html/eoOperators.html +++ /dev/null @@ -1,818 +0,0 @@ - - - - - - Variation Operators - - -General: Algorithm-Based -- Component-Based - Programming -hints - EO -documentation -
-
-
Local: Introduction -- Crossover - Mutation -- Combinations - General -Operators - Populators - General -combinations- Advanced operators -
-
-
-

-Variation Operators

-Variation -Operators -
Variation operators modify the gnotype of individuals, or, equivalently, -move them in the search space. In Evolutionary Algorithms, varitaion operators -are almost always stochastic, i.e. -they are based on random numbers, or equivalently, perform random modifications -of their arguments. Variation operators are classified depending on the -number of arguments they use and/or modify. -
    -
  • -Variation operators involving two individuals -are called crossover operators. They can either -modify one of the parents according to the material of the other parent, -or modify both parents. In EO, the former are called Binary operators and -the latter Quadratic operators.
  • - -
  • -Variation operators involving one single individual -are called mutation operators.
  • - -
  • -Straightforward extensions of these simple operators allow to combine them: -in -proportional combinations, one operator -is chosen among a given set of operators of same arity according to some -weights.
  • - -
  • -In EO you can also define and use variation operators that generate any -number of offspring from any number of parents (sometimes termed orgy -operators). They are called general operators.
  • - -
  • -However, the interface of such operators was designed for their use inside -general -combinations: you can use proportional combination, -in which one operator is chosen among a given set of operators of same -arity according to some weights, as for simple operators except that operators -of different arities can be mixed, but you can also use sequential -combinations, where different operators  are applied in -turn with given probability. But you can also embed any of such combinations -at any depth.
  • - -
  • -The price to pay for that is that you must use an instermediate class to -access the individuals, the eoPopulator class.
  • - -
  • -Thanks to that class, it also become easy to design advanced -operators, such as crossover operators where the mate is chosen according -to sexual preference rather than fitness-based -preferences.
  • -
-Implementation -

The basic idea of EO variation operators is that they operate on genotypes -only. Hence there should be generally no reference to anything related -to the fitness within a variation operator. However, whenever the genotype -of an individual has been modified, it will be necessary to recompute its -fitness before any selection process. This is why all -variation operator return a bool that indicates whether or not -the genotype argument has been modified or not. -

EO classes for variation operators: -

- -
Simple -operators: Crossover -

The characteristic of crossover operators is that they involve two parents. -However, there are crossover operators that generate two parents, and some -that generate one parent only, and both types are available in EO. The -former type (2 --> 2) is termed quadratic crossover operator, and is implemanted -in the eoQuadOp class; the latter type -(2 --> 1) is termed binary operator and is implemanted in class eoBinOp. -Both classes are, as usual, templatized by the type of individual they -can handle (see documentation for eoBinOp -and eoQuadOp). -

Note: Whereas it is straightforward -to create a binary crossover operator from a quadratic one (by discarding -the changes on the second parent), the reverse might prove impossible (imagine -a binary crossover that simply merges the parents material: there is no -way to generate two new parents from that!). -

Interfaces: -
The general approach in EO about simple variation operators is to perform -in-place -modifications, i.e. modifying the arguments rather than generating -new (modified) individuals. This results in the following interfaces for -the functor objects eoBinOp and eoQuadOp: -

bool operator()(EOT & , const EOT &)         -for eoBinOp (note the const) -
bool operator()(EOT & , EOT & -)                       -for eoQuadOp -

which you could have guessed from the inheritance diagrams up to the -eoBF abstract class. You can also guess that only the first argument will -be modified by an oeBin object, while both arguments will be modified by -an eoQuad object. -

Using crossover operators: -
Directly applying crossover operators is straightforward from the interface -above: -
eoBinOpDerivedClass<Indi> myBinOp(parameters); -//  -use constructor to pass -
eoQuadOpDerivedClass<Indi> myQuadOp(parameters); -//  -any useful argument -
Indi eo1= ..., eo2= ...;   // -the candidates to crossover -
if (myBinOp(eo1, eo2)) -
   { ...               -// eo1 has been modified, not eo2 -
   } -
else ...               -// none has been modified -
if (myQuadOp(eo1, eo2)) -
   { ...               -// both eo1 and eo2 have been modified -
   } -
else ...               -// none has been modified -

However, you will hardly have to actually apply operators to individuals, -as operators are used within other classes, and are applied systematically -to whole sets of individuals (e.g. that have already been selected, in -standard generation-based evolutionary algorithms). -
Hence the way to use such operators will more likely ressemble this -if you are using for instance an SGA. See also the different ways that -are described below, encapsulating the operators into combined operators -objects. -

Writing a crossover -operator: -
There are three things to modify in the template class definitions -provided in the Templates directory for both binary -crossover and quadratic crossovers -(apart from the name of the class you are creating!) -

    -
  • -The constructor, where you pass to the object -any useful parameter (see the private data at end of class definition).
  • - -
  • -The operator() method, which performs the -actual crossover.
  • - -
  • -The return value, that should be true -as soon as at least one genotype has actually been modified. Otherwise, -the lazy fitness evaluation procedure in -EO might not know it should compute the fitness again and will keep the -old value.
  • -
- -
Simple -operators: Mutation -
Mutation operators modify one single individual. The corresponding -EO class is called eoMonOp. and it -si as usual templatized by the type of individual it can handle (see documentation -for eoMonOp). -

Interfaces: -
The general approach in EO about simple variation operators is to perform -in-place -modifications, i.e. modifying the arguments rather than generating -new (modified) individuals. This results in the following interface for -the functor objects eoMonOp: -

bool operator()(EOT & ) -

which you could have guessed from the inheritance diagrams up to the -eoUF abstract class. -

Using mutation operators: -
Directly applying mutation operators is straightforward from the interface -above: -
eoMonOpDerivedClass<Indi> myMutation(parameters); -//pass parameters in constructor -
Indi eo = ...;           -// eo is candidate to mutation -
if (myMutation(eo)) -
   { ...    // -eo has been modified -
   } -
else      // -eo has not been modified -

However, you will hardly have to actually apply operators to individuals, -as operators are used within other classes, and are applied systematically -to whole sets of individuals (e.g. that have already been selected, in -standard generational evolutionary algorithms). -
Hence the way to use such operators will more likely ressemble this -if you are using for instance an SGA. See also the different ways that -are described below, encapsulating the operators into combined operators -objects. -

Writing a mutation -operator: -
There are only two things to modify in the template -class definitions provided in the Templates directory (apart from the -name of the class you are creating!) -

    -
  • -The constructor, where you pass to the object -any useful parameter (see the private data at end of class definition).
  • - -
  • -The operator() method, which performs the -actual crossover.
  • - -
  • -The return value, that should be true -as soon as the genotype has actually been modified.  Otherwise, the -lazy -fitness evaluation procedure in EO might not know it should compute -the fitness again and will keep the old value.
  • -
- -
Combining -simple operators: proportional combinations -

The best thing to do is to go to the Lesson2 -of the tutorial, where everything is explained. You will find out how you -can use -
several mutations (respectiveley quadratic crossovers) as a single -operator: every time the operator is called, one of the available operators -is chosen by some roulette wheel selection using realtive weights. -

-


General -Operators -

General operators in EO are variation operators that are neither simple -mutations nor simple crossovers. They can involve any number of parents, -and create any number of offspring. Moreover, they can make use of different -ways to get the parents they will involve, e.g. they can use a different -selector for each of the parents they need to select. -

The corresponding EO class is called eoGenOp. -and it is as usual templatized by the type of individual it can handle -(see documentation for eoGenOp -:-) -

Interface: -
All the work a general operator is done within the apply() -method. WHy not in the usual operator() method? Because some memory management -are needed, that are performed in the base class itself - which then calls -the virtual apply() method. -The interface for a eoGenOp thus is -not deducible from its inheritance diagram, and actually is -

    void apply(eoPopulator<EOT>& -_plop) -

As you can see,the interface for eoGenOp -is based on that of another class, called eoPopulator. -An -eoPopulator -is a population, but also behaves like -an iterator over a population (hence -the name, Population-Iterator).  -However, please note that you should probably never use an eoGenOp alone, -but rather through objects of type eoOpContainer. -

This results in the following general interface for an eoGenOp: -It receives as argument an eoPopulator, -gets the individuals it needs using the operator*, -and must handle the positinning of the  using the ++operator -method (Warning: the operator++ -method is not defined, as recommended by many good-programming-style books). -

bool apply()(eoPopulator& -_pop) -
{ -
   EOT& parent1 = *_pop; -// -select the first parent -
   ++_plop;   // -advance once for each selected parents -
   ... -
   EOT& parentN = *_pop; -// -select the last parent -
       // -don't advance after the last one: _plop always -
            -// points to the last that has already been treated -

// do whatever the operator is supposed to -do -
} -

Warning: as said above, an eoPopulator -should always point to the last individual that has already been treated. -This is because it is intended to be used within a loop that looks like -(see e.g. eoBreeder -class): -

      eoSelectivePopulator<EOT> -popit(_parents, _offspring, select);    // eoSelect -is an eoSelectOne -
      while (_offspring.size() -< target) -
          -{ -
               -op(popit); -
              -++it; -
          -} -

What happens next? Well, it all -depends on how many parents and how many offspring your general op needs: -

    -
  • -If the number of generated offspring is equal -to the number of parents, the operator simply needs to modify them (they -are passed by reference, no useless copy takes place).
  • - -
  • -If the operator produces more offspring than there -were parents, it needs to insert them into the list using the insert -method of the class eoPopulator as -in the following:
  • - -
      -

      -

    void apply()(eoPopulator& -_pop) -
    { -
      // get the necessary number -of parents (see above) -
      ... -
      // Now create any supplementary offspring -
      EOT ofs1 = create_individual(...); -
      ... -
      EOT ofsK = create_individual(...); -
      // advance and inserts offspring in -_pop after parentN -
      ++_pop; -
      _pop.insert(ofs1); -
      ... -

      // invalidate the parents that -have been modified -
      parent1.invalidate(); -
      ... -
      parentN.invalidate(); -
    }   // over -

    Of course the size of the resulting population will grow - and you should -have a replacement procedure that takes care of that. -
      -

  • -The case where more parents are needed than offspring -will be created is a little more delicate: think about eoBinOp, -and try to imagine the reasons why no crossover of that class are used -in the first lessons of the tutorial, within the SGA framework.
  • - -
    There are two possibilities: -
      -
    • -If you think "generational", the first idea is to get the parents from -outside the curent list, so the total number of (intermediate) offspring -is always equal to the initial population size. By chance, the eoPopulatorhas -a handle on the initial population that was used to start the process, -and you can access it from inside the GenOp method. For instance
    • - -
        -

        -

      void apply()(eoPopulator& -_pop) -
      { -
        // get as many parents as you -will have offspring (see above) -
        ... -
        // get extra parents - use -private selector -
        const EOT& parentN+1 = select(_pop.source()); -
        ... -
        const EOT& parentM = select(_pop.source()); -
        // do whatever needs to be done -
        ... -
        // and of course invalidate fitnesses -of remaining modified parents -
        parent1.invalidate(); -
        ... -
        parentN.invalidate(); -
      } -
      where select is any selector you like. Note the -const: you are not allowed to modify an element of the original -population (but you could of course have copied it!). As usual, the select -selector was passed to the operator at construct time. This typically allows -one to use a different selector for one parent and the others, as demonstrated -here. -
        -

    • -If you don't care about the size of the offspring population (that is, -if that size os controlled elsewhere, e.g. in some external loop), you -can use the inbedded select method of the class eoPopulator. -For instance
    • - -
        -

        -

      void apply()(eoPopulator& -_pop) -
      { -
        // get as many parents as you -will have offspring (see above) -
        ... -
        // get extra parents - use -populator selector -
        const EOT& parentN+1 = _pop.select(); -
        ... -
        const EOT& parentM = _pop.select(); -
        // do whatever needs to be done -
        ... -
        // and of course invalidate fitnesses -of remaining modified parents -
        parent1.invalidate(); -
        ... -
        parentN.invalidate(); -
      }

    -
-Warning: if you use operators that -have different number of parents than offspring, you are deviating from -the simple generational approach. Be careful to have the proper replacement -procedure to take care of the population size: in most instances of algorithms -that come within EO, this is enforced (an exception is thrown if population -size varies from one genertaion to the other) but this might not be true -for all forthcoming EO algorithms. -

Using general operators: -
Directly applying general operators to given individuals is impossible -in EO, due to its interface. You need the help -of an individual dispenser of class eoPopulator. -But anyway general operators were thought to be used putely in eoOpContainer, -as described below. -

Writing a general -operator: -
There are many things to do to write a general operator - but the Templates -directory contains some sample tempaltes files to help you. It all depends -on whether you want more or less offspring than parents, and whetehr you -want the same selector for every parent or more specialized selectors. -

    -
  • -It you want more (or as many) offspring than -parents, you should use the moreOffspringGenOp.tmpl -template - if you want to use the same selector for all parents, the one -embedded in the argument eoPopulator. -Otherwise, you'll have to write your own operator based on an external -selector, as described in lessOffspringExternalSelectorGenOp.tmpl.
  • - -
  • -If you decide to have more parents than offspring, you can decide either -to get the extra parents using the eoPopulator  -own selector (see lessOffspringSameSelectorGenOp.tmpl, -or to use an external selector (passed at construct-time) as described -in lessOffspringExternalSelectorGenOp.tmpl.
  • - -
  • -Now you can modify the constructor, where -you pass to the object any useful parameter (see private data at end of -class definition). In case you need an external selector, you have to choose -it (or write it!) - it should be an eoSelectOne -object.
  • - -
  • -Finally, write the core of the operator in method apply(). -Remember you must use the argument eoPopulator -to -access the members of the population in turn (method -operator*), -you may use the initial population (method source()), -as well as the insert methods.
  • -
- -
    Warning: in general operators, -you must not forget to invalidate the -fitness of any individual that has actually been modified. this implicitely -implies that general operators can only be applied to EO object (i.e. objects -with a fitness), and not to any type of structure. -
    It you don't invalidate the individual, the lazy -fitness evaluation procedure in EO will not know it should compute -the fitness again and will keep the old obsolete value.
- -
The -populators: -
As has been said above, an -eoPopulator -mainly behaves like an iterator over -a population (hence the name, Population-Iterator). -

The basic -interface of an eoPopulator -(see also the documentation, -of course) is the following: -

    -
  • -Individuals are accessed through the operator*;
  • - -
  • -Basic iterator operations are available, like (pre)incrementation through -operator++, -position management through seekp -(returns the current position) and tellp -(go to a given position);
  • - -
  • -Individuals can also be inserted at -current position using the corresponding methods;
  • - -
  • -last but not least, as the individuals are returned by reference, it is -mandatory to ensure that they will not be moved around later: the memory -management  routine reserve -is called whenever there is a chance to add some individuals in the population -- i.e. in the eoGenOp base class operator() method.
  • -
-Moreover, a public method termed select,  -is used inside the object to get new parents for the following operator*, -and its implementation distinguishes two types of eoPopulator: -
    -
  • -The eoSeqPopulator gets new parents -from its source (the initial population). When the source is exhausted, -an exception if thrown. The idea of such pooulator is to start from a population -of already selected individuals.
  • - -
    The programmer should hence be very careful that the number of available -parents matches the requirements of the operators when using an eoSeqPopulator -object. -
  • -The eoSelectivePopulator , on the opposite, -always gets new parents using its private eoSelectOne -object (passed at construct time). Hence it can handle any number of parents -at will. The idea of such populator is to handle the whole breeding -process, i.e. selection and variation operators.
  • -
-An immediate consequence is that if you are not sure of the number of  -parents you will need in some operators (e.g. because of some stochastic -proportional selection ebtween operators that don't need the same number -of parents, then you must use an eoSelectivePopulator -to apply the variation operators to the population, and thus get exactly -the number of offspring you want. -

Example: An eoSelectivePopulator -is the main ingredient of the eoGeneralBreeder -operator() -method - a class that creates a population of offspring from the parents -applying an eoGenOp (usually an eoOpContainer) to all selected parents -in turn. -
-


General -Operator Containers: -
General operators in EO are meant to be used withing eoOpContainer -objects, that allow to combine them in a hierarchical and flexible way. -There are two ways to do that: the proportional -combination, similar to what has been described for simple operators -above, -and the sequential combination, which -amounts to apply all operators in turn to a bunch of individuals, each -operator being applied with a specific probability. -

Proportional combinations -
When called upon a population (through an eoPopulator -object), an eoProportionalOpContainer -enters the following loop: -

while there are individuals left in the list -

    -
  • -choose one of the included operators according to their relative rates -(by some roulette wheel random choice)
  • - -
  • -applies the chosen operator. The parents are dispensed to the operator -from the list on demand.
  • - -
  • -What happens next exactly depends on the type of operator, but basically, -some of the parents get modified, some might get removed from the list -and some new individual might get inserted on the list.
  • - -
  • -updates the list pointer (if needed) to the individual following the ones -that just have been modified/inserted/deleted.
  • -
-Sequential combinations -
When it is called upon a list of pending candidates, an -eoSequentialOpContainer -enters the following loop: -

mark the current position -
for all operators it contains, -

    -
  • -go to marked position
  • - -
  • -until current end of population -is reached do
  • - -
      -
    • -flip a coin according to the operator rate.
    • - -
        -
      • -If true, apply the operator to the parents. The current parents can be -modified, or some can be deleted from the list, or some offspring can be -inserted in the list.
      • - -
      • -If false, move the pointer over the required number of parents (i.e. don't -modify thoses parents)
      • -
      - -
    • -Next pending parent
    • -
    - -
  • -Next operator
  • -
-Warning: the way rate -will be used is highly dependent on the type of eoOpContainer -your are creating there: -
    -
  • -The rates for eoProportionalOpContainer -will be used in a roulette wheel choice among all operators. They can take -any value, the only important thing is their relative -values.
  • - -
  • -The "rates" for eoSequentialOpContainer actually -are probabilities, i.e. they will be -used in a coin-flipping to determine whether that particuler operator will -be applied to the next candidates at hand. They should be in -[0,1] (no error will happen if they are not, but the operator -will be applied systematically - this is equivalent of a rate equal to -1).
  • -
-Remark:The eoSGATransform presented in Lesson2 -can be viewed as a particular type of eoSequentialOpContainer. -It was not coded that way in order to provide a gradual introduction to -all concepts. -
Exercise: write the code to perform an -eoSGA using the eoOpContainer constructs. -

Adding operators to a container: -
The way to add an operator to an eoOpContainer -is the method -add. It is similar -to all other add methods in -other Combined things in eo (as the simple eoProportionalCombinedXXXop -described above, but also the eoCombinedContinue class or the eoCheckPoint -class). -
The syntax is straightforward, and it works with any of the operator -classes eoXXXOp, where XXX stands for -Mon, -Bin, Quad or -Gen: -

someOperatorType<Indi> myOperator; -
eoYYYOpContainer<Indi> myOpContainer; -
myOpContainer.add(myOperator, rate); // -rate: double whose meaning depends on YYY -

where YYY can be one of Proportional and Sequential. Note that before -being added to the container, all simple operators are wrapped into the -corresponding eoGenOp (see e.g. how an eoMonOpis -wrapped into an eoMonGenOp- or -how any operator -is handled by calling the appropriate wrapper). In particular, the -wrapper ensures that individuals who have been -modified are invalidated. -

Containers, -Selectors and Populators -
The way the eoOpContainer are applied -on a population using an eoPopulator -object. But, whereas the behavior of eoProportionalOpContainer -does not depend on the type of eoPopulator,(one -operator is chosen by roulette_wheel, and applied once before control is -given back to the caller), the main loop in method operator() -of -class eoSequentialOpContainer -iterates while (!_pop.exhausted()) -which is interpreted differently depending on the type -of eoPopulator: -

    -
  • -if the argument is an eoSelectivePopulator, -the default position of the eoPopulator, considered as a population iterator, -is at end of population. Individuals are added upon demand of an operator, -and in most cases all operators are applied once. This also depends, however, -on the arities of all operators:
  • - -
      -
    • -Consider an eoSequentialOpContainer -containing an eoQuadOp and an eoMonOp. The eoQuadOp first asks for two -parents and modifies them. The eoMonOp is then called starting from the -forst of thoses two modified individuals, and is hence applied twice, once -on each parent.
    • - -
    • -But consider now an eoSequentialOpContainer -containing an eoGenOp that takes one -parent and generates three offspring, followed by an eoQuadOp. -The eoGenOp will call the selector -to get the parent its need and will modify it and put 2 additional offspring -at end of the population. The eoQuadOp -will then be called on the first of the three outputs of the eoGenOp, -and hence will act upon the frist two of them. But at that point, the populator -iterator will point to the third of the individuals resulting from the -eoGenOp, -and the test _pop.exhausted() -will return false, so the eoQuadOp -will again be called. The second parent it needs will be given by a new -call to the embedded eoSelectOne of -the  and everything will go on smoothly, except that a total of 4 -offspring will have been generated by application of this particular eoSequentialOpContainer.
    • -
    - -
  • -if the argument is an eoSeqPopulator, -the position of the iterator starts from the beginning of an existing population -(the source populations), and hence when an  an eoSequentialOpContainer -is called, it goes through the whole remaining of the population (the test -_pop.exhausted() -only returns true at end of the source population).
  • - -
  • -From the above it is easy to see that passing an eoSeqPopulator -to an eoProportionalOpContainer that -contains an eoSequentialOpContainer, -though not technically forbiddden, will most produce something  totally -unpredictable, and hence should probably not be used without great care.
  • -
- -
Advanced -general operators: -

It is sometimes useful to be able to use a selector from inside an operator -(a typical example is when you want to implement sexual -preferences, i.e. choose a mate for a first parent according -to some characteritics of that first parent). -
This is made possible in EO because the general operators have a handle -on the initial population through the method source() -of the argument eoPopulator they work on. Their apply() -method shoudl look like -

void apply()(eoPopulator& -_pop) -
{ -
  EOT & eo1 = *_pop; // get -(select if necessary) the first guy -
  EOT maBlonde = findBlonde(_pop.source()); -// -select mate -
  // do whatever the operator is supposed -to do, e.g -
  cross(eo1, maBonde);       -// cross is some embedded crossover -
  ... -
  // if you don't want to put maBlonde -into the offspring, -
  // stop here (and use a reference -to maBlonde above). Otherwise -
  maBonde.invalidate(); -
 ++_pop;    // -advance -
  _pop.insert(maBlonde);    -// and insert it -
} -

Where does that findBlonde -selector comes from? As usual, you have to attach it to the operator,  -in its constructor for instance, which should give something like: -

sexualSelectorType<Indi>  findBlonde; -
sexualOperatorType<Indi> yourBrainAndMyBeauty(cross, -findBlonde); -

-


Local: Introduction -- Crossover - Mutation -- Combinations - General -Operators - Populators - General -combinations- Advanced operators -
General: Algorithm-Based -- Component-Based - Programming -hints -EO -documentation -
-
-
-Marc Schoenauer
- -
Last -modified: Sat. Feb. 17 2002  -
  - - diff --git a/eo/tutorial/html/eoOutput.html b/eo/tutorial/html/eoOutput.html deleted file mode 100644 index 4e77cd2ea..000000000 --- a/eo/tutorial/html/eoOutput.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - Output - - - -

Output

- - - -
-
Marc Schoenauer
- - -Last modified: Mon Oct 30 19:29:19 CET 2000 - - - diff --git a/eo/tutorial/html/eoProgramming.html b/eo/tutorial/html/eoProgramming.html deleted file mode 100644 index 64fca549f..000000000 --- a/eo/tutorial/html/eoProgramming.html +++ /dev/null @@ -1,502 +0,0 @@ - - - - - - EO Programming guide - - -General: Tutorial -main page - -Algorithm-Based - Component-Based -- Programming hints - EO -documentation -
-
Local: Templates -- -Functors - -STL Library - Random -numbers - EO programming style  - Memory -management -
-
-
-

-EO Programming guide

- -
-
Templates -

Most EO code is written using templates. This allows to write generic -code, i.e. involving a class which doesn't have to be known when writing -the code -- but only when compiling it. In some sense this is similar to -naming variables in algebra: you can write a lot of equations involving -some variable $x$ without knowing even it if will be an integer or a float -(or a matrix or ...). The main basic type that is templatized in EO is -the fitness: an EO object is some object which has a fitness of some type -F that can be anything. The definition for that is (see EO.h) -

template<class F> class EO -

The idea is that, later in your code, you can define a class as follows -(see for instance  eoOneMax.h - or check Lesson 5 for more details). -

template<class F> class eoOneMax : public -EO<F> -
{ ... code for eoOneMax  }; -

and then use it in your application as -

eoOneMax<double> myeoBit; -

declares an object of type eoOneMax which has as fitness a double. -

Whereas the advantages -are obvious (writing generic reusable code instead -of having to rewrite the same pieces of code for different types), there -are some drawbacks: -namely, it makes some of the compiler error messages -hard to understand; and it forbids the compilation of most parts of EO -into an object library file, as the actual types are not known in advance. -

-


-
Functors -

Though EO is a library, it contains almost no functions per se! -
EO mainly contains functors, that are objects which have a method called -operator(). -Such objects are used  as if they were functions, but the big differences -are that -

    -
  • -functors are functions with private data
  • - -
  • -you can have different functors objects of the same class, i.e. you can -use at the same time the same functionality with different parameters
  • - -
  • -you can have a hierarchy of functors objects, which means that you have -a hierarchy of functions with defaults behaviors and specialized sub-functions
  • - -
  • -...
  • -
-Functors are so intimately linked to EO that a base class (eoFunctorBase) -has been designed to hold all functors. This base class is itself divided -into three derived class. These classes tell you immediately what kind -of arguments the operator() -method requires and what kind of result it produces. See EO -conventions, and the inheritance -diagram of class eoFunctorBase Also note that -if you create new functors, you should also derive from one of these classes, -as it is mandatory if you later use the EO memory management -mechanism. -
For a more complete introduction to functors, with detailed discussion, -go to the STL documentation -- as STL also heavily relies on functors, and the eoFunctorBase paradigm -is borrowed from there. -

Functors: Example: -

The following is a basic example of how to program and use a functor -object: First code the class: -

class MyFunctor -
{ ... -
    void operator()(ArgType -arg) -
       { -
            -// do what you have to do -
       } -
}; // end of class declaration -

Then use it  later in the code : -

ArgType myArgument; -
MyFunctor myFunctorInstance;    -// myFunctorInstance is an object of class MyFUnctor ... -
myFunctorInstance(myArgument);  -// calls operator() of myFunctorInstance acting on myArgument ... -
  -

Functors: The -three basic classes: -

Direct sub-classes of the root class , three classes -are defined to differentiate functors by the number of argument required -by their operator(). -These classes are templatized by the types of its arguments, and by its -return type. Hence, -
from the inheritance diagram of any functor class -in EO, you can immediately deduce the interface of their operator() -method. -
  -

    -
  • -eoF -is for arity-zero functors, i.e.  their operator() -method does not require any argument. It has a single template parameter, -the return type of the operator() -method. For instance,  eoMonitor  -are eoF's -that return an eoMonitor &.
  • - -
  • -eoUF -is for unary functors, i.e.  their operator() -method requires one argument. It has two template parameters, the type -of the argument and the return type of the operator() -method. For instance,  eoMonOp's -are eoUF's -that take as argument an EOT & -and return void -.
  • - -
  • -eoBF -is for binary functors, i.e.  their operator() -method requires two arguments. It has three template parameters, the types -of the arguments and the return type of the operator() -method. For instance,  eoBinOp's -are eoBF's -that take as arguments a const EOT -& and an EOT -&, and return void -.
  • -
-Now go back to the inheritance -diagram of class eoFunctorBase, -and guess the interface for all functors! -

Note: for -obvious simplicity reasons, we very often omit the reference to the operator(), -e.g. when we say above: -

    -
  • -eoMonOp's -are eoUF's -that take as argument an EOT & -and return void
  • -
-it actually means -
    -
  • -eoMonOp's -are eoUF's, -their operator() -method takes as argument an EOT & -and returns void.
  • -
- -


-


-
A very brief -introduction to STL -

All EO heavily relies on STL, the Standard -Template Library. -
But you don't have to know more than a few words -of STL to use EO (like with "hello", "please" and "goodbye" you -can survive in a foreign country :-) and even to contribute to new EO features. -Moreover, while browsing through EO code, you will gradually learn how -to use STL, especially if you check at the SGI -STL Web site from time to time, where you can not only download STL, -but also browse in the Programmer's guide  for isntance from the Table -of Content. -

Anyway, you will only find here, in EO tutorial, the basics of STL that -you will need to understand most of EO code - and to guess what the parts -you don't understand are actually doing. Don't worry, I -don't -understand everything :-) -

STL provides the user with containers, -iterators -and algorithms. And you can access -(almost) all containers content using (almost) all iterators, or apply -(almost) all algorithms on (almost) all containers (of course the tricky -part is to instanciate the "almost" in the previous sentence :-) -

STL: Containers -
Containers are high level data types used to hold simpler data - the -most widely used example of a container is the vector -construct. -
The use of STL containers relieve the user from memory management. -

    -
  • -vector The -most widely used container is a one-dimensional array of items.
  • - -
    Data manipulation: suppose v -is an STL vector<AtomType>. -Then -
    v[i] -is the ith element of v, as in standard C arrays -
    v.size() -is the number of elements of v -
    v.push_back(atom) -appends the atom -at end of v, -provided of course that atom -is of type AtomType, -the size is automatically increased... -
    blabla insert, erase, ... -
  • -list -STL provides different types of list. The one used in EO is the simple -linked list named ... list. -As far as the user is concerned, simple lists are very similar to vectors, -and the data manipulation listed above for vectors can be applied to list.
  • - -
  • -pair
  • - -
    This simple container allows you to hold two -data types together. It is very handy for temporary data handling. Assuming -p is a pair<AtomType1, AtomType2>, -p.first -and p.second  -refer to the encapsulated data, of respective types AtomType1 -and -AtomType2 -
  • -Blabla
  • -
-There are many other types of containers that are not used in EO and that -we will not present here. -

STL: Iterators -
Iterators are accessors to the containers contents that provide unified -access to different containers. They are very similar to pointers, i.e. -you can increment them, compare them with one another, etc -

Some very useful iterators for vectors and lists are begin() -and end(), that refer to the first -and after-last items of a container. They allow loops to sweep all items -contained in a container as follows: -
STLcontainer myContain; -
STLcontainer::iterator it; -
for (it=myContain.begin(); it!=myContain.end(); -it++) -
{ -
// do what you have to do to -(*it) -the current item in the container -
} -

STL: Algorithms -
Algorithms are functions acting on containers - the most widely used -example of a STL algorithm are the different sorting -algorithms. -

    -
  • -sort, nth_element, are sorting -algorithms used in EO
  • - -
  • -copy is used to copy a range -of data designated by iterators
  • - -
  • -apply is used to perform the -same operation to many items designated by a range of iterators
  • - -
  • -Blabla - help wanted thanks...
  • -
-STL: Advantages -
The main and huge advantage of -using STL is that it handles (almost all) memory mangement automatically. -You can use any STL container the same way you would use a scalar basic -C++ type. And it does it in a (supposededly) optimized way. Of course, -the user is also responsible for performances: for instance, the insert() -method will take more time for vectors than for linked lists, while on -the opposite, the operator[] accessor will be faster for vectors. But both -will work anyway. -

STL: Drawbacks -
The main drawback I see in using STL is that it makes it -difficult -to use a debugger normally: whereas access to data is made simple -to the programmer, data structures are actually so complex, and debuggers -so willing to display everything that you get lines of template instantiation -when asking your debugger what is inside some container!
-However, here is a trick (thanks to Arnaud Quirin!) to actually print what is inside an STL vector with gdb (but it doesn't really work with complex structures like EO genotypes :-( :
-(gdb) print (*(&v))[i]
-$1 = (const double &) @0x934cad0: 0.69543264131061733
- -

-


-
Random -numbers -

Evolutionary Algorithms make intensive use of random numbers. Random -numbers are simulated in computers by using pseudo-random -number generators (RNGs for short), i.e. functions that return series of -numbers who look random (w.r.t. some statistical criteria). -

To make sure the random number generator is as good as possible, and -to ensure reproducibility of the results across different platforms, EO -has its own RNG, the ``Mersenne Twister'' -random number generator MT19937 (thanks to Takuji -Nishimura, see eoRNG.h -comments). -

Though you can define and use as many RNGs as you wish in EO, the library -also provides you with a global RNG termed eo::rng. -Using that single RNG in all calls to random numbers allows one to be able -to reproduce a given run: -

    -
  • -as strange as it seems for a random algorithm, it is mandatory for debugging -purposes
  • - -
  • -random numbers are computed starting from a seed - starting from the same -seed will lead to the same series of pseudo-random numbers, and hence to -the same results of the algorithms. All examples in this tutorial will -use the RNG seeding procedure, see e.g. in Lesson1.
  • - -
  • -to simulate "true" random runs, you can just seed the RNG with a machine-clock -related number, e.g. calling time(0), as done for instance in Lesson3 -(and after).
  • -
-As RNGs produce, by definition, integers that are uniformly distributed -between 0 and some maximal number, EO provides you with random numbers -following different probability distribution -(e.g. floating point following normal -distribution). See the complete -list of RNG primitives. -

EO also provides random_generators -that can be used in STL call to generate series of random numbers, as in -eoPop -initializers. -

Note: the eo:: -prefix indicates that it is in a separate C++ namespace, to avoid collision -with possible variables that would also be named rng in some other library. -As early versions of EO (<= 9.1)  did not use a separate namespace -for rng, the compiler directive using eo::rng in eoRNG.h allows you to -use the name rng without the eo:: -prefix. However, the notation eo::rng -should be preferred and might become mandatory some day. -
-


-
EO conventions -and naming style -

A few naming conventions should help you to navigate more easily through -EO: -

    -
  • -The name of local variables should start with a lower case letter. Capital -letters should be used rather than underscore to separate words in names -(e.g. popSize rather than -pop_size).
  • - -
  • -The name of the arguments to a function should start with an underscore, -e.g.
  • - -
              void -myfunction(unsigned _popSize){...} -
  • -The initialization parameters of constructors should be named from the -names of the variables they are used to initialize, e.g.
  • - -
      -

      -
      -
      -

    class eoMyClass -
    { -
    public: -
      eoMyClass(unsigned _popSize):popSize(_popSize){...} -
       ... -
    private: -
       unsigned popSize; -
    }; -

  • -The names of classes should start with eo + an Uppercase letter (as eoMyClass -above).
  • - -
  • -The name of the EO template should be EOT. This allows quick understanding -of the inheritance diagrams for functors. and immediate -perception of the arguments and return types of the functors oeprator() -method (as in eoMonOp -or  eoBinOp).
  • - -
      -
  • -Blabla
  • -
- -
-
EO memory -management -

Most of EO constructs are based on the encapsulation -of objects into other objects, and the embedded objects are passed through -the constructor of the embedding object. -
For instance, the construction of an algorithm requires a breeder (plus -many other things of course), the construction of a breeder usually requires -a selector, and in turn the construction of a selector requires some parameters. -This gives something resembling the following -

eoTournamentSelection<EOT>  select(tSize); -
eoBreeder<EOT> breed(select); -
eoEasyAlgo<EOT> algo( ..., breed, ...); -

Such a practice is no problem when doing everything -in a (large!) main function: all objects are local to that function, -but when the end of the function is also the end of the program. For instance, -all programs in Lesson1, Lesson2 -and Lesson3 of this tutorial are built that -way. -

It is however a big problem when you want to outsource some code in -other functions: indeed, the above sequence create objects that dissapear -when exiting the function, and thus cannot be used outside their defining -function. -

The solution is of course to use pointers, -which gives something like -

eoTournamentSelection<EOT>  *ptSelect -= new eoTournamentSelection<EOT>(tSize); -
eoBreeder<EOT> *ptBreed = new eoBreeder<EOT>(*ptSselect); -
eoEasyAlgo<EOT> *ptAlgo = new eoEasyAlgo<EOT>( -..., *ptBreed, ...); -

and you can then use the dynamically allocated objects anywhere. But -the trouble with such a construct is that after exiting the function where -such objects are defined, you will never be able -to free this allocated memory, should you not need the objects -any nore. Whereas this is not in general a big problem (except of being -a very bad practice that will make you a very naughty programmer :-), it -will prevent any re-entrance of the resulting code, and for instance you -will not be able to use an evolutionary algorithm within another loop of -some outside code. -

The solution in EO us to use an eoFunctorStore -object to store such nowhere-belonging pointers: whenever you allocate -such a thing, store it into an eoState : deleting that state will delete -all the stored pointers - one eoState is thus the only object you have -to care of. -

The above pointer allocation sequence thus become -

eoTournamentSelection<EOT>  *ptSelect -= new eoTournamentSelection<EOT>(tSize); -
state.storeFunctor(ptSelect); -
eoBreeder<EOT> *ptBreed = new eoBreeder<EOT>(*ptSelect); -
state.storeFunctor(ptBreed); -
eoEasyAlgo<EOT> *ptAlgo = new eoEasyAlgo<EOT>( -..., *ptBreed, ...); -
state.storeFunctor(ptAlgo); -

or, even more quickly (though less readably) -

eoTournamentSelection<EOT>  *ptSelect -= -
               -state.storeFunctor(new eoTournamentSelection<EOT>(tSize)); -
eoBreeder<EOT> *ptBreed = -
               -state.storeFunctor(new eoBreeder<EOT>(*ptSelect)); -
eoEasyAlgo<EOT> *ptAlgo = -
               -state.storeFunctor(new eoEasyAlgo<EOT>( ..., *ptBreed, ...)); -

In both the above code, state is an eoFunctorStore -that is of course passed from outside the function -- and it's called state because in most cases it will actually be an eoState. -As its name says, an eoFunctorStore -can store any object that is an (derives from) eoFunctorBase -- hence all objects in EO that are used as functors should derive from -either eoF, eoUF or eBF. -

Examples of such constructs are shown in the make_xxx files described -in Lesson4. -
-


Local: Templates -- -Functors - -STL Library - Random -numbers - EO programming style  - Memory -management -
-
-
General: Tutorial -main page - Algorithm-Based - Component-Based -- Programming hints - EO -documentation -
-
-
Marc Schoenauer - - diff --git a/eo/tutorial/html/eoRepresentation.html b/eo/tutorial/html/eoRepresentation.html deleted file mode 100644 index 41a63f6df..000000000 --- a/eo/tutorial/html/eoRepresentation.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - Representation - - - -

Representation

- - - -
-
Marc Schoenauer
- - -Last modified: Mon Oct 30 19:28:01 CET 2000 - - - diff --git a/eo/tutorial/html/eoSGA.html b/eo/tutorial/html/eoSGA.html deleted file mode 100644 index 2e2428701..000000000 --- a/eo/tutorial/html/eoSGA.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - eoSGA.h - - -Back to Lesson 1 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-
-

-eoSGA.h

- - - - - -
//----------------------------------------------------------------------------- -
// eoSGA.h -
//----------------------------------------------------------------------------- -
#ifndef _eoSGA_h -
#define _eoSGA_h -
#include <eoOp.h> -
#include <eoContinue.h> -
#include <eoPop.h> -
#include <eoSelectOne.h> -
#include <eoSelectPerc.h> -
#include <eoEvalFunc.h> -
#include <eoAlgo.h> -
#include <apply.h> -
/** The Simple Genetic Algorithm, following -Holland and Goldberg  -
*  Needs a selector (class eoSelectOne) -a crossover (eoQuadratic,  -
*      i.e. a 2->2 -operator) and a mutation with their respective rates,  -
*      of course -an evaluation function (eoEvalFunc) and a continuator  -
*      (eoContinue) -which gives the stopping criterion. Performs full -
*      generational -replacement. -
*/  -
template <class EOT> -
class eoSGA : public eoAlgo<EOT> -
{ -
public : -
 // added this second ctor as -I didn't like the ordering of the parameters -
 // in the one above. Any objection -:-) MS -
eoSGA( -
       eoSelectOne<EOT>& -_select, -
       eoQuadraticOp<EOT>& -_cross, float _crate, -
       eoMonOp<EOT>& -_mutate, float _mrate, -
       eoEvalFunc<EOT>& -_eval, -
       eoContinue<EOT>& -_cont) -
     : cont(_cont),  -
       mutate(_mutate),  -
       mutationRate(_mrate), -
       cross(_cross), -
       crossoverRate(_crate), -
       select(_select), -
       eval(_eval) -{}
- - - - - -
 void operator()(eoPop<EOT>& -_pop) -
 { -
    eoPop<EOT> offspring; -
    do { -
         -select(_pop, offspring); -
         -unsigned i; -
         -for (i=0; i<_pop.size()/2; i++)  -
             -{   // generates 2 offspring from two parents -
                 -if ( rng.flip(crossoverRate) )  -
                   -{  -
                       -cross(offspring[2*i], offspring[2*i+1]); -
                   -} -
             -} -
         -for (i=0; i < _pop.size(); i++)  -
             -{ -
                 -if (rng.flip(mutationRate) )  -
                     -{ -
                         -mutate(offspring[i]); -
                     -} -
             -} -
         -_pop.swap(offspring); -
         -apply<EOT>(eval, _pop); -
     } while (cont(_pop)); -
 } -
 
- - - - - -
private : -
 eoContinue<EOT>& cont; -
 eoMonOp<EOT>& mutate; -
 float mutationRate; -
 eoQuadraticOp<EOT>& cross; -
 float crossoverRate; -
 eoSelectPerc<EOT> select; -
 eoEvalFunc<EOT>& eval;
- - - - - -
}; -
#endif
- -
Back to Lesson 1 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
- -
Last modified: Sun Nov -19 19:36:21 2000 - - diff --git a/eo/tutorial/html/eoSelect.html b/eo/tutorial/html/eoSelect.html deleted file mode 100644 index 9de6bb612..000000000 --- a/eo/tutorial/html/eoSelect.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - Selection - - - -

Selection

- - - -
-
Marc Schoenauer
- - -Last modified: Mon Oct 30 17:51:55 CET 2000 - - - diff --git a/eo/tutorial/html/eoStop.html b/eo/tutorial/html/eoStop.html deleted file mode 100644 index 14e0d37c1..000000000 --- a/eo/tutorial/html/eoStop.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - Input / Output - - - -

Input / Output

- -

- -

Stopping criteria

- -

- -

Displaying statistics

- -
-
Marc Schoenauer
- - -Last modified: Tue Oct 31 18:32:22 CET 2000 - - - diff --git a/eo/tutorial/html/eoTopDown.html b/eo/tutorial/html/eoTopDown.html deleted file mode 100644 index f589f0aa0..000000000 --- a/eo/tutorial/html/eoTopDown.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - EO - The Algorithm-Based approach - - -Tutorial main -page -- -Algorithm-Based - Component-Based -- Programming hints - EO -documentation -
-
-
-

-EO - The Algorithm-Based approach

- -


Congratulations - You have chosen the algorithm-based approach!  -This means that you want to start from something that already works, and -gradually learn about the more complex constructs. We have prepared a series -of "lessons" for you. -

    -
  • -Lesson 1 - a gentle introduction to the EO -way: your first steps into EO representations -using a simple generational GA. Please, spend -the necessary time on that one, since all basic constructs presented -there are used throughout EO.
  • - -
  • -Lesson 2 - encapsulate, -encapsulate, and try more sophisticated selection/replacement -mechanisms, as well as multiple  operators
  • - -
  • -Lesson 3 - The same algorithms, but with improved -input/outputs: user-friendly input (i.e. without -the need to recompile!) of algorithm parameters, -and checkpointing (display -of on-line statistics, save -and -restore -populations, -restart stopped runs, -...).
  • - -
  • -Lesson 4 - The same algorithms - again! - -but now fully operational: every component -of the algorithm can be defined on the command-line, -except the type of genotype; moreover, you now have a full library, i.e. -everything except your fitness function is already -compiled.
  • - -
  • -Lesson 5 (new) -- Use your own representation. Thanks -to template files and a little script in Unix, -or the Application template in MSVC++, you -can easily define a new genotype and run an Evolutionary Algorithm that -will intantly benefit from the power of all EO -Evolution Engines (including easy user-parameter -input presented in Lesson 4). You simply need to gradually fill -in the shell-files that the script will generate for you.
  • - - -


    Current version (May. 5, 2002) stops here, but ... -

    From there on, you don't need to follow the lesson order any more: you -can go directly to any lesson and experiment. Of course, you will need -to bring together the different pieces to write exactly what you want - -but only because we had no idea of what you exactly want :-) -

      -
    • -Lesson 6 (forthcoming) - More about checkpointing: -write your first adaptive mechanism, -and find out how easy it is to update -and monitor dynamic -parameters
    • - -
    • -Lesson 7 - More general operators: -e.g. binary, n-ary, or even specific mate selection (your brain and my -beauty)! Add your own to the basic algorithm using the template files.
    • - -
    • -Lesson 8 - Use predefined generic representations. -The eoFixedLength and eoVariableLength -super classes allow quick definition of new genotypes that handle identical -Atoms, together with generic variation operators.
    • -
    -Of course, in each lesson, you have links to the corresponding Component-Based -page. ( ... Well, to tell you the truth, as of today, this is not exactly -true :-) -
    -
    -
    Tutorial main page - Algorithm-Based -- Component-Based - Programming -hints - EO -documentation -
    -
    -
    -Marc Schoenauer
    - -
    Last modified: Tue Dec 19 -2000  - - diff --git a/eo/tutorial/html/eoTutorial.html b/eo/tutorial/html/eoTutorial.html deleted file mode 100644 index 1dbef8bd2..000000000 --- a/eo/tutorial/html/eoTutorial.html +++ /dev/null @@ -1,286 +0,0 @@ - - - - - - Tutorial EO - - -Algorithm-Based - Component-Based -- Programming hints - EO -documentation -
    -
    Welcome to EO, the Evolving Objects library, -and to
    - -
    -

    -EO Tutorial

    - -
    Important notice - December 2006 -

    -The code that is proposed in this tutorial should not -be used -as a basis for any comparison with any original method on any benchmark problem. -It is an illustration of what you can achieve with EO, but reaching state-of-the-art results -requires more work. In particular, if you want to compare your evolutionary -algorithm with a good performing algorithm in parameteric optimisation, -do not -use ESEA in Lesson4, -but go to the test directory, type -make t-eoCMAES and use the resulting t-eoCMAES. But as of today, -the latest algorithms (and comparative results) -are better found on Nikolaus Hansen Web page -and on his "Comparison of Evolutionary Algorithms on a Benchmark Function Set" page).
    -
    -
    - -
    Version 0.98a - December 2004 -
    - -
      -
    • New - -Well, in fact, nothing really new, -but some people advised us to announce from the very beginning that -if you are looking for a ready-to-use -(except for the fitness) fully tunable Evolutionary -Algorithm evolving real values or bitstring, you can -go directly to -Lesson 4 after just reading -this page, and maybe the Programming -hints (link on top of each page too).
      - -In fact, there is something new: EO's automatic configuration and -build process has been cleaned up and upgraded. For consistency, the -same automatically-built Makefiles have been created in the -tutorial directories. The good-old manually-created files are -still there, now named -Makefile.simple. -Moreover, when you compile the whole library (typing make in the main EO dir), all lessons of the tutorial gets compiled, too. -
    • -
      - -
      Version 0.98 - May 2004
      - -
    • Lesson 5 - has been improved: some of -the empty template files in dir -.../eo/tutorial/Templates -have been simplified, and file stat.tmpl -has been added, allowing you to -compute and -print and -save-to-disk and -plot-on-line your -own statistics. -The magic script is now (see Lesson5) createSimple.
      - -The same simplified main file in -dir .../eo/tutorial/Templates) -also allows you to use -fitness sharing - (together with roulette wheel) as a possible selector.
      - -Unfortunately, the HTML file for Lesson5 and the corresponding -html-ized code are not yet updated - time is missing -(volunteers welcome).

      -
    • - -
      May 2002
      -
    • -
      -Thanks to Sébastien -Cahon (LIFL, Lille)
      - -
    -
    -
    Welcome to EO tutorial/on-line documentation.
    -

    About this tutorial

    -First, please note that this tutorial is not supposed -to be printed and read off-line, as it takes full advantage -of hyper-text links between the different parts, and with the technical -documentation. -This tutorial can be used in 2 different ways: algorithm-based and component-based. -
      -
    • -Algorithm-Based means you start from a very -simple, ready-to-run algorithm, and gradually modify it, making -it both more powerful and more complex.
    • - -
    • -Component-Based means you start by examining -the -components of an EA one by one, 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.
    • -
    -However, it is strongly recommended -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 -:-) -

    -


    Links and Related -documents -
      -
    • -There are of course a few (very few) programming -hints that you should know.
    • - -
    • -THe EO documentation - automatically -generated from the comments in the code - is very helpful to get an idea -of the inheritance diagrams of EO classes, -and to quickly reach some specific part of the code.
    • - -
      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. -
    • -For those who wish to get deeper in STL (Standard Template Library), you -might visit the well documented SGI -STL Web site. But don't forget you'll find the very basic minimum in -EO programming hints.
    • - -
    • -And, last but not least, we assume you know approximately that an Evolutionary -Algorithm looks like this, but otherwise you can try this very -brief introduction (not written yet, Jan. 2001, sorry).
    • -
    - -


    -


    Colors and navigation: -

    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 brief -introduction to Evolutionary Computation for a detailed explanation. -

    -

    - -

    But in the text itself, colors are important, -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 -orange -is for emphasis, -

      -
    • -Yellowish is for representation, -i.e. the choice of the genotype
    • - -
    • -Magenta is for the stochastic -operators that are representation-dependent, -i.e. initialisation and variation operators -(crossover, mutation -and the like).
    • - -
    • -Green is for the implementation of Darwinism, -i.e. the way the individuals are selected -for reproduction and survive.
    • - -
    • -Red is for evaluation, i.e. the computation -of the fitness of all individuals
    • - -
    • -Blue is for interactions of the user and the -program, as for instance choice of stopping criterion, -on-line display of nice statistics or initial -choice -of all program parameters.
    • - -
    • -Brown is for everything that is NOT part of -any of the above, i.e. random number generator, or basic C++/STL syntax -.
    • - -
    • -Note that pink will be used to describe the -syntax of compile orders (i.e. at the operating system level, see e.g. -below).
    • - -
    • -Last, but not least, all -links into EO documentation will use the Helvetica typeface, like this -line you are now reading.
    • -
    - -
    This tutorial is -not -
      -
    • -A course on Evolutionary Computation. You can find such things on the Internet, -maybe you can start here.
    • - -
    • -An interface that would allow you to build your Evolutionary Programs by -a few clicks; such a thing does exist, is called EASEA, -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.
    • - -
    • -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 :-)
    • -
    - -
    Before -you start -

    You should of course have downloaded and installed the whole EO -library (how did you get this file if not???). -If you are using a recent version of EO (0.9.3+), all tutorial Lessons -should have been compiled when installing the library, and you can now -proceed with Lesson1.
    -
    Otherwise, we'll assume that you are now in the tutorial directory, and that -your prompt looks something like -

    (myname@myhost) EOdir/tutorial % -

    so you should now type in -

    make Lesson1 -

    and see something like -

    (myname@myhost) -EOdir/tutorial % make Lesson1 -
    c++ -DPACKAGE=\"eo\" -DVERSION=\"0.9.1\" --I. -I../../src -Wall -g -c FirstBitGA.cpp -
    c++ -Wall -g -o FirstBitGA FirstBitGA.o -../../src/libeo.a ../../src/utils/libeoutils.a -
    c++ -DPACKAGE=\"eo\" -DVERSION=\"0.9.1\" --I. -I../../src -Wall -g -c FirstRealGA.cpp -
    c++ -Wall -g -o FirstRealGA FirstRealGA.o -../../src/libeo.a ../../src/utils/libeoutils.a -

    and two now executable files should have appeared in the subdirectory -Lesson1, namely FirstBitGA -and FirstRealGA (see First -lesson 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. -

    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. -

    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 e-mail -me. -

    -

    Enjoy! -


    Algorithm-Based -- Component-Based - Programming -hints - EO -documentation
    - -
    -
    -Marc Schoenauer
    - -
    -Last -modified: Wed Feb 22 2006  - - diff --git a/eo/tutorial/html/make_genotype_OneMax.html b/eo/tutorial/html/make_genotype_OneMax.html deleted file mode 100644 index 3920e5548..000000000 --- a/eo/tutorial/html/make_genotype_OneMax.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - Templates/make_genotype_OneMax.h - - -Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
    -
    -
    -

    -Templates/make_genotype_OneMax.h

    -The places where you have to put some code are on pink -background.. -Only the the character colors have the usual meaning. -
      - - - - - -
    - -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
    - -//-----------------------------------------------------------------------------
    - -// make_genotype.h
    - -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
    - -/*
    -      This library is free software; you can redistribute it and/or
    -      modify it under the terms of the GNU Lesser General Public
    -      License as published by the Free Software Foundation; either
    -      version 2 of the License, or (at your option) any later version.
    -      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
    -      Lesser General Public License for more details.
    -      You should have received a copy of the GNU Lesser General Public
    -      License along with this library; if not, write to the Free Software
    -      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -      Contact: todos@geneura.ugr.es, http://geneura.ugr.es
    -                        Marc.Schoenauer@inria.fr
    -                        mkeijzer@dhi.dk
    - */
    - -//-----------------------------------------------------------------------------
    -#ifndef _make_genotype_h
    -#define _make_genotype_h
    -#include <eoOneMax.h>
    -#include <eoOneMaxInit.h>
    -   -// also need the parser and param includes
    -#include <utils/eoParser.h>
    -#include <utils/eoState.h>
    - -/*
    - * This fuction does the create an eoInit<eoOneMax>
    - *
    - * It could be here tempatized only on the fitness, as it can be used
    - * to evolve structures with any fitness.
    - * However, for consistency reasons, it was finally chosen, as in
    - * the rest of EO, to templatize by the full EOT, as this eventually
    - * allows to choose the type of genotype at run time (see in es dir)
    - *
    - * It returns an eoInit<EOT> that can later be used to initialize
    - * the population (see make_pop.h).
    - *
    - * It uses a parser (to get user parameters) and a state (to store the memory)
    - * the last argument is to disambiguate the call upon different instanciations.
    - *
    - * WARNING: that last argument will generally be the result of calling
    - *                  the default ctor of EOT, resulting in most cases in an EOT
    - *                  that is ***not properly initialized***
    -*/
    -
    -
    - - - - -
    - -template <class EOT>
    -eoInit<EOT> & do_make_genotype(eoParser& _parser, eoState& _state, EOT)
    -{
    -
    -
    - - - - -
    - -   -// read any useful parameter here from the parser
    -   -// the param itself will belong to the parser (as far as memory is concerned)
    -   -//      paramType & param = _parser.createParam(deafultValue, "Keyword", "Comment to appear in help and status", 'c',"Section of status file").value();
    -
    -
    - - - - -
    - -   -// Then built the initializer - a pointer, stored in the eoState
    -  eoInit<EOT>* init = new eoOneMaxInit<EOT> -/* ( param ) */ ; ;
    -
    -
    - - - - -
    - -   -// Eventually by passing the parameters you need
    -  //  eoInit<EOT>* init = new eoOneMaxInit<EOT> -/* ( param ) */ ; ;
    -
    -
    - - - - -
    - -   -// store in state
    -  _state.storeFunctor(init);
    -   -// and return a reference
    -  return *init;
    -}
    -#endif
    -
    -
    Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
    -
    -Marc Schoenauer
    -
    Last -modified: Fri May 3 07:10:52 2002 - - - diff --git a/eo/tutorial/html/make_op_OneMax.html b/eo/tutorial/html/make_op_OneMax.html deleted file mode 100644 index a108fb14f..000000000 --- a/eo/tutorial/html/make_op_OneMax.html +++ /dev/null @@ -1,351 +0,0 @@ - - - - - - Templates/make_op_OneMax.h - - -Back to Lesson 5 -- Tutorial main page - Top-Down -page - Bottom-up page - Programming -hints - EO -documentation -
    -
    -
    -

    -Templates/make_op_OneMax.h

    -The places where you have to put some code are on pink -background.. Only the the character -colors have the usual meaning. -

    - - - - -
    // -*- mode: c++; c-indent-level: -4; c++-member-init-indent: 8; comment-column: 35; -*- -

    //----------------------------------------------------------------------------- -
    // make_op_OneMax.h -
    // (c) Marc Schoenauer, Maarten Keijzer and -GeNeura Team, 2001 -
    /*  -
         This library is -free software; you can redistribute it and/or -
         modify it under -the terms of the GNU Lesser General Public -
         License as published -by the Free Software Foundation; either -
         version 2 of the -License, or (at your option) any later version. -
         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 -
         Lesser General Public -License for more details. -
         You should have -received a copy of the GNU Lesser General Public -
         License along with -this library; if not, write to the Free Software -
         Foundation, Inc., -59 Temple Place, Suite 330, Boston, MA  02111-1307  USA -
         Contact: todos@geneura.ugr.es, -http://geneura.ugr.es -
                           -Marc.Schoenauer@inria.fr -
                           -mkeijzer@dhi.dk -
    */ -
    //----------------------------------------------------------------------------- -

    #ifndef _make_op_OneMax_h -
    #define _make_op_OneMax_h -

    // the operators -
    #include <eoOp.h> -
    #include <eoGenOp.h> -
    #include <eoCloneOps.h> -
    #include <eoOpContainer.h> -
    // combinations of simple eoOps (eoMonOp -and eoQuadOp) -
    #include <eoProportionalCombinedOp.h> -

    /** definition of mutation:  -
    * class eoOneMaxMonop MUST derive from eoMonOp<eoOneMax> -
    */ -
    #include "eoOneMaxMutation.h" -

    /** definition of crossover (either as eoBinOp -(2->1) or eoQuadOp (2->2):  -
    * class eoOneMaxBinCrossover MUST derive -from eoBinOp<eoOneMax> -
    * OR  -
    * class eoOneMaxQuadCrossover MUST derive -from eoQuadOp<eoOneMax> -
    */ -
    // #include "eoOneMaxBinOp.h" -
    // OR -
    #include "eoOneMaxQuadCrossover.h" -

      // also need the parser and -state includes -
    #include <utils/eoParser.h> -
    #include <utils/eoState.h> -

    /////////////////// variation operators /////////////// -
    // canonical (crossover + mutation) only -at the moment // -

    /* -
    * This function builds the operators that -will be applied to the eoOneMax -
    * -
    * It uses a parser (to get user parameters), -a state (to store the memory) -
    *      the last -parameter is an eoInit: if some operator needs some info  -
    *      about the -genotypes, the init has it all (e.g. bounds, ...) -
    *      Simply do  -
    *              -EOT myEO; -
    *              -_init(myEO); -
    *      and myEO -is then an ACTUAL object -
    * -
    * As usual, the template is the complete -EOT even though only the fitness -
    * is actually templatized here: the following -only applies to eoOneMax -
    */

    - - - - - -
    template <class EOT> -
    eoGenOp<EOT> & do_make_op(eoParameterLoader& -_parser, eoState& _state, eoInit<EOT>& _init) -
    { -
      // this is a temporary version, -while Maarten codes the full tree-structured -
      // general operator input -
      // BTW we must leave that simple -version available somehow, as it is the one -
      // that 90% people use! -

          ///////////////////////////// -
          // -Variation operators -
          //////////////////////////// -
          // -read crossover and mutations, combine each in a proportional Op -
          // -and create the eoGenOp that calls crossover at rate pCross  -
          // -then mutation with rate pMut -

          // the -crossovers -
          ///////////////// -

          // here -we can have eoQuadOp (2->2) only - no time for the eoBinOp case -

          // you -can have more than one - combined in a proportional way -

          // first, -define the crossover objects and read their rates from the parser -

          // A -first crossover  -
         -eoQuadOp<Indi> *cross = new eoOneMaxQuadCrossover<Indi> /* (varType  -_anyVariable) */; -
          // -store in the state -
         _state.storeFunctor(cross); -

      // read its relative rate in -the combination -
         double cross1Rate -= _parser.createParam(1.0, "cross1Rate", "Relative rate for crossover 1", -'1', "Variation Operators").value(); -

      // and create the combined operator -with this one -
     eoPropCombinedQuadOp<Indi> *propXover -=  -
         new eoPropCombinedQuadOp<Indi>(*cross, -cross1Rate); -
      // and of course stor it in -the state -
         _state.storeFunctor(propXover); -
     

    - - - - - -
          -// Optional: A second(and third, and ...)  crossover  -
          //    -of course you must create the corresponding classes -
          // -and all ***MUST*** derive from eoQuadOp<Indi> -

      /* Uncomment if necessary - -and replicate as many time as you need -
             -cross = new eoOneMaxSecondCrossover<Indi>(varType  _anyVariable);  -
             -_state.storeFunctor(cross); -
             -double cross2Rate = _parser.createParam(1.0, "cross2Rate", "Relative rate -for crossover 2", '2', "Variation Operators").value();  -
             -propXover.add(*cross, cross2Rate);  -
     */ -
      // if you want some gentle -output, the last one shoudl be like -
      //  propXover.add(*cross, -crossXXXRate, true); -
     

    - - - - - -
    -
      // the mutation: same story -
      //////////////// -
      // you can have more than one -- combined in a proportional way -

      // for each mutation,  -
      // - define the mutator object -
      // - read its rate from the -parser -
      // - add it to the proportional -combination -

      // a first mutation  -
    eoMonOp<Indi> -*mut = new eoOneMaxMutation<Indi> /* (varType  -_anyVariable) */; -
     _state.storeFunctor(mut); -
      // its relative rate in the -combination -
     double mut1Rate = _parser.createParam(1.0, -"mut1Rate", "Relative rate for mutation 1", '1', "Variation Operators").value(); -
      // and the creation of the -combined operator with this one -
     eoPropCombinedMonOp<Indi> *propMutation -= new eoPropCombinedMonOp<Indi>(*mut, mut1Rate); -
     _state.storeFunctor(propMutation); -
     

    - - - - - -
          -// Optional: A second(and third, and ...)  mutation with their rates -
          //    -of course you must create the corresponding classes -
          // -and all ***MUST*** derive from eoMonOp<Indi> -

      /* Uncomment if necessary - -and replicate as many time as you need -
             -mut = new eoOneMaxSecondMutation<Indi>(varType  _anyVariable); -
             -_state.storeFunctor(mut); -
             -double mut2Rate = _parser.createParam(1.0, "mut2Rate", "Relative rate for -mutation 2", '2', "Variation Operators").value();  -
               -propMutation.add(*mut, mut2Rate);  -
     */ -
      // if you want some gentle -output, the last one shoudl be like -
      //  propMutation.add(*mut, -mutXXXRate, true); -

      // end of crossover and mutation -definitions -
     

    - - - - - -
    -
    // from now on, you do not need to modify -anything -
    // though you CAN add things to the checkpointing -(see tutorial) -

      // now build the eoGenOp: -
      // to simulate SGA (crossover -with proba pCross + mutation with proba pMut -
      // we must construct -
      //        -a sequential combination of -
      //                  -with proba 1, a proportional combination of  -
      //                                              -a QuadCopy and our crossover -
      //                  -with proba pMut, our mutation -

      // but of course you're free -to use any smart combination you could think of -
      // especially, if you have -to use eoBinOp rather than eoQuad Op youùll have -
      // to modify that part -

      // -First read the individual level parameters -
         eoValueParam<double>& -pCrossParam = _parser.createParam(0.6, "pCross", "Probability of Crossover", -'C', "Variation Operators" ); -
          // -minimum check -
         if ( (pCrossParam.value() -< 0) || (pCrossParam.value() > 1) ) -
             -throw runtime_error("Invalid pCross"); -

         eoValueParam<double>& -pMutParam = _parser.createParam(0.1, "pMut", "Probability of Mutation", -'M', "Variation Operators" ); -
          // -minimum check -
         if ( (pMutParam.value() -< 0) || (pMutParam.value() > 1) ) -
             -throw runtime_error("Invalid pMut"); -

      // the crossover - with probability -pCross -
     eoProportionalOp<Indi> * propOp -= new eoProportionalOp<Indi> ; -
     _state.storeFunctor(propOp); -
     eoQuadOp<Indi> *ptQuad = new -eoQuadCloneOp<Indi>; -
     _state.storeFunctor(ptQuad); -
     propOp->add(*propXover, pCrossParam.value()); -// -crossover, with proba pcross -
     propOp->add(*ptQuad, 1-pCrossParam.value()); -// -nothing, with proba 1-pcross -

      // now the sequential -
     eoSequentialOp<Indi> *op = new -eoSequentialOp<Indi>; -
     _state.storeFunctor(op); -
     op->add(*propOp, 1.0); // always -do combined crossover -
     op->add(*propMutation, pMutParam.value()); -// -then mutation, with proba pmut -

      // that's it - return a reference -
     return *op; -
    } -

    #endif

    - -


    Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
    -
    -Marc Schoenauer
    - -
    Last modified: Fri May -3 08:06:20 2002 - - diff --git a/eo/tutorial/html/real_value.html b/eo/tutorial/html/real_value.html deleted file mode 100644 index a5ec17852..000000000 --- a/eo/tutorial/html/real_value.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - real_value.h - - -Back to Lesson 2 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - -EO documentation -
    -
    -
    - - - - -
    #include <vector> -
    //----------------------------------------------------------------------------- -
    /** Just a simple function that takes an -vector<double> and sets the fitnes  -
         to the sphere function. -Please use doubles not float!!! -
         @param _ind A floatingpoint -vector  -
    */
    - - - - - -
    double real_value(const std::vector<double>& -_ind) -
    { -
     double sum = 0; -
     for (unsigned i = 0; i < _ind.size(); -i++) -
             -sum += _ind[i] * _ind[i]; -
     return -sum; -
    }
    - -
    Back to Lesson 2 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
    -
    -Marc Schoenauer
    - -
    Last modified: Wed Nov -29 08:58:50 2000 - - diff --git a/eo/tutorial/index.html b/eo/tutorial/index.html deleted file mode 100644 index 81b87972b..000000000 --- a/eo/tutorial/index.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - Tutorial EO - - - -
    -
    -

    -EO Tutorial

    -Welcome to EO - the Evolving Objects library. -

    But you are not in the right place! -
    You should better try to go to the html directory, for instance by -clicking here. -

    -


    -
    -Marc Schoenauer
    - -
    Last -modified: Fri Nov 28 CET 2000  - - diff --git a/eompi/CMakeLists.txt b/eompi/CMakeLists.txt deleted file mode 100644 index 3810af37c..000000000 --- a/eompi/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -###################################################################################### -### Include subdirectories -###################################################################################### -#add_subdirectory(doc) -add_subdirectory(src) - -if(ENABLE_CMAKE_TESTING) - add_subdirectory(test) -endif(ENABLE_CMAKE_TESTING) \ No newline at end of file diff --git a/eoserial/CMakeLists.txt b/eoserial/CMakeLists.txt deleted file mode 100644 index f596760a5..000000000 --- a/eoserial/CMakeLists.txt +++ /dev/null @@ -1,6 +0,0 @@ -###################################################################################### -### Include subdirectories -###################################################################################### - -#add_subdirectory(doc) -add_subdirectory(src) \ No newline at end of file diff --git a/mo/CMakeLists.txt b/mo/CMakeLists.txt deleted file mode 100644 index cd0f07dfb..000000000 --- a/mo/CMakeLists.txt +++ /dev/null @@ -1,17 +0,0 @@ -###################################################################################### -### 0) Include subdirectories -###################################################################################### - -add_subdirectory(doc) -add_subdirectory(src) - -if(ENABLE_CMAKE_TESTING) - add_subdirectory(test) -endif(ENABLE_CMAKE_TESTING) - -if(ENABLE_CMAKE_EXAMPLE) - if(${CMAKE_VERBOSE_MAKEFILE}) - message("MO Examples :") - endif(${CMAKE_VERBOSE_MAKEFILE}) - add_subdirectory(tutorial) -endif(ENABLE_CMAKE_EXAMPLE) diff --git a/mo/src/mo.h b/mo/src/mo.h deleted file mode 100755 index 2a56a86a5..000000000 --- a/mo/src/mo.h +++ /dev/null @@ -1,211 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2010 - - Sébastien Verel, Arnaud Liefooghe, Jérémie Humeau - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _newmo_h -#define _newmo_h - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -//#include -//#include -//#include -//#include -//#include -//#include -//#include - - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/moeo/CMakeLists.txt b/moeo/CMakeLists.txt deleted file mode 100644 index daca409d3..000000000 --- a/moeo/CMakeLists.txt +++ /dev/null @@ -1,17 +0,0 @@ -###################################################################################### -### 0) Include subdirectories -###################################################################################### - -add_subdirectory(doc) -add_subdirectory(src) - -if(ENABLE_CMAKE_TESTING) - add_subdirectory(test) -endif(ENABLE_CMAKE_TESTING) - -if(ENABLE_CMAKE_EXAMPLE) - if(${CMAKE_VERBOSE_MAKEFILE}) - message("MOEO Examples :") - endif(${CMAKE_VERBOSE_MAKEFILE}) - add_subdirectory(tutorial) -endif(ENABLE_CMAKE_EXAMPLE) diff --git a/moeo/src/moeo b/moeo/src/moeo deleted file mode 100644 index 3b310d64f..000000000 --- a/moeo/src/moeo +++ /dev/null @@ -1,224 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Arnaud Liefooghe -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- - -#ifndef MOEO_ -#define MOEO_ - - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -//#include -//#include -//#include -//#include -//#include -//#include -//#include -#include -#include -//#include -//#include -#include -//#include -//#include -#include -//#include -//#include -//#include -#include -#include -#include -#include -//#include -//#include -#include -//#include -//#include -//#include -//#include -//#include -//#include -//#include -//#include -//#include -//#include -//#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#endif /*MOEO_*/ diff --git a/smp/CMakeLists.txt b/smp/CMakeLists.txt deleted file mode 100644 index f8e758679..000000000 --- a/smp/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -###################################################################################### -### 0) Include subdirectories -###################################################################################### -add_subdirectory(doc) -add_subdirectory(src) - -if(ENABLE_CMAKE_TESTING) - add_subdirectory(test) -endif(ENABLE_CMAKE_TESTING) - -if(ENABLE_CMAKE_EXAMPLE) - if(${CMAKE_VERBOSE_MAKEFILE}) - message("PEO Examples :") - endif(${CMAKE_VERBOSE_MAKEFILE}) - add_subdirectory(tutorial) -endif(ENABLE_CMAKE_EXAMPLE) - - diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100755 index 000000000..9a538b3f8 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,166 @@ +##################################################################################### +### Define paths to sources +##################################################################################### + +set( EO_SRC_DIR "${CMAKE_SOURCE_DIR}/src/eo" CACHE INTERNAL "ParadisEO-EO source directory" FORCE) +set( EDO_SRC_DIR "${CMAKE_SOURCE_DIR}/src/edo" CACHE INTERNAL "ParadisEO-EDO source directory" FORCE) +set( MO_SRC_DIR "${CMAKE_SOURCE_DIR}/src/mo" CACHE INTERNAL "ParadisEO-MO source directory" FORCE) +set(PROBLEMS_SRC_DIR "${CMAKE_SOURCE_DIR}/src/problems" CACHE INTERNAL "Problems dependant source directory" FORCE) +set( MOEO_SRC_DIR "${CMAKE_SOURCE_DIR}/src/moeo" CACHE INTERNAL "ParadisEO-MOEO source directory" FORCE) +set( SMP_SRC_DIR "${CMAKE_SOURCE_DIR}/src/smp" CACHE INTERNAL "ParadisEO-SMP source directory" FORCE) +set( EOMPI_SRC_DIR "${CMAKE_SOURCE_DIR}/src/eompi" CACHE INTERNAL "ParadisEO-EOMPI source directory" FORCE) +set(EOSERIAL_SRC_DIR "${CMAKE_SOURCE_DIR}/src/eoserial" CACHE INTERNAL "ParadisEO-EOSERIAL source directory" FORCE) + +##################################################################################### +### Include required modules +##################################################################################### + +############### +## EO Module ## +############### + +# For eo::mpi +enable_language(C) + +# For openmp parallel +if(ENABLE_OPENMP) + find_package(OpenMP) + if(OPENMP_FOUND) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") + else() + message( "ERROR: You asked for OpenMP but it has not been found." ) + set(IS_FATAL 1) + endif(OPENMP_FOUND) +endif(ENABLE_OPENMP) + +if(ENABLE_GNUPLOT) + include(FindGnuplot) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DHAVE_GNUPLOT -DGNUPLOT_PROGRAM=\\\"${GNUPLOT_EXECUTABLE}\\\"") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_GNUPLOT -DGNUPLOT_PROGRAM=\\\"${GNUPLOT_EXECUTABLE}\\\"") +endif(ENABLE_GNUPLOT) + +# set a special flag if the environment is windows (should do the same in a config.g file) +if (WIN32) + add_definitions(-D_WINDOWS=1) +endif (WIN32) + +################ +## EDO Module ## +################ + +if (EDO) + if(EDO_USE_LIB STREQUAL "uBLAS") + find_package(Boost) + if(Boost_FOUND) + include_directories( ${Boost_INCLUDE_DIRS} ) + add_definitions( -DWITH_BOOST ) + else() + message(FATAL_ERROR "\n\nERROR: You asked for Boost::uBLAS but it has not been found.\n" ) + endif() + elseif(EDO_USE_LIB STREQUAL "Eigen3") + find_package(Eigen3) + if(EIGEN3_FOUND) + include_directories( ${EIGEN3_INCLUDE_DIR} ) + add_definitions( -DWITH_EIGEN ) + else() + message(FATAL_ERROR "\n\nERROR: You asked for Eigen3 but it has not been found.\n" ) + endif() + + else() + # FIXME ideally, we would have a minimal implementation with STL vectors… + message(FATAL_ERROR "\n\nYou must set EDO_USE_LIB to either 'uBLAS' or 'Eigen3'.\n" ) + endif() +endif(EDO) + +################ +## MO Module ## +################ + + + +################# +## MOEO Module ## +################# + + + +################ +## SMP Module ## +################ + + + +##################### +## EOSERIAL Module ## +##################### + + + +################## +## EOMPI Module ## +################## + + + +##################################################################################### +### Include sources +##################################################################################### + +## EO Module +set(EO_MODULE_NAME "Evolving Object") +set(CMAKE_SOURCE_DIR ${EO_SRC_DIR}) +add_subdirectory(${EO_SRC_DIR}) + +if(NOT EO_ONLY) + + ## MO Module + if(MO) + set(MO_MODULE_NAME "Moving objects") + #set(CMAKE_SOURCE_DIR ${MO_SRC_DIR}) + add_subdirectory(${MO_SRC_DIR}) + add_subdirectory(${PROBLEMS_SRC_DIR}) # related to mo module + endif(MO) + + ## EDO Module + if(EDO) + set(EDO_MODULE_NAME "Evolving Distribution Objects") + #set(CMAKE_SOURCE_DIR ${EDO_SRC_DIR}) + add_subdirectory(${EDO_SRC_DIR}) + endif(EDO) + + ## MOEO Module + if(MOEO) + set(MOEO_MODULE_NAME "Multi-Objectives EO") + #set(CMAKE_SOURCE_DIR ${MOEO_SRC_DIR}) + add_subdirectory(${MOEO_SRC_DIR}) + endif(MOEO) + + ## SMP Module + if(SMP) + set(SMP_MODULE_NAME "Symmetric Multi-Processing") + #set(CMAKE_SOURCE_DIR ${SMP_SRC_DIR}) + add_subdirectory(${SMP_SRC_DIR}) + endif(SMP) + + ## EOMPI Module + if(EOMPI) + find_package(MPI REQUIRED) + add_definitions(-DWITH_MPI) + set(CMAKE_CXX_COMPILE_FLAGS ${CMAKE_CXX_COMPILE_FLAGS} ${MPI_COMPILE_FLAGS}) + set(CMAKE_CXX_LINK_FLAGS ${CMAKE_CXX_LINK_FLAGS} ${MPI_LINK_FLAGS}) + set(EOMPI_MODULE_NAME "EOMPI Module") + #set(CMAKE_SOURCE_DIR ${EOMPI_SRC_DIR}) + add_subdirectory(${EOMPI_SRC_DIR}) + endif(EOMPI) + + ## EOSERIAL Module + if(EOSERIAL) + set(EOSERIAL_MODULE_NAME "Serialization Module") + #set(CMAKE_SOURCE_DIR ${EOSERIAL_SRC_DIR}) + add_subdirectory(${EOSERIAL_SRC_DIR}) + endif(EOSERIAL) + +endif() + + diff --git a/edo/AUTHORS b/src/edo/AUTHORS old mode 100644 new mode 100755 similarity index 100% rename from edo/AUTHORS rename to src/edo/AUTHORS diff --git a/src/edo/CMakeLists.txt b/src/edo/CMakeLists.txt new file mode 100755 index 000000000..c1349863e --- /dev/null +++ b/src/edo/CMakeLists.txt @@ -0,0 +1,93 @@ +###################################################################################### +### 1) Set all needed source files for the project +###################################################################################### + +#include_directories(${EO_SRC_DIR}) +#include_directories(${CMAKE_CURRENT_SOURCE_DIR}) + +set(EDO_LIB_OUTPUT_PATH ${EDO_BIN_DIR}/lib) +set(LIBRARY_OUTPUT_PATH ${EDO_LIB_OUTPUT_PATH}) + + +###################################################################################### +### 3) Look for headers +###################################################################################### + +#file(GLOB HDRS edo.h) +# Indication from CMake : "We do not recommend using GLOB to collect a list of +# sources files from your source tree. If no +# CMakeLists.txt file changes when a source is added or +#  removed then the generated build system cannot know +# when to ask CMake to generate." + +set(HDRS + edoAlgoAdaptive.h + edoAlgo.h + edoAlgoStateless.h + edoBinomial.h + edoBinomialMulti.h + edoBounderBound.h + edoBounder.h + edoBounderNo.h + edoBounderRng.h + edoBounderUniform.h + edoContinue.h + edoDistrib.h + edoEDASA.h + edoEstimatorAdaptive.h + edoEstimatorBinomial.h + edoEstimatorBinomialMulti.h + edoEstimator.h + edoEstimatorNormalAdaptive.h + edoEstimatorNormalMono.h + edoEstimatorNormalMulti.h + edoEstimatorUniform.h + #edo.h + edoModifierDispersion.h + edoModifier.h + edoModifierMass.h + edoNormalAdaptive.h + edoNormalMonoCenter.h + edoNormalMono.h + edoNormalMultiCenter.h + edoNormalMulti.h + edoRepairerApply.h + edoRepairerDispatcher.h + edoRepairer.h + edoRepairerModulo.h + edoRepairerRound.h + edoSamplerBinomial.h + edoSamplerBinomialMulti.h + edoSampler.h + edoSamplerNormalAdaptive.h + edoSamplerNormalMono.h + edoSamplerNormalMulti.h + edoSamplerUniform.h + edoTransform.h + edoUniformCenter.h + edoUniform.h + edoVectorBounds.h +) + +install(FILES edo.h DESTINATION ${PROJECT_HDRS_INSTALL_SUBPATH}/${PROJECT_TAG} COMPONENT headers) + +install(FILES ${HDRS} DESTINATION ${PROJECT_HDRS_INSTALL_SUBPATH}/${PROJECT_TAG}/edo COMPONENT headers) + +###################################################################################### +### 4) Install directories +###################################################################################### + +install(DIRECTORY utils + DESTINATION ${PROJECT_HDRS_INSTALL_SUBPATH}/${PROJECT_TAG}/edo + COMPONENT headers + FILES_MATCHING PATTERN "*.h" + ) + + +###################################################################################### +### 2) Where must cmake go now ? +###################################################################################### + +ADD_SUBDIRECTORY(utils) + +###################################################################################### diff --git a/edo/COPYING b/src/edo/COPYING old mode 100644 new mode 100755 similarity index 100% rename from edo/COPYING rename to src/edo/COPYING diff --git a/edo/NEWS b/src/edo/NEWS old mode 100644 new mode 100755 similarity index 100% rename from edo/NEWS rename to src/edo/NEWS diff --git a/edo/Packaging.cmake b/src/edo/Packaging.cmake old mode 100644 new mode 100755 similarity index 100% rename from edo/Packaging.cmake rename to src/edo/Packaging.cmake diff --git a/edo/README b/src/edo/README old mode 100644 new mode 100755 similarity index 100% rename from edo/README rename to src/edo/README diff --git a/edo/src/TODO b/src/edo/TODO old mode 100644 new mode 100755 similarity index 100% rename from edo/src/TODO rename to src/edo/TODO diff --git a/edo/distclean b/src/edo/distclean similarity index 100% rename from edo/distclean rename to src/edo/distclean diff --git a/src/edo/edo.h b/src/edo/edo.h new file mode 100755 index 000000000..571454312 --- /dev/null +++ b/src/edo/edo.h @@ -0,0 +1,97 @@ +/* +The Evolving Distribution Objects framework (EDO) is a template-based, +ANSI-C++ evolutionary computation library which helps you to write your +own estimation of distribution algorithms. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +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 +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Copyright (C) 2010 Thales group +*/ +/* +Authors: + Johann Dréo + Caner Candan +*/ + +#ifndef _edo_ +#define _edo_ + +#include "edo/edoAlgo.h" +//#include "edo/edoEDASA.h" +#include "edo/edoAlgoAdaptive.h" +#include "edo/edoAlgoStateless.h" + +#include "edo/edoDistrib.h" +#include "edo/edoUniform.h" +#include "edo/edoNormalMono.h" +#include "edo/edoNormalMulti.h" +#include "edo/edoNormalAdaptive.h" +#include "edo/edoBinomial.h" +#include "edo/edoBinomialMulti.h" + +#include "edo/edoEstimator.h" +#include "edo/edoEstimatorUniform.h" +#include "edo/edoEstimatorNormalMono.h" +#include "edo/edoEstimatorNormalMulti.h" +#include "edo/edoEstimatorAdaptive.h" +#include "edo/edoEstimatorNormalAdaptive.h" +#include "edo/edoEstimatorBinomial.h" +#include "edo/edoEstimatorBinomialMulti.h" + +#include "edo/edoModifier.h" +#include "edo/edoModifierDispersion.h" +#include "edo/edoModifierMass.h" +#include "edo/edoUniformCenter.h" +#include "edo/edoNormalMonoCenter.h" +#include "edo/edoNormalMultiCenter.h" + +#include "edo/edoSampler.h" +#include "edo/edoSamplerUniform.h" +#include "edo/edoSamplerNormalMono.h" +#include "edo/edoSamplerNormalMulti.h" +#include "edo/edoSamplerNormalAdaptive.h" +#include "edo/edoSamplerBinomial.h" +#include "edo/edoSamplerBinomialMulti.h" + +#include "edo/edoVectorBounds.h" + +#include "edo/edoRepairer.h" +#include "edo/edoRepairerDispatcher.h" +#include "edo/edoRepairerRound.h" +#include "edo/edoRepairerModulo.h" +#include "edo/edoBounder.h" +#include "edo/edoBounderNo.h" +#include "edo/edoBounderBound.h" +#include "edo/edoBounderRng.h" +#include "edo/edoBounderUniform.h" + +#include "edo/edoContinue.h" +#include "edo/utils/edoCheckPoint.h" + +#include "edo/utils/edoStat.h" +#include "edo/utils/edoStatUniform.h" +#include "edo/utils/edoStatNormalMono.h" +#include "edo/utils/edoStatNormalMulti.h" + +#include "edo/utils/edoFileSnapshot.h" +#include "edo/utils/edoPopStat.h" + +#include "edo/edoTransform.h" + +#endif // !_edo_ + +// Local Variables: +// mode: C++ +// End: diff --git a/edo/edo.pc b/src/edo/edo.pc old mode 100644 new mode 100755 similarity index 100% rename from edo/edo.pc rename to src/edo/edo.pc diff --git a/edo/src/edoAlgo.h b/src/edo/edoAlgo.h old mode 100644 new mode 100755 similarity index 98% rename from edo/src/edoAlgo.h rename to src/edo/edoAlgo.h index b420f3074..d6fe8cadf --- a/edo/src/edoAlgo.h +++ b/src/edo/edoAlgo.h @@ -29,7 +29,7 @@ Copyright (C) 2010 Thales group #ifndef _edoAlgo_h #define _edoAlgo_h -#include +#include "../eo/eoAlgo.h" /** @defgroup Algorithms Algorithms diff --git a/edo/src/edoAlgoAdaptive.h b/src/edo/edoAlgoAdaptive.h old mode 100644 new mode 100755 similarity index 99% rename from edo/src/edoAlgoAdaptive.h rename to src/edo/edoAlgoAdaptive.h index 5ee0f359a..e2274ab3d --- a/edo/src/edoAlgoAdaptive.h +++ b/src/edo/edoAlgoAdaptive.h @@ -28,9 +28,7 @@ Copyright (C) 2010 Thales group #ifndef _edoAlgoAdaptive_h #define _edoAlgoAdaptive_h -#include - -#include +#include "../eo/utils/eoRNG.h" #include "edoAlgo.h" #include "edoEstimator.h" diff --git a/edo/src/edoAlgoStateless.h b/src/edo/edoAlgoStateless.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/edoAlgoStateless.h rename to src/edo/edoAlgoStateless.h diff --git a/edo/src/edoBinomial.h b/src/edo/edoBinomial.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/edoBinomial.h rename to src/edo/edoBinomial.h diff --git a/edo/src/edoBinomialMulti.h b/src/edo/edoBinomialMulti.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/edoBinomialMulti.h rename to src/edo/edoBinomialMulti.h diff --git a/edo/src/edoBounder.h b/src/edo/edoBounder.h old mode 100644 new mode 100755 similarity index 98% rename from edo/src/edoBounder.h rename to src/edo/edoBounder.h index 19b90b6be..9129e66e7 --- a/edo/src/edoBounder.h +++ b/src/edo/edoBounder.h @@ -28,7 +28,7 @@ Copyright (C) 2010 Thales group #ifndef _edoBounder_h #define _edoBounder_h -#include +#include "edoRepairer.h" /** The interface of a set of classes that modifies a solution so as to respect * a given set of bounds (typically an hypercube). diff --git a/edo/src/edoBounderBound.h b/src/edo/edoBounderBound.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/edoBounderBound.h rename to src/edo/edoBounderBound.h diff --git a/edo/src/edoBounderNo.h b/src/edo/edoBounderNo.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/edoBounderNo.h rename to src/edo/edoBounderNo.h diff --git a/edo/src/edoBounderRng.h b/src/edo/edoBounderRng.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/edoBounderRng.h rename to src/edo/edoBounderRng.h diff --git a/edo/src/edoBounderUniform.h b/src/edo/edoBounderUniform.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/edoBounderUniform.h rename to src/edo/edoBounderUniform.h diff --git a/edo/src/edoContinue.h b/src/edo/edoContinue.h old mode 100644 new mode 100755 similarity index 96% rename from edo/src/edoContinue.h rename to src/edo/edoContinue.h index 8089601e2..688444b1a --- a/edo/src/edoContinue.h +++ b/src/edo/edoContinue.h @@ -28,8 +28,8 @@ Copyright (C) 2010 Thales group #ifndef _doContinue_h #define _doContinue_h -#include -#include +#include "../eo/eoFunctor.h" +#include "../eo/eoPersistent.h" /** A continuator that check the state of an edoDistrib * diff --git a/edo/src/edoDistrib.h b/src/edo/edoDistrib.h old mode 100644 new mode 100755 similarity index 98% rename from edo/src/edoDistrib.h rename to src/edo/edoDistrib.h index 57cb45b3c..492656c99 --- a/edo/src/edoDistrib.h +++ b/src/edo/edoDistrib.h @@ -28,7 +28,7 @@ Copyright (C) 2010 Thales group #ifndef _edoDistrib_h #define _edoDistrib_h -#include +#include "../eo/eoFunctor.h" /** @defgroup Core * diff --git a/edo/src/edoEDASA.h b/src/edo/edoEDASA.h old mode 100644 new mode 100755 similarity index 98% rename from edo/src/edoEDASA.h rename to src/edo/edoEDASA.h index 1966d54db..9328976e0 --- a/edo/src/edoEDASA.h +++ b/src/edo/edoEDASA.h @@ -28,10 +28,10 @@ Copyright (C) 2010 Thales group #ifndef _edoEDASA_h #define _edoEDASA_h -#include -//#include +//#include +//#include -#include +#include "../eo/utils/eoRNG.h" #include "edoAlgo.h" #include "edoEstimator.h" diff --git a/edo/src/edoEstimator.h b/src/edo/edoEstimator.h old mode 100644 new mode 100755 similarity index 96% rename from edo/src/edoEstimator.h rename to src/edo/edoEstimator.h index 7c9df6f24..9520a3928 --- a/edo/src/edoEstimator.h +++ b/src/edo/edoEstimator.h @@ -28,8 +28,8 @@ Copyright (C) 2010 Thales group #ifndef _edoEstimator_h #define _edoEstimator_h -#include -#include +#include "../eo/eoPop.h" +#include "../eo/eoFunctor.h" /** @defgroup Estimators Estimators * diff --git a/edo/src/edoEstimatorAdaptive.h b/src/edo/edoEstimatorAdaptive.h old mode 100644 new mode 100755 similarity index 96% rename from edo/src/edoEstimatorAdaptive.h rename to src/edo/edoEstimatorAdaptive.h index 225e2e57d..5f98b366c --- a/edo/src/edoEstimatorAdaptive.h +++ b/src/edo/edoEstimatorAdaptive.h @@ -28,8 +28,8 @@ Copyright (C) 2010 Thales group #ifndef _edoEstimatorAdaptive_h #define _edoEstimatorAdaptive_h -#include -#include +#include "../eo/eoPop.h" +#include "../eo/eoFunctor.h" #include "edoEstimator.h" diff --git a/edo/src/edoEstimatorBinomial.h b/src/edo/edoEstimatorBinomial.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/edoEstimatorBinomial.h rename to src/edo/edoEstimatorBinomial.h diff --git a/edo/src/edoEstimatorBinomialMulti.h b/src/edo/edoEstimatorBinomialMulti.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/edoEstimatorBinomialMulti.h rename to src/edo/edoEstimatorBinomialMulti.h diff --git a/edo/src/edoEstimatorNormalAdaptive.h b/src/edo/edoEstimatorNormalAdaptive.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/edoEstimatorNormalAdaptive.h rename to src/edo/edoEstimatorNormalAdaptive.h diff --git a/edo/src/edoEstimatorNormalMono.h b/src/edo/edoEstimatorNormalMono.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/edoEstimatorNormalMono.h rename to src/edo/edoEstimatorNormalMono.h diff --git a/edo/src/edoEstimatorNormalMulti.h b/src/edo/edoEstimatorNormalMulti.h old mode 100644 new mode 100755 similarity index 68% rename from edo/src/edoEstimatorNormalMulti.h rename to src/edo/edoEstimatorNormalMulti.h index 1298d8a51..8f99a1dd3 --- a/edo/src/edoEstimatorNormalMulti.h +++ b/src/edo/edoEstimatorNormalMulti.h @@ -145,14 +145,14 @@ class edoEstimatorNormalMulti : public edoEstimator _mean /= p_size; } - const ublas::symmetric_matrix< AtomType, ublas::lower >& get_varcovar() const {return _varcovar;} + const ublas::symmetric_matrix< AtomType, ublas::lower >& get_varcovar() const {return _varcovar;} - const ublas::vector< AtomType >& get_mean() const {return _mean;} + const ublas::vector< AtomType >& get_mean() const {return _mean;} private: ublas::symmetric_matrix< AtomType, ublas::lower > _varcovar; ublas::vector< AtomType > _mean; - }; + }; // class CovMatrix public: typedef typename EOT::AtomType AtomType; @@ -169,87 +169,88 @@ class edoEstimatorNormalMulti : public edoEstimator return edoNormalMulti< EOT >( cov.get_mean(), cov.get_varcovar() ); } -}; +//}; // class edoEstimatorNormalMulti #else -#ifdef WITH_EIGEN + #ifdef WITH_EIGEN -public: - class CovMatrix - { public: - typedef typename EOT::AtomType AtomType; - typedef typename D::Vector Vector; - typedef typename D::Matrix Matrix; - - CovMatrix( const eoPop< EOT >& pop ) + class CovMatrix { - // Some checks before starting to estimate covar - unsigned int p_size = pop.size(); // population size - assert(p_size > 0); - unsigned int s_size = pop[0].size(); // solution size - assert(s_size > 0); - - // Copy the population to an ublas matrix - Matrix sample( p_size, s_size ); + public: + typedef typename EOT::AtomType AtomType; + typedef typename D::Vector Vector; + typedef typename D::Matrix Matrix; + + CovMatrix( const eoPop< EOT >& pop ) + { + // Some checks before starting to estimate covar + unsigned int p_size = pop.size(); // population size + assert(p_size > 0); + unsigned int s_size = pop[0].size(); // solution size + assert(s_size > 0); + + // Copy the population to an ublas matrix + Matrix sample( p_size, s_size ); + + for (unsigned int i = 0; i < p_size; ++i) { + for (unsigned int j = 0; j < s_size; ++j) { + sample(i, j) = pop[i][j]; + } + } - for (unsigned int i = 0; i < p_size; ++i) { - for (unsigned int j = 0; j < s_size; ++j) { - sample(i, j) = pop[i][j]; - } - } + // variance-covariance matrix are symmetric, thus a triangular storage is sufficient + // variance-covariance matrix computation : transpose(A) * A + Matrix var = sample.transpose() * sample; - // variance-covariance matrix are symmetric, thus a triangular storage is sufficient - // variance-covariance matrix computation : transpose(A) * A - Matrix var = sample.transpose() * sample; + // Be sure that the symmetric matrix got the good size + assert(var.innerSize() == s_size); + assert(var.outerSize() == s_size); - // Be sure that the symmetric matrix got the good size - assert(var.innerSize() == s_size); - assert(var.outerSize() == s_size); + _varcovar = var / p_size; - _varcovar = var / p_size; + // unit vector + Vector u( p_size); + u = Vector::Constant(p_size, 1); - // unit vector - Vector u( p_size); - u = Vector::Constant(p_size, 1); + // sum over columns + _mean = sample.transpose() * u; - // sum over columns - _mean = sample.transpose() * u; + // division by n + _mean /= p_size; + } - // division by n - _mean /= p_size; - } + const Matrix& get_varcovar() const {return _varcovar;} - const Matrix& get_varcovar() const {return _varcovar;} + const Vector& get_mean() const {return _mean;} - const Vector& get_mean() const {return _mean;} + private: + Matrix _varcovar; + Vector _mean; + }; // class CovMatrix - private: - Matrix _varcovar; - Vector _mean; - }; + public: + typedef typename EOT::AtomType AtomType; -public: - typedef typename EOT::AtomType AtomType; + edoNormalMulti< EOT > operator()(eoPop& pop) + { + unsigned int p_size = pop.size(); + assert(p_size > 0); - edoNormalMulti< EOT > operator()(eoPop& pop) - { - unsigned int p_size = pop.size(); - assert(p_size > 0); + unsigned int s_size = pop[0].size(); + assert(s_size > 0); - unsigned int s_size = pop[0].size(); - assert(s_size > 0); + CovMatrix cov( pop ); - CovMatrix cov( pop ); + assert( cov.get_mean().innerSize() == s_size ); + assert( cov.get_mean().outerSize() == 1 ); + assert( cov.get_varcovar().innerSize() == s_size ); + assert( cov.get_varcovar().outerSize() == s_size ); - assert( cov.get_mean().innerSize() == s_size ); - assert( cov.get_mean().outerSize() == 1 ); - assert( cov.get_varcovar().innerSize() == s_size ); - assert( cov.get_varcovar().outerSize() == s_size ); + return edoNormalMulti< EOT >( cov.get_mean(), cov.get_varcovar() ); + } - return edoNormalMulti< EOT >( cov.get_mean(), cov.get_varcovar() ); - } -#endif // WITH_EIGEN + #endif // WITH_EIGEN #endif // WITH_BOOST }; // class edoNormalMulti diff --git a/edo/src/edoEstimatorUniform.h b/src/edo/edoEstimatorUniform.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/edoEstimatorUniform.h rename to src/edo/edoEstimatorUniform.h diff --git a/edo/src/edoModifier.h b/src/edo/edoModifier.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/edoModifier.h rename to src/edo/edoModifier.h diff --git a/edo/src/edoModifierDispersion.h b/src/edo/edoModifierDispersion.h old mode 100644 new mode 100755 similarity index 96% rename from edo/src/edoModifierDispersion.h rename to src/edo/edoModifierDispersion.h index 7636f67e5..37127cfb1 --- a/edo/src/edoModifierDispersion.h +++ b/src/edo/edoModifierDispersion.h @@ -28,8 +28,8 @@ Copyright (C) 2010 Thales group #ifndef _edoModifierDispersion_h #define _edoModifierDispersion_h -#include -#include +#include "../eo/eoPop.h" +#include "../eo/eoFunctor.h" #include "edoModifier.h" diff --git a/edo/src/edoModifierMass.h b/src/edo/edoModifierMass.h old mode 100644 new mode 100755 similarity index 98% rename from edo/src/edoModifierMass.h rename to src/edo/edoModifierMass.h index aa90c55a3..acf552bce --- a/edo/src/edoModifierMass.h +++ b/src/edo/edoModifierMass.h @@ -28,7 +28,7 @@ Copyright (C) 2010 Thales group #ifndef _edoModifierMass_h #define _edoModifierMass_h -#include +#include "../eo/eoFunctor.h" #include "edoModifier.h" diff --git a/edo/src/edoNormalAdaptive.h b/src/edo/edoNormalAdaptive.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/edoNormalAdaptive.h rename to src/edo/edoNormalAdaptive.h diff --git a/edo/src/edoNormalMono.h b/src/edo/edoNormalMono.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/edoNormalMono.h rename to src/edo/edoNormalMono.h diff --git a/edo/src/edoNormalMonoCenter.h b/src/edo/edoNormalMonoCenter.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/edoNormalMonoCenter.h rename to src/edo/edoNormalMonoCenter.h diff --git a/edo/src/edoNormalMulti.h b/src/edo/edoNormalMulti.h old mode 100644 new mode 100755 similarity index 97% rename from edo/src/edoNormalMulti.h rename to src/edo/edoNormalMulti.h index a64a91214..9ab056dbb --- a/edo/src/edoNormalMulti.h +++ b/src/edo/edoNormalMulti.h @@ -78,8 +78,8 @@ class edoNormalMulti : public edoDistrib< EOT > typedef typename EOT::AtomType AtomType; edoNormalMulti( unsigned int dim = 1 ) : - _mean( const ublas::vector(0,dim) ), - _varcovar( const ublas::identity_matrix(dim) ) + _mean( ublas::vector(0,dim) ), + _varcovar( ublas::identity_matrix(dim) ) { assert(_mean.size() > 0); assert(_mean.size() == _varcovar.size1()); diff --git a/edo/src/edoNormalMultiCenter.h b/src/edo/edoNormalMultiCenter.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/edoNormalMultiCenter.h rename to src/edo/edoNormalMultiCenter.h diff --git a/edo/src/edoRepairer.h b/src/edo/edoRepairer.h old mode 100644 new mode 100755 similarity index 98% rename from edo/src/edoRepairer.h rename to src/edo/edoRepairer.h index a594bec4d..f13ecc4ba --- a/edo/src/edoRepairer.h +++ b/src/edo/edoRepairer.h @@ -28,7 +28,7 @@ Copyright (C) 2011 Thales group #ifndef _edoRepairer_h #define _edoRepairer_h -#include +#include "../eo/eoFunctor.h" /** @defgroup Repairers * diff --git a/edo/src/edoRepairerApply.h b/src/edo/edoRepairerApply.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/edoRepairerApply.h rename to src/edo/edoRepairerApply.h diff --git a/edo/src/edoRepairerDispatcher.h b/src/edo/edoRepairerDispatcher.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/edoRepairerDispatcher.h rename to src/edo/edoRepairerDispatcher.h diff --git a/edo/src/edoRepairerModulo.h b/src/edo/edoRepairerModulo.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/edoRepairerModulo.h rename to src/edo/edoRepairerModulo.h diff --git a/edo/src/edoRepairerRound.h b/src/edo/edoRepairerRound.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/edoRepairerRound.h rename to src/edo/edoRepairerRound.h diff --git a/edo/src/edoSampler.h b/src/edo/edoSampler.h old mode 100644 new mode 100755 similarity index 98% rename from edo/src/edoSampler.h rename to src/edo/edoSampler.h index d2b1b431c..f6338c225 --- a/edo/src/edoSampler.h +++ b/src/edo/edoSampler.h @@ -28,7 +28,7 @@ Copyright (C) 2010 Thales group #ifndef _edoSampler_h #define _edoSampler_h -#include +#include "../eo/eoFunctor.h" #include "edoRepairer.h" #include "edoBounderNo.h" diff --git a/edo/src/edoSamplerBinomial.h b/src/edo/edoSamplerBinomial.h old mode 100644 new mode 100755 similarity index 98% rename from edo/src/edoSamplerBinomial.h rename to src/edo/edoSamplerBinomial.h index ec424a21f..7bc07e3ed --- a/edo/src/edoSamplerBinomial.h +++ b/src/edo/edoSamplerBinomial.h @@ -27,7 +27,7 @@ Copyright (C) 2013 Thales group #ifndef _edoSamplerBinomial_h #define _edoSamplerBinomial_h -#include +#include "../eo/utils/eoRNG.h" #include "edoSampler.h" #include "edoBinomial.h" diff --git a/edo/src/edoSamplerBinomialMulti.h b/src/edo/edoSamplerBinomialMulti.h old mode 100644 new mode 100755 similarity index 98% rename from edo/src/edoSamplerBinomialMulti.h rename to src/edo/edoSamplerBinomialMulti.h index 732cdbed5..80e7e1725 --- a/edo/src/edoSamplerBinomialMulti.h +++ b/src/edo/edoSamplerBinomialMulti.h @@ -27,7 +27,7 @@ Copyright (C) 2013 Thales group #ifndef _edoSamplerBinomialMulti_h #define _edoSamplerBinomialMulti_h -#include +#include "../eo/utils/eoRNG.h" #include "edoSampler.h" #include "edoBinomialMulti.h" diff --git a/edo/src/edoSamplerNormalAdaptive.h b/src/edo/edoSamplerNormalAdaptive.h old mode 100644 new mode 100755 similarity index 99% rename from edo/src/edoSamplerNormalAdaptive.h rename to src/edo/edoSamplerNormalAdaptive.h index 051e14835..d70f8425b --- a/edo/src/edoSamplerNormalAdaptive.h +++ b/src/edo/edoSamplerNormalAdaptive.h @@ -31,7 +31,7 @@ Copyright (C) 2010 Thales group #include #include -#include +#include "edoSampler.h" /** Sample points in a multi-normal law defined by a mean vector, a covariance matrix, a sigma scale factor and * evolution paths. This is a step of the CMA-ES algorithm. diff --git a/edo/src/edoSamplerNormalMono.h b/src/edo/edoSamplerNormalMono.h old mode 100644 new mode 100755 similarity index 98% rename from edo/src/edoSamplerNormalMono.h rename to src/edo/edoSamplerNormalMono.h index f4bf7964a..465acab77 --- a/edo/src/edoSamplerNormalMono.h +++ b/src/edo/edoSamplerNormalMono.h @@ -30,7 +30,7 @@ Copyright (C) 2010 Thales group #include -#include +#include "../eo/utils/eoRNG.h" #include "edoSampler.h" #include "edoNormalMono.h" diff --git a/edo/src/edoSamplerNormalMulti.h b/src/edo/edoSamplerNormalMulti.h old mode 100644 new mode 100755 similarity index 99% rename from edo/src/edoSamplerNormalMulti.h rename to src/edo/edoSamplerNormalMulti.h index d6e3b9bc7..e920a2494 --- a/edo/src/edoSamplerNormalMulti.h +++ b/src/edo/edoSamplerNormalMulti.h @@ -31,11 +31,11 @@ Copyright (C) 2010 Thales group #include #include -#include +#include "edoSampler.h" #ifdef WITH_BOOST -#include +#include "utils/edoCholesky.h" #include #include namespace ublas = boost::numeric::ublas; diff --git a/edo/src/edoSamplerUniform.h b/src/edo/edoSamplerUniform.h old mode 100644 new mode 100755 similarity index 98% rename from edo/src/edoSamplerUniform.h rename to src/edo/edoSamplerUniform.h index 334daf36b..ebbfc2b2d --- a/edo/src/edoSamplerUniform.h +++ b/src/edo/edoSamplerUniform.h @@ -28,7 +28,7 @@ Copyright (C) 2010 Thales group #ifndef _edoSamplerUniform_h #define _edoSamplerUniform_h -#include +#include "../eo/utils/eoRNG.h" #include "edoSampler.h" #include "edoUniform.h" diff --git a/edo/src/edoTransform.h b/src/edo/edoTransform.h old mode 100644 new mode 100755 similarity index 99% rename from edo/src/edoTransform.h rename to src/edo/edoTransform.h index 20421d5b1..964f05ef9 --- a/edo/src/edoTransform.h +++ b/src/edo/edoTransform.h @@ -27,8 +27,6 @@ Copyright (C) 2013 Thales group #ifndef _edoTransform_h #define _edoTransform_h -#include // eoTransform - /** @defgroup Wrappers * * Wrappers to interact with other parts of the framework diff --git a/edo/src/edoUniform.h b/src/edo/edoUniform.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/edoUniform.h rename to src/edo/edoUniform.h diff --git a/edo/src/edoUniformCenter.h b/src/edo/edoUniformCenter.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/edoUniformCenter.h rename to src/edo/edoUniformCenter.h diff --git a/edo/src/edoVectorBounds.h b/src/edo/edoVectorBounds.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/edoVectorBounds.h rename to src/edo/edoVectorBounds.h diff --git a/edo/install.cmake-dist b/src/edo/install.cmake-dist old mode 100644 new mode 100755 similarity index 100% rename from edo/install.cmake-dist rename to src/edo/install.cmake-dist diff --git a/edo/package_deb b/src/edo/package_deb similarity index 100% rename from edo/package_deb rename to src/edo/package_deb diff --git a/edo/package_rpm b/src/edo/package_rpm similarity index 100% rename from edo/package_rpm rename to src/edo/package_rpm diff --git a/edo/src/utils/CMakeLists.txt b/src/edo/utils/CMakeLists.txt old mode 100644 new mode 100755 similarity index 89% rename from edo/src/utils/CMakeLists.txt rename to src/edo/utils/CMakeLists.txt index a6fc4d067..48d3faef7 --- a/edo/src/utils/CMakeLists.txt +++ b/src/edo/utils/CMakeLists.txt @@ -2,8 +2,8 @@ ### 1) Include the sources ###################################################################################### -include_directories(${EO_SRC_DIR}/src) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +#include_directories(${EO_SRC_DIR}/src) +#include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ###################################################################################### ### 2) Define the target diff --git a/edo/src/utils/edoCheckPoint.h b/src/edo/utils/edoCheckPoint.h old mode 100644 new mode 100755 similarity index 97% rename from edo/src/utils/edoCheckPoint.h rename to src/edo/utils/edoCheckPoint.h index 5ba25ac1b..95edbc6d2 --- a/edo/src/utils/edoCheckPoint.h +++ b/src/edo/utils/edoCheckPoint.h @@ -28,10 +28,11 @@ Copyright (C) 2010 Thales group #ifndef _edoCheckPoint_h #define _edoCheckPoint_h -#include -#include +// eo's +#include "../../eo/utils/eoUpdater.h" +#include "../../eo/utils/eoMonitor.h" -#include "edoContinue.h" +#include "../edoContinue.h" #include "edoStat.h" //! eoCheckPoint< EOT > classe fitted to Distribution Object library diff --git a/edo/src/utils/edoCholesky.h b/src/edo/utils/edoCholesky.h old mode 100644 new mode 100755 similarity index 98% rename from edo/src/utils/edoCholesky.h rename to src/edo/utils/edoCholesky.h index fad067507..06a483e97 --- a/edo/src/utils/edoCholesky.h +++ b/src/edo/utils/edoCholesky.h @@ -135,7 +135,7 @@ class CholeskyLLT : public CholeskyBase public: virtual void factorize( const typename CholeskyBase::CovarMat& V ) { - unsigned int N = assert_properties( V ); + unsigned int N = this->assert_properties( V ); unsigned int i=0, j=0, k; this->_L(0, 0) = sqrt( V(0, 0) ); @@ -237,7 +237,7 @@ class CholeskyLDLT : public CholeskyBase virtual void factorize( const typename CholeskyBase::CovarMat& V ) { // use "int" everywhere, because of the "j-1" operation - int N = assert_properties( V ); + int N = this->assert_properties( V ); // example of an invertible matrix whose decomposition is undefined assert( V(0,0) != 0 ); diff --git a/edo/src/utils/edoFileSnapshot.cpp b/src/edo/utils/edoFileSnapshot.cpp old mode 100644 new mode 100755 similarity index 96% rename from edo/src/utils/edoFileSnapshot.cpp rename to src/edo/utils/edoFileSnapshot.cpp index 1860ac0f1..bd04b353f --- a/edo/src/utils/edoFileSnapshot.cpp +++ b/src/edo/utils/edoFileSnapshot.cpp @@ -35,9 +35,11 @@ Copyright (C) 2010 Thales group #include #include -#include -#include -#include +#include "edoFileSnapshot.h" + +// eo's +#include "../../eo/utils/compatibility.h" +#include "../../eo/utils/eoParam.h" edoFileSnapshot::edoFileSnapshot(std::string dirname, unsigned int frequency /*= 1*/, diff --git a/edo/src/utils/edoFileSnapshot.h b/src/edo/utils/edoFileSnapshot.h old mode 100644 new mode 100755 similarity index 98% rename from edo/src/utils/edoFileSnapshot.h rename to src/edo/utils/edoFileSnapshot.h index 7f157f321..eccf3f270 --- a/edo/src/utils/edoFileSnapshot.h +++ b/src/edo/utils/edoFileSnapshot.h @@ -36,7 +36,8 @@ Copyright (C) 2010 Thales group #include #include -#include "utils/eoMonitor.h" +// eo's +#include "../../eo/utils/eoMonitor.h" //! edoFileSnapshot diff --git a/edo/src/utils/edoHyperVolume.h b/src/edo/utils/edoHyperVolume.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/utils/edoHyperVolume.h rename to src/edo/utils/edoHyperVolume.h diff --git a/edo/src/utils/edoPopStat.h b/src/edo/utils/edoPopStat.h old mode 100644 new mode 100755 similarity index 98% rename from edo/src/utils/edoPopStat.h rename to src/edo/utils/edoPopStat.h index 4d5c9f10c..ce0c6e6d0 --- a/edo/src/utils/edoPopStat.h +++ b/src/edo/utils/edoPopStat.h @@ -32,7 +32,8 @@ Copyright (C) 2010 Thales group #ifndef _edoPopStat_h #define _edoPopStat_h -#include +// eo's +#include "../../eo/utils/eoStat.h" /** Thanks to MS/VC++, eoParam mechanism is unable to handle std::vectors of stats. diff --git a/edo/src/utils/edoStat.h b/src/edo/utils/edoStat.h old mode 100644 new mode 100755 similarity index 98% rename from edo/src/utils/edoStat.h rename to src/edo/utils/edoStat.h index 233101323..79712946d --- a/edo/src/utils/edoStat.h +++ b/src/edo/utils/edoStat.h @@ -28,7 +28,8 @@ Copyright (C) 2010 Thales group #ifndef _edoStat_h #define _edoStat_h -#include +// eo's +#include "../../eo/eoFunctor.h" //! edoStatBase< D > diff --git a/edo/src/utils/edoStatNormalMono.h b/src/edo/utils/edoStatNormalMono.h old mode 100644 new mode 100755 similarity index 98% rename from edo/src/utils/edoStatNormalMono.h rename to src/edo/utils/edoStatNormalMono.h index 87705a0b0..c87c9784e --- a/edo/src/utils/edoStatNormalMono.h +++ b/src/edo/utils/edoStatNormalMono.h @@ -29,7 +29,7 @@ Copyright (C) 2010 Thales group #define _edoStatNormalMono_h #include "edoStat.h" -#include "edoNormalMono.h" +#include "../edoNormalMono.h" //! edoStatNormalMono< EOT > diff --git a/edo/src/utils/edoStatNormalMulti.h b/src/edo/utils/edoStatNormalMulti.h old mode 100644 new mode 100755 similarity index 100% rename from edo/src/utils/edoStatNormalMulti.h rename to src/edo/utils/edoStatNormalMulti.h diff --git a/edo/src/utils/edoStatUniform.h b/src/edo/utils/edoStatUniform.h old mode 100644 new mode 100755 similarity index 98% rename from edo/src/utils/edoStatUniform.h rename to src/edo/utils/edoStatUniform.h index c0fa79352..39245938c --- a/edo/src/utils/edoStatUniform.h +++ b/src/edo/utils/edoStatUniform.h @@ -29,7 +29,7 @@ Copyright (C) 2010 Thales group #define _edoStatUniform_h #include "edoStat.h" -#include "edoUniform.h" +#include "../edoUniform.h" //! edoStatUniform< EOT > diff --git a/eo/BuildConfig.cmake b/src/eo/BuildConfig.cmake old mode 100644 new mode 100755 similarity index 100% rename from eo/BuildConfig.cmake rename to src/eo/BuildConfig.cmake diff --git a/eo/CHANGELOG b/src/eo/CHANGELOG old mode 100644 new mode 100755 similarity index 100% rename from eo/CHANGELOG rename to src/eo/CHANGELOG diff --git a/src/eo/CMakeLists.txt b/src/eo/CMakeLists.txt new file mode 100755 index 000000000..cd2b92ecc --- /dev/null +++ b/src/eo/CMakeLists.txt @@ -0,0 +1,225 @@ +##################################################################################### +### 0) Configuration files +##################################################################################### + +# now create config headers +configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h) + +# now create config install_symlink script file +configure_file(install_symlink.py.cmake ${CMAKE_CURRENT_BINARY_DIR}/install_symlink.py) + +##################################################################################### + +###################################################################################### +### 1) Include the sources +###################################################################################### + +#include_directories(${EOMPI_SRC_DIR}) +#include_directories(${EOSERIAL_SRC_DIR}) +#include_directories(${CMAKE_CURRENT_SOURCE_DIR}) + +###################################################################################### +### 2) Define the eo target +###################################################################################### + +set(EO_LIB_OUTPUT_PATH ${EO_BIN_DIR}/lib) +set(LIBRARY_OUTPUT_PATH ${EO_LIB_OUTPUT_PATH}) + +set(EO_SOURCES + eoFunctorStore.cpp + eoPersistent.cpp + eoPrintable.cpp + eoCtrlCContinue.cpp + eoScalarFitnessAssembled.cpp + eoSIGContinue.cpp + ) + +add_library(eo STATIC ${EO_SOURCES}) + +###################################################################################### +### 3) Optionnal: define your target(s)'s version: no effect for windows +###################################################################################### + +set(EO_VERSION ${GLOBAL_VERSION}) +set_target_properties(eo PROPERTIES VERSION "${EO_VERSION}") + +install(TARGETS eo ARCHIVE DESTINATION ${LIB} COMPONENT libraries) + +#file(GLOB HDRS *[^eo].h eo) +# Indication from CMake : "We do not recommend using GLOB to collect a list of +# sources files from your source tree. If no +# CMakeLists.txt file changes when a source is added or +#  removed then the generated build system cannot know +# when to ask CMake to generate." + +set(HDRS + apply.h + eoAlgo.h + eoBinaryFlight.h + eoBitParticle.h + eoBreed.h + eoCellularEasyEA.h + eoCloneOps.h + eoCombinedContinue.h + eoCombinedInit.h + eoConstrictedVariableWeightVelocity.h + eoConstrictedVelocity.h + eoContinue.h + eoCounter.h + eoCtrlCContinue.h + eoDetSelect.h + eoDetTournamentSelect.h + eoDistribUpdater.h + eoDistribution.h + eoDualFitness.h + eoEasyEA.h + eoEasyPSO.h + eoEDA.h + eoEvalContinue.h + eoEvalCounterThrowException.h + eoEvalDump.h + eoEvalFuncCounterBounder.h + eoEvalFuncCounter.h + eoEvalFunc.h + eoEvalFuncPtr.h + eoEvalKeepBest.h + eoEvalTimeThrowException.h + eoEvalUserTimeThrowException.h + eoExceptions.h + eoExtendedVelocity.h + eoFactory.h + eoFitContinue.h + eoFitnessScalingSelect.h + eoFixedInertiaWeightedVelocity.h + eoFlight.h + eoFlOrBinOp.h + eoFlOrMonOp.h + eoFlOrQuadOp.h + eoFunctor.h + eoFunctorStore.h + eoG3Replacement.h + eoGaussRealWeightUp.h + eoGenContinue.h + eoGeneralBreeder.h + eoGenOp.h + #eo.h + EO.h + eoInit.h + eoInitializer.h + eoIntegerVelocity.h + eoInt.h + eoInvalidateOps.h + eoInvertedContinue.h + eoLinearDecreasingWeightUp.h + eoLinearFitScaling.h + eoLinearTopology.h + eoMerge.h + eoMergeReduce.h + eoMGGReplacement.h + eoNDSorting.h + eoNeighborhood.h + eoObject.h + eoOneToOneBreeder.h + eoOpContainer.h + eoOp.h + eoOpSelMason.h + eoOrderXover.h + eoParticleBestInit.h + eoParticleFullInitializer.h + eoPerf2Worth.h + eoPeriodicContinue.h + eoPersistent.h + eoPopEvalFunc.h + eoPop.h + eoPopulator.h + eoPrintable.h + eoPropGAGenOp.h + eoProportionalCombinedOp.h + eoProportionalSelect.h + eoPSO.h + eoRandomRealWeightUp.h + eoRandomSelect.h + eoRanking.h + eoRankingSelect.h + eoRankMuSelect.h + eoRealBoundModifier.h + eoRealParticle.h + eoReduce.h + eoReduceMerge.h + eoReduceMergeReduce.h + eoReduceSplit.h + eoReplacement.h + eoRingTopology.h + eoScalarFitnessAssembled.h + eoScalarFitness.h + eoSecondsElapsedContinue.h + eoSelectFactory.h + eoSelectFromWorth.h + eoSelect.h + eoSelectMany.h + eoSelectNumber.h + eoSelectOne.h + eoSelectPerc.h + eoSequentialSelect.h + eoSGAGenOp.h + eoSGA.h + eoSGATransform.h + eoSharing.h + eoSharingSelect.h + eoShiftMutation.h + eoSigBinaryFlight.h + eoSIGContinue.h + eoSimpleEDA.h + eoSocialNeighborhood.h + eoStandardFlight.h + eoStandardVelocity.h + eoStarTopology.h + eoSteadyFitContinue.h + eoSTLFunctor.h + eoStochasticUniversalSelect.h + eoStochTournamentSelect.h + eoSurviveAndDie.h + eoSwapMutation.h + eoSyncEasyPSO.h + eoTimeContinue.h + eoTopology.h + eoTransform.h + eoTruncatedSelectMany.h + eoTruncatedSelectOne.h + eoTruncSelect.h + eoTwoOptMutation.h + eoVariableInertiaWeightedVelocity.h + eoVariableLengthCrossover.h + eoVariableLengthMutation.h + eoVector.h + eoVectorParticle.h + eoVelocity.h + eoVelocityInit.h + eoWeightUpdater.h + es.h + ga.h + PO.h +) + +install(FILES eo.h DESTINATION ${PROJECT_HDRS_INSTALL_SUBPATH}/${PROJECT_TAG} COMPONENT headers) +install(FILES ${HDRS} DESTINATION ${PROJECT_HDRS_INSTALL_SUBPATH}/${PROJECT_TAG}/eo COMPONENT headers) +install(DIRECTORY do es ga gp other utils + DESTINATION ${PROJECT_HDRS_INSTALL_SUBPATH}/${PROJECT_TAG}/eo + COMPONENT headers + FILES_MATCHING PATTERN "*.h" PATTERN "checkpointing" PATTERN external_eo + ) + +###################################################################################### +### 4) Where must cmake go now ? +###################################################################################### + +add_subdirectory(es) +add_subdirectory(ga) +add_subdirectory(utils) +#add_subdirectory(serial) + +if(ENABLE_PYEO) + add_subdirectory(pyeo) +endif(ENABLE_PYEO) + +###################################################################################### diff --git a/eo/COPYING b/src/eo/COPYING old mode 100644 new mode 100755 similarity index 100% rename from eo/COPYING rename to src/eo/COPYING diff --git a/eo/ConfigureChecks.cmake b/src/eo/ConfigureChecks.cmake old mode 100644 new mode 100755 similarity index 100% rename from eo/ConfigureChecks.cmake rename to src/eo/ConfigureChecks.cmake diff --git a/eo/src/EO.h b/src/eo/EO.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/EO.h rename to src/eo/EO.h index f904559d4..19708314f --- a/eo/src/EO.h +++ b/src/eo/EO.h @@ -28,8 +28,8 @@ //----------------------------------------------------------------------------- #include // std::runtime_error -#include // eoObject -#include // eoPersistent +#include "eoObject.h" // eoObject +#include "eoPersistent.h" // eoPersistent /** @defgroup Core Core components diff --git a/eo/INSTALL b/src/eo/INSTALL old mode 100644 new mode 100755 similarity index 100% rename from eo/INSTALL rename to src/eo/INSTALL diff --git a/eo/LICENSE b/src/eo/LICENSE old mode 100644 new mode 100755 similarity index 100% rename from eo/LICENSE rename to src/eo/LICENSE diff --git a/eo/NEWS b/src/eo/NEWS old mode 100644 new mode 100755 similarity index 100% rename from eo/NEWS rename to src/eo/NEWS diff --git a/eo/PKGBUILD.cmake b/src/eo/PKGBUILD.cmake old mode 100644 new mode 100755 similarity index 100% rename from eo/PKGBUILD.cmake rename to src/eo/PKGBUILD.cmake diff --git a/eo/src/PO.h b/src/eo/PO.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/PO.h rename to src/eo/PO.h index 0c246135e..c4225cf61 --- a/eo/src/PO.h +++ b/src/eo/PO.h @@ -27,7 +27,7 @@ //----------------------------------------------------------------------------- #include -#include +#include "EO.h" //----------------------------------------------------------------------------- /** PO inheriting from EO is specially designed for particle swarm optimization particle.POs have got a fitness, diff --git a/eo/README b/src/eo/README old mode 100644 new mode 100755 similarity index 100% rename from eo/README rename to src/eo/README diff --git a/eo/THANKS b/src/eo/THANKS old mode 100644 new mode 100755 similarity index 100% rename from eo/THANKS rename to src/eo/THANKS diff --git a/eo/ToDo b/src/eo/ToDo old mode 100644 new mode 100755 similarity index 100% rename from eo/ToDo rename to src/eo/ToDo diff --git a/eo/src/apply.h b/src/eo/apply.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/apply.h rename to src/eo/apply.h index 45c4cfc2d..71cf892fc --- a/eo/src/apply.h +++ b/src/eo/apply.h @@ -26,10 +26,10 @@ #ifndef _apply_h #define _apply_h -#include -#include -#include -#include +#include "utils/eoParallel.h" +#include "utils/eoParser.h" +#include "utils/eoLogger.h" +#include "eoFunctor.h" #include #ifdef _OPENMP diff --git a/eo/config.h.cmake b/src/eo/config.h.cmake old mode 100644 new mode 100755 similarity index 100% rename from eo/config.h.cmake rename to src/eo/config.h.cmake diff --git a/eo/contrib/MGE/ChangeLog b/src/eo/contrib/MGE/ChangeLog old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/MGE/ChangeLog rename to src/eo/contrib/MGE/ChangeLog diff --git a/eo/contrib/MGE/VirusOp.h b/src/eo/contrib/MGE/VirusOp.h old mode 100644 new mode 100755 similarity index 99% rename from eo/contrib/MGE/VirusOp.h rename to src/eo/contrib/MGE/VirusOp.h index 54d7b4aaf..adcb38e00 --- a/eo/contrib/MGE/VirusOp.h +++ b/src/eo/contrib/MGE/VirusOp.h @@ -30,7 +30,8 @@ #include // bind2nd #include // std::string -#include +#include "../../utils/eoRNG.h" + #include "eoVirus.h" /** VirusBitFlip --> changes 1 bit diff --git a/eo/contrib/MGE/eoInitVirus.h b/src/eo/contrib/MGE/eoInitVirus.h old mode 100644 new mode 100755 similarity index 95% rename from eo/contrib/MGE/eoInitVirus.h rename to src/eo/contrib/MGE/eoInitVirus.h index f4cb53072..caaf7add9 --- a/eo/contrib/MGE/eoInitVirus.h +++ b/src/eo/contrib/MGE/eoInitVirus.h @@ -29,10 +29,10 @@ #include -#include -#include -#include -#include +#include "../../eoOp.h" +#include "../../eoSTLFunctor.h" +#include "../../utils/eoRndGenerators.h" +#include "../../eoInit.h" /** Initializer for binary chromosome with MGE diff --git a/eo/contrib/MGE/eoVirus.h b/src/eo/contrib/MGE/eoVirus.h old mode 100644 new mode 100755 similarity index 99% rename from eo/contrib/MGE/eoVirus.h rename to src/eo/contrib/MGE/eoVirus.h index a7c6aaeea..35b6bbe9a --- a/eo/contrib/MGE/eoVirus.h +++ b/src/eo/contrib/MGE/eoVirus.h @@ -30,7 +30,7 @@ Contact: todos@geneura.ugr.es, http://geneura.ugr.es #include #include -#include "ga/eoBit.h" +#include "../../ga/eoBit.h" /** \defgroup bitstring diff --git a/eo/contrib/boost/config.hpp b/src/eo/contrib/boost/config.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config.hpp rename to src/eo/contrib/boost/config.hpp diff --git a/eo/contrib/boost/config/abi_prefix.hpp b/src/eo/contrib/boost/config/abi_prefix.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/abi_prefix.hpp rename to src/eo/contrib/boost/config/abi_prefix.hpp diff --git a/eo/contrib/boost/config/abi_suffix.hpp b/src/eo/contrib/boost/config/abi_suffix.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/abi_suffix.hpp rename to src/eo/contrib/boost/config/abi_suffix.hpp diff --git a/eo/contrib/boost/config/auto_link.hpp b/src/eo/contrib/boost/config/auto_link.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/auto_link.hpp rename to src/eo/contrib/boost/config/auto_link.hpp diff --git a/eo/contrib/boost/config/compiler/borland.hpp b/src/eo/contrib/boost/config/compiler/borland.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/compiler/borland.hpp rename to src/eo/contrib/boost/config/compiler/borland.hpp diff --git a/eo/contrib/boost/config/compiler/comeau.hpp b/src/eo/contrib/boost/config/compiler/comeau.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/compiler/comeau.hpp rename to src/eo/contrib/boost/config/compiler/comeau.hpp diff --git a/eo/contrib/boost/config/compiler/common_edg.hpp b/src/eo/contrib/boost/config/compiler/common_edg.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/compiler/common_edg.hpp rename to src/eo/contrib/boost/config/compiler/common_edg.hpp diff --git a/eo/contrib/boost/config/compiler/compaq_cxx.hpp b/src/eo/contrib/boost/config/compiler/compaq_cxx.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/compiler/compaq_cxx.hpp rename to src/eo/contrib/boost/config/compiler/compaq_cxx.hpp diff --git a/eo/contrib/boost/config/compiler/digitalmars.hpp b/src/eo/contrib/boost/config/compiler/digitalmars.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/compiler/digitalmars.hpp rename to src/eo/contrib/boost/config/compiler/digitalmars.hpp diff --git a/eo/contrib/boost/config/compiler/gcc.hpp b/src/eo/contrib/boost/config/compiler/gcc.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/compiler/gcc.hpp rename to src/eo/contrib/boost/config/compiler/gcc.hpp diff --git a/eo/contrib/boost/config/compiler/greenhills.hpp b/src/eo/contrib/boost/config/compiler/greenhills.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/compiler/greenhills.hpp rename to src/eo/contrib/boost/config/compiler/greenhills.hpp diff --git a/eo/contrib/boost/config/compiler/hp_acc.hpp b/src/eo/contrib/boost/config/compiler/hp_acc.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/compiler/hp_acc.hpp rename to src/eo/contrib/boost/config/compiler/hp_acc.hpp diff --git a/eo/contrib/boost/config/compiler/intel.hpp b/src/eo/contrib/boost/config/compiler/intel.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/compiler/intel.hpp rename to src/eo/contrib/boost/config/compiler/intel.hpp diff --git a/eo/contrib/boost/config/compiler/kai.hpp b/src/eo/contrib/boost/config/compiler/kai.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/compiler/kai.hpp rename to src/eo/contrib/boost/config/compiler/kai.hpp diff --git a/eo/contrib/boost/config/compiler/metrowerks.hpp b/src/eo/contrib/boost/config/compiler/metrowerks.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/compiler/metrowerks.hpp rename to src/eo/contrib/boost/config/compiler/metrowerks.hpp diff --git a/eo/contrib/boost/config/compiler/mpw.hpp b/src/eo/contrib/boost/config/compiler/mpw.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/compiler/mpw.hpp rename to src/eo/contrib/boost/config/compiler/mpw.hpp diff --git a/eo/contrib/boost/config/compiler/sgi_mipspro.hpp b/src/eo/contrib/boost/config/compiler/sgi_mipspro.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/compiler/sgi_mipspro.hpp rename to src/eo/contrib/boost/config/compiler/sgi_mipspro.hpp diff --git a/eo/contrib/boost/config/compiler/sunpro_cc.hpp b/src/eo/contrib/boost/config/compiler/sunpro_cc.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/compiler/sunpro_cc.hpp rename to src/eo/contrib/boost/config/compiler/sunpro_cc.hpp diff --git a/eo/contrib/boost/config/compiler/vacpp.hpp b/src/eo/contrib/boost/config/compiler/vacpp.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/compiler/vacpp.hpp rename to src/eo/contrib/boost/config/compiler/vacpp.hpp diff --git a/eo/contrib/boost/config/compiler/visualc.hpp b/src/eo/contrib/boost/config/compiler/visualc.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/compiler/visualc.hpp rename to src/eo/contrib/boost/config/compiler/visualc.hpp diff --git a/eo/contrib/boost/config/platform/aix.hpp b/src/eo/contrib/boost/config/platform/aix.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/platform/aix.hpp rename to src/eo/contrib/boost/config/platform/aix.hpp diff --git a/eo/contrib/boost/config/platform/amigaos.hpp b/src/eo/contrib/boost/config/platform/amigaos.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/platform/amigaos.hpp rename to src/eo/contrib/boost/config/platform/amigaos.hpp diff --git a/eo/contrib/boost/config/platform/beos.hpp b/src/eo/contrib/boost/config/platform/beos.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/platform/beos.hpp rename to src/eo/contrib/boost/config/platform/beos.hpp diff --git a/eo/contrib/boost/config/platform/bsd.hpp b/src/eo/contrib/boost/config/platform/bsd.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/platform/bsd.hpp rename to src/eo/contrib/boost/config/platform/bsd.hpp diff --git a/eo/contrib/boost/config/platform/cygwin.hpp b/src/eo/contrib/boost/config/platform/cygwin.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/platform/cygwin.hpp rename to src/eo/contrib/boost/config/platform/cygwin.hpp diff --git a/eo/contrib/boost/config/platform/hpux.hpp b/src/eo/contrib/boost/config/platform/hpux.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/platform/hpux.hpp rename to src/eo/contrib/boost/config/platform/hpux.hpp diff --git a/eo/contrib/boost/config/platform/irix.hpp b/src/eo/contrib/boost/config/platform/irix.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/platform/irix.hpp rename to src/eo/contrib/boost/config/platform/irix.hpp diff --git a/eo/contrib/boost/config/platform/linux.hpp b/src/eo/contrib/boost/config/platform/linux.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/platform/linux.hpp rename to src/eo/contrib/boost/config/platform/linux.hpp diff --git a/eo/contrib/boost/config/platform/macos.hpp b/src/eo/contrib/boost/config/platform/macos.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/platform/macos.hpp rename to src/eo/contrib/boost/config/platform/macos.hpp diff --git a/eo/contrib/boost/config/platform/solaris.hpp b/src/eo/contrib/boost/config/platform/solaris.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/platform/solaris.hpp rename to src/eo/contrib/boost/config/platform/solaris.hpp diff --git a/eo/contrib/boost/config/platform/win32.hpp b/src/eo/contrib/boost/config/platform/win32.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/platform/win32.hpp rename to src/eo/contrib/boost/config/platform/win32.hpp diff --git a/eo/contrib/boost/config/posix_features.hpp b/src/eo/contrib/boost/config/posix_features.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/posix_features.hpp rename to src/eo/contrib/boost/config/posix_features.hpp diff --git a/eo/contrib/boost/config/requires_threads.hpp b/src/eo/contrib/boost/config/requires_threads.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/requires_threads.hpp rename to src/eo/contrib/boost/config/requires_threads.hpp diff --git a/eo/contrib/boost/config/select_compiler_config.hpp b/src/eo/contrib/boost/config/select_compiler_config.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/select_compiler_config.hpp rename to src/eo/contrib/boost/config/select_compiler_config.hpp diff --git a/eo/contrib/boost/config/select_platform_config.hpp b/src/eo/contrib/boost/config/select_platform_config.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/select_platform_config.hpp rename to src/eo/contrib/boost/config/select_platform_config.hpp diff --git a/eo/contrib/boost/config/select_stdlib_config.hpp b/src/eo/contrib/boost/config/select_stdlib_config.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/select_stdlib_config.hpp rename to src/eo/contrib/boost/config/select_stdlib_config.hpp diff --git a/eo/contrib/boost/config/stdlib/dinkumware.hpp b/src/eo/contrib/boost/config/stdlib/dinkumware.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/stdlib/dinkumware.hpp rename to src/eo/contrib/boost/config/stdlib/dinkumware.hpp diff --git a/eo/contrib/boost/config/stdlib/libcomo.hpp b/src/eo/contrib/boost/config/stdlib/libcomo.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/stdlib/libcomo.hpp rename to src/eo/contrib/boost/config/stdlib/libcomo.hpp diff --git a/eo/contrib/boost/config/stdlib/libstdcpp3.hpp b/src/eo/contrib/boost/config/stdlib/libstdcpp3.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/stdlib/libstdcpp3.hpp rename to src/eo/contrib/boost/config/stdlib/libstdcpp3.hpp diff --git a/eo/contrib/boost/config/stdlib/modena.hpp b/src/eo/contrib/boost/config/stdlib/modena.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/stdlib/modena.hpp rename to src/eo/contrib/boost/config/stdlib/modena.hpp diff --git a/eo/contrib/boost/config/stdlib/msl.hpp b/src/eo/contrib/boost/config/stdlib/msl.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/stdlib/msl.hpp rename to src/eo/contrib/boost/config/stdlib/msl.hpp diff --git a/eo/contrib/boost/config/stdlib/roguewave.hpp b/src/eo/contrib/boost/config/stdlib/roguewave.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/stdlib/roguewave.hpp rename to src/eo/contrib/boost/config/stdlib/roguewave.hpp diff --git a/eo/contrib/boost/config/stdlib/sgi.hpp b/src/eo/contrib/boost/config/stdlib/sgi.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/stdlib/sgi.hpp rename to src/eo/contrib/boost/config/stdlib/sgi.hpp diff --git a/eo/contrib/boost/config/stdlib/stlport.hpp b/src/eo/contrib/boost/config/stdlib/stlport.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/stdlib/stlport.hpp rename to src/eo/contrib/boost/config/stdlib/stlport.hpp diff --git a/eo/contrib/boost/config/stdlib/vacpp.hpp b/src/eo/contrib/boost/config/stdlib/vacpp.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/stdlib/vacpp.hpp rename to src/eo/contrib/boost/config/stdlib/vacpp.hpp diff --git a/eo/contrib/boost/config/suffix.hpp b/src/eo/contrib/boost/config/suffix.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/suffix.hpp rename to src/eo/contrib/boost/config/suffix.hpp diff --git a/eo/contrib/boost/config/user.hpp b/src/eo/contrib/boost/config/user.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/config/user.hpp rename to src/eo/contrib/boost/config/user.hpp diff --git a/eo/contrib/boost/limits.hpp b/src/eo/contrib/boost/limits.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/limits.hpp rename to src/eo/contrib/boost/limits.hpp diff --git a/eo/contrib/boost/numeric/interval.hpp b/src/eo/contrib/boost/numeric/interval.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval.hpp rename to src/eo/contrib/boost/numeric/interval.hpp diff --git a/eo/contrib/boost/numeric/interval/arith.hpp b/src/eo/contrib/boost/numeric/interval/arith.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/arith.hpp rename to src/eo/contrib/boost/numeric/interval/arith.hpp diff --git a/eo/contrib/boost/numeric/interval/arith2.hpp b/src/eo/contrib/boost/numeric/interval/arith2.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/arith2.hpp rename to src/eo/contrib/boost/numeric/interval/arith2.hpp diff --git a/eo/contrib/boost/numeric/interval/arith3.hpp b/src/eo/contrib/boost/numeric/interval/arith3.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/arith3.hpp rename to src/eo/contrib/boost/numeric/interval/arith3.hpp diff --git a/eo/contrib/boost/numeric/interval/checking.hpp b/src/eo/contrib/boost/numeric/interval/checking.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/checking.hpp rename to src/eo/contrib/boost/numeric/interval/checking.hpp diff --git a/eo/contrib/boost/numeric/interval/compare.hpp b/src/eo/contrib/boost/numeric/interval/compare.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/compare.hpp rename to src/eo/contrib/boost/numeric/interval/compare.hpp diff --git a/eo/contrib/boost/numeric/interval/compare/certain.hpp b/src/eo/contrib/boost/numeric/interval/compare/certain.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/compare/certain.hpp rename to src/eo/contrib/boost/numeric/interval/compare/certain.hpp diff --git a/eo/contrib/boost/numeric/interval/compare/explicit.hpp b/src/eo/contrib/boost/numeric/interval/compare/explicit.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/compare/explicit.hpp rename to src/eo/contrib/boost/numeric/interval/compare/explicit.hpp diff --git a/eo/contrib/boost/numeric/interval/compare/lexicographic.hpp b/src/eo/contrib/boost/numeric/interval/compare/lexicographic.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/compare/lexicographic.hpp rename to src/eo/contrib/boost/numeric/interval/compare/lexicographic.hpp diff --git a/eo/contrib/boost/numeric/interval/compare/possible.hpp b/src/eo/contrib/boost/numeric/interval/compare/possible.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/compare/possible.hpp rename to src/eo/contrib/boost/numeric/interval/compare/possible.hpp diff --git a/eo/contrib/boost/numeric/interval/compare/set.hpp b/src/eo/contrib/boost/numeric/interval/compare/set.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/compare/set.hpp rename to src/eo/contrib/boost/numeric/interval/compare/set.hpp diff --git a/eo/contrib/boost/numeric/interval/compare/tribool.hpp b/src/eo/contrib/boost/numeric/interval/compare/tribool.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/compare/tribool.hpp rename to src/eo/contrib/boost/numeric/interval/compare/tribool.hpp diff --git a/eo/contrib/boost/numeric/interval/constants.hpp b/src/eo/contrib/boost/numeric/interval/constants.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/constants.hpp rename to src/eo/contrib/boost/numeric/interval/constants.hpp diff --git a/eo/contrib/boost/numeric/interval/detail/bcc_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/detail/bcc_rounding_control.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/detail/bcc_rounding_control.hpp rename to src/eo/contrib/boost/numeric/interval/detail/bcc_rounding_control.hpp diff --git a/eo/contrib/boost/numeric/interval/detail/bugs.hpp b/src/eo/contrib/boost/numeric/interval/detail/bugs.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/detail/bugs.hpp rename to src/eo/contrib/boost/numeric/interval/detail/bugs.hpp diff --git a/eo/contrib/boost/numeric/interval/detail/c99_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/detail/c99_rounding_control.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/detail/c99_rounding_control.hpp rename to src/eo/contrib/boost/numeric/interval/detail/c99_rounding_control.hpp diff --git a/eo/contrib/boost/numeric/interval/detail/c99sub_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/detail/c99sub_rounding_control.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/detail/c99sub_rounding_control.hpp rename to src/eo/contrib/boost/numeric/interval/detail/c99sub_rounding_control.hpp diff --git a/eo/contrib/boost/numeric/interval/detail/division.hpp b/src/eo/contrib/boost/numeric/interval/detail/division.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/detail/division.hpp rename to src/eo/contrib/boost/numeric/interval/detail/division.hpp diff --git a/eo/contrib/boost/numeric/interval/detail/interval_prototype.hpp b/src/eo/contrib/boost/numeric/interval/detail/interval_prototype.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/detail/interval_prototype.hpp rename to src/eo/contrib/boost/numeric/interval/detail/interval_prototype.hpp diff --git a/eo/contrib/boost/numeric/interval/detail/msvc_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/detail/msvc_rounding_control.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/detail/msvc_rounding_control.hpp rename to src/eo/contrib/boost/numeric/interval/detail/msvc_rounding_control.hpp diff --git a/eo/contrib/boost/numeric/interval/detail/ppc_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/detail/ppc_rounding_control.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/detail/ppc_rounding_control.hpp rename to src/eo/contrib/boost/numeric/interval/detail/ppc_rounding_control.hpp diff --git a/eo/contrib/boost/numeric/interval/detail/sparc_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/detail/sparc_rounding_control.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/detail/sparc_rounding_control.hpp rename to src/eo/contrib/boost/numeric/interval/detail/sparc_rounding_control.hpp diff --git a/eo/contrib/boost/numeric/interval/detail/test_input.hpp b/src/eo/contrib/boost/numeric/interval/detail/test_input.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/detail/test_input.hpp rename to src/eo/contrib/boost/numeric/interval/detail/test_input.hpp diff --git a/eo/contrib/boost/numeric/interval/detail/x86_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/detail/x86_rounding_control.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/detail/x86_rounding_control.hpp rename to src/eo/contrib/boost/numeric/interval/detail/x86_rounding_control.hpp diff --git a/eo/contrib/boost/numeric/interval/detail/x86gcc_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/detail/x86gcc_rounding_control.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/detail/x86gcc_rounding_control.hpp rename to src/eo/contrib/boost/numeric/interval/detail/x86gcc_rounding_control.hpp diff --git a/eo/contrib/boost/numeric/interval/ext/integer.hpp b/src/eo/contrib/boost/numeric/interval/ext/integer.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/ext/integer.hpp rename to src/eo/contrib/boost/numeric/interval/ext/integer.hpp diff --git a/eo/contrib/boost/numeric/interval/ext/x86_fast_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/ext/x86_fast_rounding_control.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/ext/x86_fast_rounding_control.hpp rename to src/eo/contrib/boost/numeric/interval/ext/x86_fast_rounding_control.hpp diff --git a/eo/contrib/boost/numeric/interval/hw_rounding.hpp b/src/eo/contrib/boost/numeric/interval/hw_rounding.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/hw_rounding.hpp rename to src/eo/contrib/boost/numeric/interval/hw_rounding.hpp diff --git a/eo/contrib/boost/numeric/interval/interval.hpp b/src/eo/contrib/boost/numeric/interval/interval.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/interval.hpp rename to src/eo/contrib/boost/numeric/interval/interval.hpp diff --git a/eo/contrib/boost/numeric/interval/io.hpp b/src/eo/contrib/boost/numeric/interval/io.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/io.hpp rename to src/eo/contrib/boost/numeric/interval/io.hpp diff --git a/eo/contrib/boost/numeric/interval/limits.hpp b/src/eo/contrib/boost/numeric/interval/limits.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/limits.hpp rename to src/eo/contrib/boost/numeric/interval/limits.hpp diff --git a/eo/contrib/boost/numeric/interval/policies.hpp b/src/eo/contrib/boost/numeric/interval/policies.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/policies.hpp rename to src/eo/contrib/boost/numeric/interval/policies.hpp diff --git a/eo/contrib/boost/numeric/interval/rounded_arith.hpp b/src/eo/contrib/boost/numeric/interval/rounded_arith.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/rounded_arith.hpp rename to src/eo/contrib/boost/numeric/interval/rounded_arith.hpp diff --git a/eo/contrib/boost/numeric/interval/rounded_transc.hpp b/src/eo/contrib/boost/numeric/interval/rounded_transc.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/rounded_transc.hpp rename to src/eo/contrib/boost/numeric/interval/rounded_transc.hpp diff --git a/eo/contrib/boost/numeric/interval/rounding.hpp b/src/eo/contrib/boost/numeric/interval/rounding.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/rounding.hpp rename to src/eo/contrib/boost/numeric/interval/rounding.hpp diff --git a/eo/contrib/boost/numeric/interval/transc.hpp b/src/eo/contrib/boost/numeric/interval/transc.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/transc.hpp rename to src/eo/contrib/boost/numeric/interval/transc.hpp diff --git a/eo/contrib/boost/numeric/interval/utility.hpp b/src/eo/contrib/boost/numeric/interval/utility.hpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/boost/numeric/interval/utility.hpp rename to src/eo/contrib/boost/numeric/interval/utility.hpp diff --git a/eo/contrib/eo-pso-22062007.bz2 b/src/eo/contrib/eo-pso-22062007.bz2 similarity index 100% rename from eo/contrib/eo-pso-22062007.bz2 rename to src/eo/contrib/eo-pso-22062007.bz2 diff --git a/eo/contrib/eoAged.h b/src/eo/contrib/eoAged.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/eoAged.h rename to src/eo/contrib/eoAged.h diff --git a/eo/contrib/eoDrawable.h b/src/eo/contrib/eoDrawable.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/eoDrawable.h rename to src/eo/contrib/eoDrawable.h diff --git a/eo/contrib/mathsym/COPYING b/src/eo/contrib/mathsym/COPYING old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/COPYING rename to src/eo/contrib/mathsym/COPYING diff --git a/eo/contrib/mathsym/GNUmakefile b/src/eo/contrib/mathsym/GNUmakefile old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/GNUmakefile rename to src/eo/contrib/mathsym/GNUmakefile diff --git a/eo/contrib/mathsym/README b/src/eo/contrib/mathsym/README old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/README rename to src/eo/contrib/mathsym/README diff --git a/eo/contrib/mathsym/README.TCC b/src/eo/contrib/mathsym/README.TCC old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/README.TCC rename to src/eo/contrib/mathsym/README.TCC diff --git a/eo/contrib/mathsym/eo_interface/eoSym.h b/src/eo/contrib/mathsym/eo_interface/eoSym.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/eo_interface/eoSym.h rename to src/eo/contrib/mathsym/eo_interface/eoSym.h diff --git a/eo/contrib/mathsym/eo_interface/eoSymCrossover.cpp b/src/eo/contrib/mathsym/eo_interface/eoSymCrossover.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/eo_interface/eoSymCrossover.cpp rename to src/eo/contrib/mathsym/eo_interface/eoSymCrossover.cpp diff --git a/eo/contrib/mathsym/eo_interface/eoSymCrossover.h b/src/eo/contrib/mathsym/eo_interface/eoSymCrossover.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/eo_interface/eoSymCrossover.h rename to src/eo/contrib/mathsym/eo_interface/eoSymCrossover.h diff --git a/eo/contrib/mathsym/eo_interface/eoSymEval.h b/src/eo/contrib/mathsym/eo_interface/eoSymEval.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/eo_interface/eoSymEval.h rename to src/eo/contrib/mathsym/eo_interface/eoSymEval.h diff --git a/eo/contrib/mathsym/eo_interface/eoSymInit.h b/src/eo/contrib/mathsym/eo_interface/eoSymInit.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/eo_interface/eoSymInit.h rename to src/eo/contrib/mathsym/eo_interface/eoSymInit.h diff --git a/eo/contrib/mathsym/eo_interface/eoSymLambdaMutate.cpp b/src/eo/contrib/mathsym/eo_interface/eoSymLambdaMutate.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/eo_interface/eoSymLambdaMutate.cpp rename to src/eo/contrib/mathsym/eo_interface/eoSymLambdaMutate.cpp diff --git a/eo/contrib/mathsym/eo_interface/eoSymLambdaMutate.h b/src/eo/contrib/mathsym/eo_interface/eoSymLambdaMutate.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/eo_interface/eoSymLambdaMutate.h rename to src/eo/contrib/mathsym/eo_interface/eoSymLambdaMutate.h diff --git a/eo/contrib/mathsym/eo_interface/eoSymMutate.cpp b/src/eo/contrib/mathsym/eo_interface/eoSymMutate.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/eo_interface/eoSymMutate.cpp rename to src/eo/contrib/mathsym/eo_interface/eoSymMutate.cpp diff --git a/eo/contrib/mathsym/eo_interface/eoSymMutate.h b/src/eo/contrib/mathsym/eo_interface/eoSymMutate.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/eo_interface/eoSymMutate.h rename to src/eo/contrib/mathsym/eo_interface/eoSymMutate.h diff --git a/eo/contrib/mathsym/eval/BoundsCheck.cpp b/src/eo/contrib/mathsym/eval/BoundsCheck.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/eval/BoundsCheck.cpp rename to src/eo/contrib/mathsym/eval/BoundsCheck.cpp diff --git a/eo/contrib/mathsym/eval/BoundsCheck.h b/src/eo/contrib/mathsym/eval/BoundsCheck.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/eval/BoundsCheck.h rename to src/eo/contrib/mathsym/eval/BoundsCheck.h diff --git a/eo/contrib/mathsym/eval/Interval.h b/src/eo/contrib/mathsym/eval/Interval.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/eval/Interval.h rename to src/eo/contrib/mathsym/eval/Interval.h diff --git a/eo/contrib/mathsym/eval/MultiFuncs.cpp b/src/eo/contrib/mathsym/eval/MultiFuncs.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/eval/MultiFuncs.cpp rename to src/eo/contrib/mathsym/eval/MultiFuncs.cpp diff --git a/eo/contrib/mathsym/eval/MultiFunction.cpp b/src/eo/contrib/mathsym/eval/MultiFunction.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/eval/MultiFunction.cpp rename to src/eo/contrib/mathsym/eval/MultiFunction.cpp diff --git a/eo/contrib/mathsym/eval/MultiFunction.h b/src/eo/contrib/mathsym/eval/MultiFunction.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/eval/MultiFunction.h rename to src/eo/contrib/mathsym/eval/MultiFunction.h diff --git a/eo/contrib/mathsym/eval/c_compile.c b/src/eo/contrib/mathsym/eval/c_compile.c old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/eval/c_compile.c rename to src/eo/contrib/mathsym/eval/c_compile.c diff --git a/eo/contrib/mathsym/eval/sym_compile.cpp b/src/eo/contrib/mathsym/eval/sym_compile.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/eval/sym_compile.cpp rename to src/eo/contrib/mathsym/eval/sym_compile.cpp diff --git a/eo/contrib/mathsym/eval/sym_compile.h b/src/eo/contrib/mathsym/eval/sym_compile.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/eval/sym_compile.h rename to src/eo/contrib/mathsym/eval/sym_compile.h diff --git a/eo/contrib/mathsym/fun/FunDef.cpp b/src/eo/contrib/mathsym/fun/FunDef.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/fun/FunDef.cpp rename to src/eo/contrib/mathsym/fun/FunDef.cpp diff --git a/eo/contrib/mathsym/fun/FunDef.h b/src/eo/contrib/mathsym/fun/FunDef.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/fun/FunDef.h rename to src/eo/contrib/mathsym/fun/FunDef.h diff --git a/eo/contrib/mathsym/fun/SymOps.cpp b/src/eo/contrib/mathsym/fun/SymOps.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/fun/SymOps.cpp rename to src/eo/contrib/mathsym/fun/SymOps.cpp diff --git a/eo/contrib/mathsym/fun/SymOps.h b/src/eo/contrib/mathsym/fun/SymOps.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/fun/SymOps.h rename to src/eo/contrib/mathsym/fun/SymOps.h diff --git a/eo/contrib/mathsym/fun/sym_operations.cpp b/src/eo/contrib/mathsym/fun/sym_operations.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/fun/sym_operations.cpp rename to src/eo/contrib/mathsym/fun/sym_operations.cpp diff --git a/eo/contrib/mathsym/fun/util.cpp b/src/eo/contrib/mathsym/fun/util.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/fun/util.cpp rename to src/eo/contrib/mathsym/fun/util.cpp diff --git a/eo/contrib/mathsym/gen/LanguageTable.cpp b/src/eo/contrib/mathsym/gen/LanguageTable.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/gen/LanguageTable.cpp rename to src/eo/contrib/mathsym/gen/LanguageTable.cpp diff --git a/eo/contrib/mathsym/gen/LanguageTable.h b/src/eo/contrib/mathsym/gen/LanguageTable.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/gen/LanguageTable.h rename to src/eo/contrib/mathsym/gen/LanguageTable.h diff --git a/eo/contrib/mathsym/gen/NodeSelector.cpp b/src/eo/contrib/mathsym/gen/NodeSelector.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/gen/NodeSelector.cpp rename to src/eo/contrib/mathsym/gen/NodeSelector.cpp diff --git a/eo/contrib/mathsym/gen/NodeSelector.h b/src/eo/contrib/mathsym/gen/NodeSelector.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/gen/NodeSelector.h rename to src/eo/contrib/mathsym/gen/NodeSelector.h diff --git a/eo/contrib/mathsym/gen/TreeBuilder.cpp b/src/eo/contrib/mathsym/gen/TreeBuilder.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/gen/TreeBuilder.cpp rename to src/eo/contrib/mathsym/gen/TreeBuilder.cpp diff --git a/eo/contrib/mathsym/gen/TreeBuilder.h b/src/eo/contrib/mathsym/gen/TreeBuilder.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/gen/TreeBuilder.h rename to src/eo/contrib/mathsym/gen/TreeBuilder.h diff --git a/eo/contrib/mathsym/header b/src/eo/contrib/mathsym/header old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/header rename to src/eo/contrib/mathsym/header diff --git a/eo/contrib/mathsym/regression/Dataset.cpp b/src/eo/contrib/mathsym/regression/Dataset.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/regression/Dataset.cpp rename to src/eo/contrib/mathsym/regression/Dataset.cpp diff --git a/eo/contrib/mathsym/regression/Dataset.h b/src/eo/contrib/mathsym/regression/Dataset.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/regression/Dataset.h rename to src/eo/contrib/mathsym/regression/Dataset.h diff --git a/eo/contrib/mathsym/regression/ErrorMeasure.cpp b/src/eo/contrib/mathsym/regression/ErrorMeasure.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/regression/ErrorMeasure.cpp rename to src/eo/contrib/mathsym/regression/ErrorMeasure.cpp diff --git a/eo/contrib/mathsym/regression/ErrorMeasure.h b/src/eo/contrib/mathsym/regression/ErrorMeasure.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/regression/ErrorMeasure.h rename to src/eo/contrib/mathsym/regression/ErrorMeasure.h diff --git a/eo/contrib/mathsym/regression/Scaling.cpp b/src/eo/contrib/mathsym/regression/Scaling.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/regression/Scaling.cpp rename to src/eo/contrib/mathsym/regression/Scaling.cpp diff --git a/eo/contrib/mathsym/regression/Scaling.h b/src/eo/contrib/mathsym/regression/Scaling.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/regression/Scaling.h rename to src/eo/contrib/mathsym/regression/Scaling.h diff --git a/eo/contrib/mathsym/regression/TargetInfo.cpp b/src/eo/contrib/mathsym/regression/TargetInfo.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/regression/TargetInfo.cpp rename to src/eo/contrib/mathsym/regression/TargetInfo.cpp diff --git a/eo/contrib/mathsym/regression/TargetInfo.h b/src/eo/contrib/mathsym/regression/TargetInfo.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/regression/TargetInfo.h rename to src/eo/contrib/mathsym/regression/TargetInfo.h diff --git a/eo/contrib/mathsym/regression/stats.h b/src/eo/contrib/mathsym/regression/stats.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/regression/stats.h rename to src/eo/contrib/mathsym/regression/stats.h diff --git a/eo/contrib/mathsym/shared_ptr.h b/src/eo/contrib/mathsym/shared_ptr.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/shared_ptr.h rename to src/eo/contrib/mathsym/shared_ptr.h diff --git a/eo/contrib/mathsym/sym/README.cpp b/src/eo/contrib/mathsym/sym/README.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/sym/README.cpp rename to src/eo/contrib/mathsym/sym/README.cpp diff --git a/eo/contrib/mathsym/sym/Sym.cpp b/src/eo/contrib/mathsym/sym/Sym.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/sym/Sym.cpp rename to src/eo/contrib/mathsym/sym/Sym.cpp diff --git a/eo/contrib/mathsym/sym/Sym.h b/src/eo/contrib/mathsym/sym/Sym.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/sym/Sym.h rename to src/eo/contrib/mathsym/sym/Sym.h diff --git a/eo/contrib/mathsym/sym/SymImpl.cpp b/src/eo/contrib/mathsym/sym/SymImpl.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/sym/SymImpl.cpp rename to src/eo/contrib/mathsym/sym/SymImpl.cpp diff --git a/eo/contrib/mathsym/sym/SymImpl.h b/src/eo/contrib/mathsym/sym/SymImpl.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/sym/SymImpl.h rename to src/eo/contrib/mathsym/sym/SymImpl.h diff --git a/eo/contrib/mathsym/sym/token.h b/src/eo/contrib/mathsym/sym/token.h old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/sym/token.h rename to src/eo/contrib/mathsym/sym/token.h diff --git a/eo/contrib/mathsym/symreg.cpp b/src/eo/contrib/mathsym/symreg.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/symreg.cpp rename to src/eo/contrib/mathsym/symreg.cpp diff --git a/eo/contrib/mathsym/tcc.tar.gz b/src/eo/contrib/mathsym/tcc.tar.gz old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/tcc.tar.gz rename to src/eo/contrib/mathsym/tcc.tar.gz diff --git a/eo/contrib/mathsym/tcc_patched.tar.gz b/src/eo/contrib/mathsym/tcc_patched.tar.gz old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/tcc_patched.tar.gz rename to src/eo/contrib/mathsym/tcc_patched.tar.gz diff --git a/eo/contrib/mathsym/test/test_compile.cpp b/src/eo/contrib/mathsym/test/test_compile.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/test/test_compile.cpp rename to src/eo/contrib/mathsym/test/test_compile.cpp diff --git a/eo/contrib/mathsym/test/test_diff.cpp b/src/eo/contrib/mathsym/test/test_diff.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/test/test_diff.cpp rename to src/eo/contrib/mathsym/test/test_diff.cpp diff --git a/eo/contrib/mathsym/test/test_lambda.cpp b/src/eo/contrib/mathsym/test/test_lambda.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/test/test_lambda.cpp rename to src/eo/contrib/mathsym/test/test_lambda.cpp diff --git a/eo/contrib/mathsym/test/test_mf.cpp b/src/eo/contrib/mathsym/test/test_mf.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/test/test_mf.cpp rename to src/eo/contrib/mathsym/test/test_mf.cpp diff --git a/eo/contrib/mathsym/test/test_simplify.cpp b/src/eo/contrib/mathsym/test/test_simplify.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/test/test_simplify.cpp rename to src/eo/contrib/mathsym/test/test_simplify.cpp diff --git a/eo/contrib/mathsym/test/testeo.cpp b/src/eo/contrib/mathsym/test/testeo.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/contrib/mathsym/test/testeo.cpp rename to src/eo/contrib/mathsym/test/testeo.cpp diff --git a/eo/src/do/Readme b/src/eo/do/Readme old mode 100644 new mode 100755 similarity index 100% rename from eo/src/do/Readme rename to src/eo/do/Readme diff --git a/eo/src/do/make_algo_easea.h b/src/eo/do/make_algo_easea.h old mode 100644 new mode 100755 similarity index 96% rename from eo/src/do/make_algo_easea.h rename to src/eo/do/make_algo_easea.h index c432c1e82..948aa27a2 --- a/eo/src/do/make_algo_easea.h +++ b/src/eo/do/make_algo_easea.h @@ -27,35 +27,35 @@ #ifndef _make_algo_easea_h #define _make_algo_easea_h -#include // for eo_is_a_rate +#include "../utils/eoData.h" // for eo_is_a_rate // everything tha's needed for the algorithms - SCALAR fitness // Selection // the eoSelectOne's -#include -#include -#include -#include -#include -#include -#include -// #include included in all others +#include "../eoRandomSelect.h" +#include "../eoSequentialSelect.h" +#include "../eoDetTournamentSelect.h" +#include "../eoProportionalSelect.h" +#include "../eoFitnessScalingSelect.h" +#include "../eoRankingSelect.h" +#include "../eoStochTournamentSelect.h" +// #include "../eoSelect.h" included in all others // Breeders -#include +#include "../eoGeneralBreeder.h" // Replacement -#include "make_general_replacement.h" -#include "eoMGGReplacement.h" -#include "eoG3Replacement.h" +#include "../make_general_replacement.h" +#include "../eoMGGReplacement.h" +#include "../eoG3Replacement.h" // Algorithm (only this one needed) -#include +#include "../eoEasyEA.h" // also need the parser and param includes -#include -#include +#include "../utils/eoParser.h" +#include "../utils/eoState.h" /* * This function builds the algorithm (i.e. selection and replacement) diff --git a/eo/src/do/make_algo_scalar.h b/src/eo/do/make_algo_scalar.h old mode 100644 new mode 100755 similarity index 94% rename from eo/src/do/make_algo_scalar.h rename to src/eo/do/make_algo_scalar.h index 52df8f4f4..1902233cf --- a/eo/src/do/make_algo_scalar.h +++ b/src/eo/do/make_algo_scalar.h @@ -27,39 +27,39 @@ #ifndef _make_algo_scalar_h #define _make_algo_scalar_h -#include // for eo_is_a_rate +#include "../utils/eoData.h" // for eo_is_a_rate // everything tha's needed for the algorithms - SCALAR fitness // Selection // the eoSelectOne's -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "../eoRandomSelect.h" +#include "../eoSequentialSelect.h" +#include "../eoDetTournamentSelect.h" +#include "../eoProportionalSelect.h" +#include "../eoFitnessScalingSelect.h" +#include "../eoRankingSelect.h" +#include "../eoStochTournamentSelect.h" +#include "../eoSharingSelect.h" +#include "../utils/eoDistance.h" // Breeders -#include +#include "../eoGeneralBreeder.h" // Replacement -// #include -#include -#include -#include +// #include "../eoReplacement.h" +#include "../eoMergeReduce.h" +#include "../eoReduceMerge.h" +#include "../eoSurviveAndDie.h" // distance -#include +#include "../utils/eoDistance.h" // Algorithm (only this one needed) -#include +#include "../eoEasyEA.h" // also need the parser and param includes -#include -#include +#include "../utils/eoParser.h" +#include "../utils/eoState.h" /* diff --git a/eo/src/do/make_checkpoint.h b/src/eo/do/make_checkpoint.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/do/make_checkpoint.h rename to src/eo/do/make_checkpoint.h index cc0746ddb..c06773480 --- a/eo/src/do/make_checkpoint.h +++ b/src/eo/do/make_checkpoint.h @@ -33,11 +33,11 @@ #include -#include -#include // for minimizing_fitness() -#include -#include -#include +#include "../eoScalarFitness.h" +#include "../utils/selectors.h" // for minimizing_fitness() +#include "../EO.h" +#include "../eoEvalFuncCounter.h" +#include "../utils/checkpointing" // at the moment, in utils/make_help.cpp // this should become some eoUtils.cpp with corresponding eoUtils.h diff --git a/eo/src/do/make_checkpoint_FDC.h b/src/eo/do/make_checkpoint_FDC.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/do/make_checkpoint_FDC.h rename to src/eo/do/make_checkpoint_FDC.h index f241667f7..601f94a12 --- a/eo/src/do/make_checkpoint_FDC.h +++ b/src/eo/do/make_checkpoint_FDC.h @@ -29,11 +29,11 @@ #include -#include -#include // for minimizing_fitness() -#include -#include -#include +#include "../eoScalarFitness.h" +#include "../utils/selectors.h" // for minimizing_fitness() +#include "../EO.h" +#include "../eoEvalFuncCounter.h" +#include "../utils/checkpointing" // at the moment, in utils/make_help.cpp // this should become some eoUtils.cpp with corresponding eoUtils.h diff --git a/eo/src/do/make_checkpoint_assembled.h b/src/eo/do/make_checkpoint_assembled.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/do/make_checkpoint_assembled.h rename to src/eo/do/make_checkpoint_assembled.h index 27d050ada..6b2bb5164 --- a/eo/src/do/make_checkpoint_assembled.h +++ b/src/eo/do/make_checkpoint_assembled.h @@ -38,11 +38,11 @@ #include #include -#include -#include -#include -#include -#include +#include "../eoScalarFitnessAssembled.h" +#include "../utils/selectors.h" +#include "../EO.h" +#include "../eoEvalFuncCounter.h" +#include "../utils/checkpointing" // at the moment, in utils/make_help.cpp // this should become some eoUtils.cpp with corresponding eoUtils.h diff --git a/eo/src/do/make_continue.h b/src/eo/do/make_continue.h old mode 100644 new mode 100755 similarity index 95% rename from eo/src/do/make_continue.h rename to src/eo/do/make_continue.h index 27b4e9450..f09bf8642 --- a/eo/src/do/make_continue.h +++ b/src/eo/do/make_continue.h @@ -34,18 +34,18 @@ It can then be instantiated, and compiled on its own for a given EOType */ // Continuators - all include eoContinue.h -#include -#include -#include -#include -#include +#include "../eoCombinedContinue.h" +#include "../eoGenContinue.h" +#include "../eoSteadyFitContinue.h" +#include "../eoEvalContinue.h" +#include "../eoFitContinue.h" #ifndef _MSC_VER -#include // CtrlC handling (using 2 global variables!) +#include "../eoCtrlCContinue.h" // CtrlC handling (using 2 global variables!) #endif // also need the parser and param includes -#include -#include +#include "../utils/eoParser.h" +#include "../utils/eoState.h" /////////////////// the stopping criterion //////////////// diff --git a/eo/src/do/make_general_replacement.h b/src/eo/do/make_general_replacement.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/do/make_general_replacement.h rename to src/eo/do/make_general_replacement.h index 1d42345c8..52c54ff6f --- a/eo/src/do/make_general_replacement.h +++ b/src/eo/do/make_general_replacement.h @@ -27,14 +27,14 @@ #ifndef _make_general_replacement_h #define _make_general_replacement_h -#include // for eo_is_a_rate +#include "../utils/eoData.h" // for eo_is_a_rate // Replacement -#include +#include "../eoReduceMergeReduce.h" // also need the parser and param includes -#include -#include +#include "../utils/eoParser.h" +#include "../utils/eoState.h" /** a helper function that decodes a parameter read by the parser into an diff --git a/eo/src/do/make_pop.h b/src/eo/do/make_pop.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/do/make_pop.h rename to src/eo/do/make_pop.h index c2a1d1a84..516d7a770 --- a/eo/src/do/make_pop.h +++ b/src/eo/do/make_pop.h @@ -28,11 +28,11 @@ #define _make_pop_h #include // for time(0) for random seeding -#include -#include -#include -#include -#include +#include "../eoPop.h" +#include "../eoInit.h" +#include "../utils/eoRNG.h" +#include "../utils/eoParser.h" +#include "../utils/eoState.h" /** @defgroup Builders Automatic builders * diff --git a/eo/src/do/make_run.h b/src/eo/do/make_run.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/do/make_run.h rename to src/eo/do/make_run.h index 485cb8700..e53831f80 --- a/eo/src/do/make_run.h +++ b/src/eo/do/make_run.h @@ -28,7 +28,7 @@ #define _make_run_h // Algorithm (only this one needed) -#include +#include "../eoAlgo.h" /* * A trivial function - only here to allow instanciation with a give EOType diff --git a/src/eo/eo.h b/src/eo/eo.h new file mode 100755 index 000000000..af7c4e298 --- /dev/null +++ b/src/eo/eo.h @@ -0,0 +1,220 @@ +//----------------------------------------------------------------------------- +// eo +// (c) GeNeura Team 1998 - 2000 +/* + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + Contact: todos@geneura.ugr.es, http://geneura.ugr.es + */ +//----------------------------------------------------------------------------- + +#ifdef _MSC_VER +// to avoid long name warnings +#pragma warning(disable:4786) +#endif + +#ifndef _eo_ +#define _eo_ + +#ifdef HAVE_CONFIG_H +#include "eo/config.h" +#endif + +// general purpose +#include "eo/utils/eoData.h" +#include "eo/eoObject.h" +#include "eo/eoPrintable.h" +#include "eo/eoPersistent.h" +#include "eo/eoScalarFitness.h" +#include "eo/eoDualFitness.h" +#include "eo/EO.h" + +#include "eo/utils/rnd_generators.h" +#include "eo/eoFunctor.h" +#include "eo/apply.h" + +// eo's +#include "eo/eoVector.h" + +#include "eo/other/eoString.h" + +#include "eo/utils/eoRndGenerators.h" +#include "eo/eoInit.h" +#include "eo/utils/eoUniformInit.h" + +// the variation operators +#include "eo/eoOp.h" +#include "eo/eoGenOp.h" +#include "eo/eoCloneOps.h" +#include "eo/eoOpContainer.h" +// combinations of simple eoOps (eoMonOp and eoQuadOp) +#include "eo/eoProportionalCombinedOp.h" +// didactic (mimics SGA-like variation into an eoGenOp) +// calls crossover and mutation sequentially, +// with their respective mutation rates +#include "eo/eoSGAGenOp.h" +// its dual: crossover, mutation (and copy) - proportional choice +// w.r.t. given relative weights +#include "eo/eoPropGAGenOp.h" + +// population +#include "eo/eoPop.h" + +// Evaluation functions (all include eoEvalFunc.h) +#include "eo/eoPopEvalFunc.h" +#include "eo/eoEvalFuncPtr.h" +#include "eo/eoEvalCounterThrowException.h" +#include "eo/eoEvalTimeThrowException.h" +#include "eo/eoEvalUserTimeThrowException.h" + +// Continuators - all include eoContinue.h +#include "eo/eoCombinedContinue.h" +#include "eo/eoGenContinue.h" +#include "eo/eoSteadyFitContinue.h" +#include "eo/eoEvalContinue.h" +#include "eo/eoFitContinue.h" +#include "eo/eoPeriodicContinue.h" +#include "eo/eoTimeContinue.h" // added th T.Legrand +#ifndef _MSC_VER +#include "eo/eoCtrlCContinue.h" // CtrlC handling (using 2 global variables!) +#endif +// Selection +// the eoSelectOne's +#include "eo/eoRandomSelect.h" +#include "eo/eoSequentialSelect.h" +#include "eo/eoDetTournamentSelect.h" +#include "eo/eoProportionalSelect.h" +#include "eo/eoFitnessScalingSelect.h" // also contains eoLinearFitScaling.h +#include "eo/eoRankingSelect.h" +#include "eo/eoStochTournamentSelect.h" +#include "eo/eoSharingSelect.h" +// Embedding truncation selection +#include "eo/eoTruncatedSelectOne.h" + +// the batch selection - from an eoSelectOne +#include "eo/eoSelectPerc.h" +#include "eo/eoSelectNumber.h" +#include "eo/eoSelectMany.h" +#include "eo/eoTruncatedSelectMany.h" + +// other batch selections +// DetSelect can also be obtained as eoSequentialSelect, an eoSelectOne +// (using setup and an index) +#include "eo/eoDetSelect.h" +#include "eo/eoRankMuSelect.h" + +// Breeders +#include "eo/eoGeneralBreeder.h" // applies one eoGenOp, stop on offspring count +// #include "eo/eoOneToOneBreeder.h" // parent + SINGLE offspring compete (e.g. DE) - not ready yet... + +// Replacement +// #include "eo/eoReplacement.h" +#include "eo/eoMergeReduce.h" +#include "eo/eoReduceMerge.h" +#include "eo/eoSurviveAndDie.h" + +// a simple transformer +#include "eo/eoSGATransform.h" + +// Perf2Worth stuff - includes eoSelectFromWorth.h +#include "eo/eoNDSorting.h" + + +// Algorithms +#include "eo/eoEasyEA.h" +#include "eo/eoSGA.h" +// #include "eo/eoEvolutionStrategy.h" removed for a while - until eoGenOp is done + +// Utils +#include "eo/utils/checkpointing" +#include "eo/utils/eoRealVectorBounds.h" // includes eoRealBounds.h +#include "eo/utils/eoIntBounds.h" // no eoIntVectorBounds + +// aliens +#include "eo/other/external_eo" +#include "eo/eoCounter.h" + + +//----------------------------------------------------------------------------- +// to be continued ... +//----------------------------------------------------------------------------- + +/*** Particle Swarm Optimization stuff ***/ + +// basic particle definitions +#include "eo/PO.h" +#include "eo/eoVectorParticle.h" +#include "eo/eoBitParticle.h" +#include "eo/eoRealParticle.h" + +// initialization +#include "eo/eoParticleBestInit.h" +#include "eo/eoInitializer.h" + +// velocities +#include "eo/eoVelocity.h" +#include "eo/eoStandardVelocity.h" +#include "eo/eoExtendedVelocity.h" +#include "eo/eoIntegerVelocity.h" +#include "eo/eoConstrictedVelocity.h" +#include "eo/eoFixedInertiaWeightedVelocity.h" +#include "eo/eoVariableInertiaWeightedVelocity.h" +#include "eo/eoConstrictedVariableWeightVelocity.h" + +// flights +#include "eo/eoFlight.h" +#include "eo/eoStandardFlight.h" +#include "eo/eoVelocityInit.h" +#include "eo/eoBinaryFlight.h" +#include "eo/eoSigBinaryFlight.h" + +// topologies +#include "eo/eoTopology.h" +#include "eo/eoStarTopology.h" +#include "eo/eoLinearTopology.h" +#include "eo/eoRingTopology.h" +#include "eo/eoNeighborhood.h" +#include "eo/eoSocialNeighborhood.h" + +// PS algorithms +#include "eo/eoPSO.h" +#include "eo/eoEasyPSO.h" +#include "eo/eoSyncEasyPSO.h" + +// utils +#include "eo/eoRealBoundModifier.h" +#include "eo/eoRandomRealWeightUp.h" +#include "eo/eoWeightUpdater.h" +#include "eo/eoLinearDecreasingWeightUp.h" +#include "eo/eoGaussRealWeightUp.h" + +#include "eo/utils/eoLogger.h" +#include "eo/utils/eoParallel.h" + +// ga's +#include "eo/ga/eoBitOp.h" + +// es's +#include "eo/es/CMAState.h" +#include "eo/es/CMAParams.h" +#include "eo/es/eoCMAInit.h" +#include "eo/es/eoCMABreed.h" +#include "eo/es/make_es.h" + +#endif + +// Local Variables: +// mode: C++ +// End: diff --git a/eo/src/eoAlgo.h b/src/eo/eoAlgo.h old mode 100644 new mode 100755 similarity index 96% rename from eo/src/eoAlgo.h rename to src/eo/eoAlgo.h index 494b7b76c..bb35d0664 --- a/eo/src/eoAlgo.h +++ b/src/eo/eoAlgo.h @@ -25,8 +25,8 @@ #ifndef _EOALGO_H #define _EOALGO_H -#include // for population -#include +#include "eoPop.h" // for population +#include "eoFunctor.h" /** @defgroup Algorithms Algorithms diff --git a/eo/src/eoBinaryFlight.h b/src/eo/eoBinaryFlight.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoBinaryFlight.h rename to src/eo/eoBinaryFlight.h index 9672bd3f3..34517c553 --- a/eo/src/eoBinaryFlight.h +++ b/src/eo/eoBinaryFlight.h @@ -26,7 +26,7 @@ #define EOBINARYFLIGHT_H //----------------------------------------------------------------------------- -#include +#include "eoFlight.h" //----------------------------------------------------------------------------- diff --git a/eo/src/eoBitParticle.h b/src/eo/eoBitParticle.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoBitParticle.h rename to src/eo/eoBitParticle.h index 87f98aa1b..9d03ef0cb --- a/eo/src/eoBitParticle.h +++ b/src/eo/eoBitParticle.h @@ -26,7 +26,7 @@ #define _EOBITPARTICLE_H -#include +#include "eoVectorParticle.h" /** eoBitParticle: Implementation of a bit-coded particle (swarm optimization). diff --git a/eo/src/eoBreed.h b/src/eo/eoBreed.h old mode 100644 new mode 100755 similarity index 96% rename from eo/src/eoBreed.h rename to src/eo/eoBreed.h index 0b00ec584..fd8448543 --- a/eo/src/eoBreed.h +++ b/src/eo/eoBreed.h @@ -27,10 +27,10 @@ //----------------------------------------------------------------------------- -#include -#include -#include -#include +#include "eoPop.h" +#include "eoFunctor.h" +#include "eoSelect.h" +#include "eoTransform.h" //----------------------------------------------------------------------------- /** Breeding: combination of selecting and transforming a population diff --git a/eo/src/eoCellularEasyEA.h b/src/eo/eoCellularEasyEA.h old mode 100644 new mode 100755 similarity index 96% rename from eo/src/eoCellularEasyEA.h rename to src/eo/eoCellularEasyEA.h index fbf3085fc..37e4ec009 --- a/eo/src/eoCellularEasyEA.h +++ b/src/eo/eoCellularEasyEA.h @@ -24,12 +24,12 @@ #ifndef eoCellularEasyEA_h #define eoCellularEasyEA_h -#include -#include -#include -#include -#include -#include +#include "eoContinue.h" +#include "eoEvalFunc.h" +#include "eoSelectOne.h" +#include "eoPopEvalFunc.h" +#include "eoAlgo.h" +#include "eoOp.h" /** The abstract cellular easy algorithm. diff --git a/eo/src/eoCloneOps.h b/src/eo/eoCloneOps.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/eoCloneOps.h rename to src/eo/eoCloneOps.h index e53cbd749..2093fd632 --- a/eo/src/eoCloneOps.h +++ b/src/eo/eoCloneOps.h @@ -25,7 +25,7 @@ #ifndef _eoCloneOps_H #define _eoCloneOps_H -#include +#include "eoOp.h" /** * The different null-variation operators (i.e. they do nothing) diff --git a/eo/src/eoCombinedContinue.h b/src/eo/eoCombinedContinue.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/eoCombinedContinue.h rename to src/eo/eoCombinedContinue.h index 5162ffaa9..3f1cb4e0a --- a/eo/src/eoCombinedContinue.h +++ b/src/eo/eoCombinedContinue.h @@ -30,7 +30,7 @@ Authors : #ifndef _eoCombinedContinue_h #define _eoCombinedContinue_h -#include +#include "eoContinue.h" /** Combined continuators - logical AND: diff --git a/eo/src/eoCombinedInit.h b/src/eo/eoCombinedInit.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/eoCombinedInit.h rename to src/eo/eoCombinedInit.h index cc93620d3..98bc05d12 --- a/eo/src/eoCombinedInit.h +++ b/src/eo/eoCombinedInit.h @@ -25,7 +25,7 @@ #ifndef _eoCombinedInit_h #define _eoCombinedInit_h -#include +#include "eoInit.h" /** Combined INIT: a proportional recombination of eoInit objects diff --git a/eo/src/eoConstrictedVariableWeightVelocity.h b/src/eo/eoConstrictedVariableWeightVelocity.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoConstrictedVariableWeightVelocity.h rename to src/eo/eoConstrictedVariableWeightVelocity.h index 9e96d7ef3..cff14bc44 --- a/eo/src/eoConstrictedVariableWeightVelocity.h +++ b/src/eo/eoConstrictedVariableWeightVelocity.h @@ -26,11 +26,11 @@ #define EOCONSTRICTEDVARIABLEWEIGHTVELOCITY_H //----------------------------------------------------------------------------- -#include -#include -#include -#include -#include +#include "eoVelocity.h" +#include "eoTopology.h" +#include "eoWeightUpdater.h" +#include "utils/eoRealVectorBounds.h" +#include "eoRealBoundModifier.h" //----------------------------------------------------------------------------- diff --git a/eo/src/eoConstrictedVelocity.h b/src/eo/eoConstrictedVelocity.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoConstrictedVelocity.h rename to src/eo/eoConstrictedVelocity.h index 45f6e03d6..2e13bc1ef --- a/eo/src/eoConstrictedVelocity.h +++ b/src/eo/eoConstrictedVelocity.h @@ -27,11 +27,11 @@ #define EOCONSTRICTEDVELOCITY_H //----------------------------------------------------------------------------- -#include -#include -#include -#include -#include +#include "eoFunctor.h" +#include "utils/eoRNG.h" +#include "eoPop.h" +#include "utils/eoRealVectorBounds.h" +#include "eoTopology.h" //----------------------------------------------------------------------------- diff --git a/eo/src/eoContinue.h b/src/eo/eoContinue.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoContinue.h rename to src/eo/eoContinue.h index 82544115b..429ea58b7 --- a/eo/src/eoContinue.h +++ b/src/eo/eoContinue.h @@ -25,9 +25,9 @@ #ifndef _eoContinue_h #define _eoContinue_h -#include -#include -#include +#include "eoFunctor.h" +#include "eoPop.h" +#include "eoPersistent.h" /** @defgroup Continuators Stopping criteria * diff --git a/eo/src/eoCounter.h b/src/eo/eoCounter.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/eoCounter.h rename to src/eo/eoCounter.h index afd7fd2ee..d2f0f90d3 --- a/eo/src/eoCounter.h +++ b/src/eo/eoCounter.h @@ -26,9 +26,9 @@ #ifndef _eoCounter_h #define _eoCounter_h -#include -#include -#include +#include "eoFunctor.h" +#include "eoFunctorStore.h" +#include "utils/eoParam.h" /** Generic counter class that counts the number of times diff --git a/eo/src/eoCtrlCContinue.cpp b/src/eo/eoCtrlCContinue.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoCtrlCContinue.cpp rename to src/eo/eoCtrlCContinue.cpp index b7ee7fea3..8d2c32de2 --- a/eo/src/eoCtrlCContinue.cpp +++ b/src/eo/eoCtrlCContinue.cpp @@ -28,7 +28,7 @@ #pragma warning(disable:4786) #endif -#include +#include "utils/eoLogger.h" #include #include diff --git a/eo/src/eoCtrlCContinue.h b/src/eo/eoCtrlCContinue.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/eoCtrlCContinue.h rename to src/eo/eoCtrlCContinue.h index e239f7367..37b665a10 --- a/eo/src/eoCtrlCContinue.h +++ b/src/eo/eoCtrlCContinue.h @@ -31,7 +31,7 @@ #define eoCtrlCContinue_h #include -#include +#include "eoContinue.h" /** * @addtogroup Continuators diff --git a/eo/src/eoDetSelect.h b/src/eo/eoDetSelect.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoDetSelect.h rename to src/eo/eoDetSelect.h index c89f41f69..dce958a46 --- a/eo/src/eoDetSelect.h +++ b/src/eo/eoDetSelect.h @@ -29,8 +29,8 @@ //----------------------------------------------------------------------------- -#include -#include +#include "eoSelect.h" +#include "utils/eoHowMany.h" #include //----------------------------------------------------------------------------- diff --git a/eo/src/eoDetTournamentSelect.h b/src/eo/eoDetTournamentSelect.h old mode 100644 new mode 100755 similarity index 95% rename from eo/src/eoDetTournamentSelect.h rename to src/eo/eoDetTournamentSelect.h index c7ecf8b16..8026f7a9b --- a/eo/src/eoDetTournamentSelect.h +++ b/src/eo/eoDetTournamentSelect.h @@ -31,10 +31,10 @@ #include // #include // accumulate -#include -#include -#include -#include +#include "eoFunctor.h" +#include "eoPop.h" +#include "utils/eoLogger.h" +#include "utils/selectors.h" /** eoDetTournamentSelect: a selection method that selects ONE individual by deterministic tournament diff --git a/eo/src/eoDistribUpdater.h b/src/eo/eoDistribUpdater.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoDistribUpdater.h rename to src/eo/eoDistribUpdater.h index 79b22814a..05a52c67f --- a/eo/src/eoDistribUpdater.h +++ b/src/eo/eoDistribUpdater.h @@ -28,8 +28,8 @@ #include -#include -#include +#include "eoDistribution.h" +#include "eoPop.h" /** * Base class for Distribution Evolution Algorithms within EO: diff --git a/eo/src/eoDistribution.h b/src/eo/eoDistribution.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoDistribution.h rename to src/eo/eoDistribution.h index 6ca90fe42..1f02fe1bb --- a/eo/src/eoDistribution.h +++ b/src/eo/eoDistribution.h @@ -28,8 +28,8 @@ #include -#include -#include +#include "eoInit.h" +#include "eoPop.h" /** * Abstract class for Distribution Evolution Algorithms within EO: diff --git a/eo/src/eoDualFitness.h b/src/eo/eoDualFitness.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/eoDualFitness.h rename to src/eo/eoDualFitness.h index 44839ed67..7fdf402d3 --- a/eo/src/eoDualFitness.h +++ b/src/eo/eoDualFitness.h @@ -31,8 +31,8 @@ Contact: http://eodev.sourceforge.net #include // for std::pair #include -#include -#include +#include "utils/eoStat.h" +#include "utils/eoLogger.h" /** @addtogroup Evaluation * @{ diff --git a/eo/src/eoEDA.h b/src/eo/eoEDA.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoEDA.h rename to src/eo/eoEDA.h index 553b751f3..8d8a3992b --- a/eo/src/eoEDA.h +++ b/src/eo/eoEDA.h @@ -28,7 +28,7 @@ //----------------------------------------------------------------------------- -#include +#include "eoDistribution.h" /** The abstract class for estimation of disribution algorithms. * This design evolve a probability distribution diff --git a/eo/src/eoEasyEA.h b/src/eo/eoEasyEA.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoEasyEA.h rename to src/eo/eoEasyEA.h index f5fc534a2..d3fd2825a --- a/eo/src/eoEasyEA.h +++ b/src/eo/eoEasyEA.h @@ -27,15 +27,15 @@ //----------------------------------------------------------------------------- -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "apply.h" +#include "eoAlgo.h" +#include "eoPopEvalFunc.h" +#include "eoContinue.h" +#include "eoSelect.h" +#include "eoTransform.h" +#include "eoBreed.h" +#include "eoMergeReduce.h" +#include "eoReplacement.h" diff --git a/eo/src/eoEasyPSO.h b/src/eo/eoEasyPSO.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoEasyPSO.h rename to src/eo/eoEasyPSO.h index da071bc02..3e9997e3a --- a/eo/src/eoEasyPSO.h +++ b/src/eo/eoEasyPSO.h @@ -26,10 +26,10 @@ #define _EOEASYPSO_H //----------------------------------------------------------------------------- -#include -#include -#include -#include +#include "eoContinue.h" +#include "eoPSO.h" +#include "eoVelocity.h" +#include "eoFlight.h" //----------------------------------------------------------------------------- /** An easy-to-use particle swarm algorithm. diff --git a/eo/src/eoEvalContinue.h b/src/eo/eoEvalContinue.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoEvalContinue.h rename to src/eo/eoEvalContinue.h index ef74e0758..1933be7b7 --- a/eo/src/eoEvalContinue.h +++ b/src/eo/eoEvalContinue.h @@ -26,8 +26,8 @@ #ifndef _eoEvalContinue_h #define _eoEvalContinue_h -#include -#include +#include "eoContinue.h" +#include "eoEvalFuncCounter.h" /** * Continues until a number of evaluations has been made diff --git a/eo/src/eoEvalCounterThrowException.h b/src/eo/eoEvalCounterThrowException.h old mode 100644 new mode 100755 similarity index 96% rename from eo/src/eoEvalCounterThrowException.h rename to src/eo/eoEvalCounterThrowException.h index 4eb4fccc4..8b38908e4 --- a/eo/src/eoEvalCounterThrowException.h +++ b/src/eo/eoEvalCounterThrowException.h @@ -26,9 +26,9 @@ Caner Candan #ifndef __eoEvalCounterThrowException_h__ #define __eoEvalCounterThrowException_h__ -#include -#include -#include +#include "eoEvalFuncCounter.h" +#include "utils/eoParam.h" +#include "eoExceptions.h" /*! Wrap an evaluation function so that an exception may be thrown when the diff --git a/eo/src/eoEvalDump.h b/src/eo/eoEvalDump.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/eoEvalDump.h rename to src/eo/eoEvalDump.h index 78630bee7..a5ad8e3fb --- a/eo/src/eoEvalDump.h +++ b/src/eo/eoEvalDump.h @@ -25,7 +25,7 @@ #include -#include +#include "eoEvalFunc.h" /** Dump an evaluated individual to a given file. diff --git a/eo/src/eoEvalFunc.h b/src/eo/eoEvalFunc.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoEvalFunc.h rename to src/eo/eoEvalFunc.h index b05b667b2..301cdb509 --- a/eo/src/eoEvalFunc.h +++ b/src/eo/eoEvalFunc.h @@ -25,7 +25,7 @@ #ifndef eoEvalFunc_H #define eoEvalFunc_H -#include +#include "eoFunctor.h" /** @defgroup Evaluation Evaluation * @ingroup Operators diff --git a/eo/src/eoEvalFuncCounter.h b/src/eo/eoEvalFuncCounter.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoEvalFuncCounter.h rename to src/eo/eoEvalFuncCounter.h index a63821d61..0641250fa --- a/eo/src/eoEvalFuncCounter.h +++ b/src/eo/eoEvalFuncCounter.h @@ -27,8 +27,8 @@ #ifndef eoEvalFuncCounter_H #define eoEvalFuncCounter_H -#include -#include +#include "eoEvalFunc.h" +#include "utils/eoParam.h" /** Counts the number of evaluations actually performed. diff --git a/eo/src/eoEvalFuncCounterBounder.h b/src/eo/eoEvalFuncCounterBounder.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoEvalFuncCounterBounder.h rename to src/eo/eoEvalFuncCounterBounder.h index 7114e7f37..30ac03473 --- a/eo/src/eoEvalFuncCounterBounder.h +++ b/src/eo/eoEvalFuncCounterBounder.h @@ -1,8 +1,8 @@ #ifndef eoEvalFuncCounterBounder_H #define eoEvalFuncCounterBounder_H -#include -#include +#include "eoEvalFunc.h" +#include "utils/eoParam.h" /** @addtogroup Evaluation * @{ diff --git a/eo/src/eoEvalFuncPtr.h b/src/eo/eoEvalFuncPtr.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/eoEvalFuncPtr.h rename to src/eo/eoEvalFuncPtr.h index f4952c212..b0f8b01e1 --- a/eo/src/eoEvalFuncPtr.h +++ b/src/eo/eoEvalFuncPtr.h @@ -28,7 +28,7 @@ #ifndef EOEVALFUNCPTR_H #define EOEVALFUNCPTR_H -#include +#include "eoEvalFunc.h" /** EOEvalFuncPtr: This class * takes an existing function pointer and converts it into a evaluation diff --git a/eo/src/eoEvalKeepBest.h b/src/eo/eoEvalKeepBest.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoEvalKeepBest.h rename to src/eo/eoEvalKeepBest.h index 12a9a978f..133e01b87 --- a/eo/src/eoEvalKeepBest.h +++ b/src/eo/eoEvalKeepBest.h @@ -25,8 +25,8 @@ #include -#include -#include +#include "eoEvalFunc.h" +#include "utils/eoParam.h" /** Evaluate with the given evaluator and keep the best individual found so far. diff --git a/eo/src/eoEvalTimeThrowException.h b/src/eo/eoEvalTimeThrowException.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoEvalTimeThrowException.h rename to src/eo/eoEvalTimeThrowException.h index be0e149a2..3cff76512 --- a/eo/src/eoEvalTimeThrowException.h +++ b/src/eo/eoEvalTimeThrowException.h @@ -23,7 +23,7 @@ Johann Dréo #include -#include +#include "eoExceptions.h" /** Check at each evaluation if a given tie contract has been reached. * diff --git a/eo/src/eoEvalUserTimeThrowException.h b/src/eo/eoEvalUserTimeThrowException.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/eoEvalUserTimeThrowException.h rename to src/eo/eoEvalUserTimeThrowException.h index 2d9ccadd6..1e2edda6f --- a/eo/src/eoEvalUserTimeThrowException.h +++ b/src/eo/eoEvalUserTimeThrowException.h @@ -38,7 +38,7 @@ Johann Dréo * @ingroup Evaluation */ -#include +#include "eoExceptions.h" #ifdef __unix__ diff --git a/eo/src/eoExceptions.h b/src/eo/eoExceptions.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/eoExceptions.h rename to src/eo/eoExceptions.h diff --git a/eo/src/eoExtendedVelocity.h b/src/eo/eoExtendedVelocity.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoExtendedVelocity.h rename to src/eo/eoExtendedVelocity.h index e7667204c..bcbd51c3a --- a/eo/src/eoExtendedVelocity.h +++ b/src/eo/eoExtendedVelocity.h @@ -26,12 +26,12 @@ #define eoExtendedVelocity_H //----------------------------------------------------------------------------- -#include -#include -#include -#include -#include -#include +#include "eoFunctor.h" +#include "utils/eoRNG.h" +#include "eoPop.h" +#include "utils/eoRealVectorBounds.h" +#include "eoRealBoundModifier.h" +#include "eoTopology.h" //----------------------------------------------------------------------------- diff --git a/eo/src/eoFactory.h b/src/eo/eoFactory.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/eoFactory.h rename to src/eo/eoFactory.h index 73a8faf1b..f2c05742b --- a/eo/src/eoFactory.h +++ b/src/eo/eoFactory.h @@ -26,7 +26,7 @@ #define _EOFACTORY_H //----------------------------------------------------------------------------- -#include +#include "eoObject.h" //----------------------------------------------------------------------------- diff --git a/eo/src/eoFitContinue.h b/src/eo/eoFitContinue.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoFitContinue.h rename to src/eo/eoFitContinue.h index 2db88f80b..9725008ed --- a/eo/src/eoFitContinue.h +++ b/src/eo/eoFitContinue.h @@ -25,8 +25,8 @@ #ifndef _eoFitContinue_h #define _eoFitContinue_h -#include -#include +#include "eoContinue.h" +#include "utils/eoLogger.h" /** Continues until the optimum fitness level is reached. diff --git a/eo/src/eoFitnessScalingSelect.h b/src/eo/eoFitnessScalingSelect.h old mode 100644 new mode 100755 similarity index 96% rename from eo/src/eoFitnessScalingSelect.h rename to src/eo/eoFitnessScalingSelect.h index c17532019..f4216c20f --- a/eo/src/eoFitnessScalingSelect.h +++ b/src/eo/eoFitnessScalingSelect.h @@ -29,8 +29,8 @@ //----------------------------------------------------------------------------- -#include -#include +#include "eoSelectFromWorth.h" +#include "eoLinearFitScaling.h" /** eoFitnessScalingSelect: select an individual proportional to the * linearly scaled fitness that is computed by the private diff --git a/eo/src/eoFixedInertiaWeightedVelocity.h b/src/eo/eoFixedInertiaWeightedVelocity.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoFixedInertiaWeightedVelocity.h rename to src/eo/eoFixedInertiaWeightedVelocity.h index 291c85a09..996845c01 --- a/eo/src/eoFixedInertiaWeightedVelocity.h +++ b/src/eo/eoFixedInertiaWeightedVelocity.h @@ -26,11 +26,11 @@ #define EOFIXEDINERTIAWEIGHTEDVELOCITY_H //----------------------------------------------------------------------------- -#include -#include -#include -#include -#include +#include "eoFunctor.h" +#include "utils/eoRNG.h" +#include "eoPop.h" +#include "utils/eoRealVectorBounds.h" +#include "eoTopology.h" //----------------------------------------------------------------------------- diff --git a/eo/src/eoFlOrBinOp.h b/src/eo/eoFlOrBinOp.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/eoFlOrBinOp.h rename to src/eo/eoFlOrBinOp.h index bcdc9c5c1..343b2c738 --- a/eo/src/eoFlOrBinOp.h +++ b/src/eo/eoFlOrBinOp.h @@ -26,8 +26,8 @@ #ifndef _eoFlOrBinOp_h #define _eoFlOrBinOp_h -#include -#include +#include "eoFunctor.h" +#include "eoOp.h" /** @addtogroup Variators * @{ diff --git a/eo/src/eoFlOrMonOp.h b/src/eo/eoFlOrMonOp.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoFlOrMonOp.h rename to src/eo/eoFlOrMonOp.h index 63dae9cba..8ef903b1f --- a/eo/src/eoFlOrMonOp.h +++ b/src/eo/eoFlOrMonOp.h @@ -26,9 +26,9 @@ #ifndef _eoFlOrMonOp_h #define _eoFlOrMonOp_h -#include -#include -#include +#include "eoFunctor.h" +#include "eoOp.h" +#include "eoInit.h" /** @addtogroup Variators * @{ diff --git a/eo/src/eoFlOrQuadOp.h b/src/eo/eoFlOrQuadOp.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/eoFlOrQuadOp.h rename to src/eo/eoFlOrQuadOp.h index 91618aa53..1c0c805fd --- a/eo/src/eoFlOrQuadOp.h +++ b/src/eo/eoFlOrQuadOp.h @@ -26,8 +26,8 @@ #ifndef _eoFlOrQuadOp_h #define _eoFlOrQuadOp_h -#include -#include +#include "eoFunctor.h" +#include "eoOp.h" /** @addtogroup Variators * @{ diff --git a/eo/src/eoFlight.h b/src/eo/eoFlight.h old mode 100644 new mode 100755 similarity index 96% rename from eo/src/eoFlight.h rename to src/eo/eoFlight.h index 4c46d8e94..83f7d6e5f --- a/eo/src/eoFlight.h +++ b/src/eo/eoFlight.h @@ -26,8 +26,8 @@ #define EOFLIGHT_H //----------------------------------------------------------------------------- -#include -#include +#include "eoFunctor.h" +#include "utils/eoRealVectorBounds.h" //----------------------------------------------------------------------------- /** Abstract class for particle swarm optimization flight. diff --git a/eo/src/eoFunctor.h b/src/eo/eoFunctor.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/eoFunctor.h rename to src/eo/eoFunctor.h diff --git a/eo/src/eoFunctorStore.cpp b/src/eo/eoFunctorStore.cpp old mode 100644 new mode 100755 similarity index 82% rename from eo/src/eoFunctorStore.cpp rename to src/eo/eoFunctorStore.cpp index 43cd778cd..fe3137ada --- a/eo/src/eoFunctorStore.cpp +++ b/src/eo/eoFunctorStore.cpp @@ -5,8 +5,8 @@ #include -#include -#include +#include "eoFunctorStore.h" +#include "eoFunctor.h" /// clears the memory diff --git a/eo/src/eoFunctorStore.h b/src/eo/eoFunctorStore.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/eoFunctorStore.h rename to src/eo/eoFunctorStore.h diff --git a/eo/src/eoG3Replacement.h b/src/eo/eoG3Replacement.h old mode 100644 new mode 100755 similarity index 95% rename from eo/src/eoG3Replacement.h rename to src/eo/eoG3Replacement.h index a235244f8..c7cf20178 --- a/eo/src/eoG3Replacement.h +++ b/src/eo/eoG3Replacement.h @@ -28,12 +28,12 @@ //----------------------------------------------------------------------------- -#include -#include -#include -#include -#include -#include +#include "eoPop.h" +#include "eoFunctor.h" +#include "eoMerge.h" +#include "eoReduce.h" +#include "utils/eoHowMany.h" +#include "eoReduceSplit.h" //----------------------------------------------------------------------------- /** diff --git a/eo/src/eoGaussRealWeightUp.h b/src/eo/eoGaussRealWeightUp.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoGaussRealWeightUp.h rename to src/eo/eoGaussRealWeightUp.h index 47edc321b..28affcad5 --- a/eo/src/eoGaussRealWeightUp.h +++ b/src/eo/eoGaussRealWeightUp.h @@ -26,8 +26,8 @@ #define EOGAUSSREALWEIGHTUP_H //----------------------------------------------------------------------------- -#include -#include +#include "eoWeightUpdater.h" +#include "utils/eoRNG.h" //----------------------------------------------------------------------------- diff --git a/eo/src/eoGenContinue.h b/src/eo/eoGenContinue.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoGenContinue.h rename to src/eo/eoGenContinue.h index dc756795d..bfe68c60d --- a/eo/src/eoGenContinue.h +++ b/src/eo/eoGenContinue.h @@ -25,9 +25,9 @@ #ifndef _eoGenContinue_h #define _eoGenContinue_h -#include -#include -#include +#include "eoContinue.h" +#include "utils/eoParam.h" +#include "utils/eoLogger.h" /** Generational continuator: continues until a number of generations is reached diff --git a/eo/src/eoGenOp.h b/src/eo/eoGenOp.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoGenOp.h rename to src/eo/eoGenOp.h index f0d70c7ba..deb5c27bd --- a/eo/src/eoGenOp.h +++ b/src/eo/eoGenOp.h @@ -26,9 +26,9 @@ #ifndef _eoGenOp_H #define _eoGenOp_H -#include -#include -#include +#include "eoOp.h" +#include "eoPopulator.h" +#include "eoFunctorStore.h" #include /** @name General variation operators diff --git a/eo/src/eoGeneralBreeder.h b/src/eo/eoGeneralBreeder.h old mode 100644 new mode 100755 similarity index 96% rename from eo/src/eoGeneralBreeder.h rename to src/eo/eoGeneralBreeder.h index dc598ba7e..1fdbd5c40 --- a/eo/src/eoGeneralBreeder.h +++ b/src/eo/eoGeneralBreeder.h @@ -32,12 +32,12 @@ * eoGeneralBreeder: transforms a population using the generalOp construct. *****************************************************************************/ -#include -#include -#include -#include -#include -#include +#include "eoOp.h" +#include "eoGenOp.h" +#include "eoPopulator.h" +#include "eoSelectOne.h" +#include "eoBreed.h" +#include "utils/eoHowMany.h" /** Base class for breeders using generalized operators. diff --git a/eo/src/eoInit.h b/src/eo/eoInit.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoInit.h rename to src/eo/eoInit.h index 7b460d94b..9230f4b64 --- a/eo/src/eoInit.h +++ b/src/eo/eoInit.h @@ -29,10 +29,10 @@ #include -#include -#include -#include -#include // for shuffle method +#include "eoOp.h" +#include "eoSTLFunctor.h" +#include "utils/eoRndGenerators.h" +#include "utils/rnd_generators.h" // for shuffle method /** diff --git a/eo/src/eoInitializer.h b/src/eo/eoInitializer.h old mode 100644 new mode 100755 similarity index 96% rename from eo/src/eoInitializer.h rename to src/eo/eoInitializer.h index 9e5cd5caf..3349768b2 --- a/eo/src/eoInitializer.h +++ b/src/eo/eoInitializer.h @@ -27,11 +27,11 @@ #ifndef _eoInitializer_H #define _eoInitializer_H -#include -#include -#include -#include -#include +#include "utils/eoRealVectorBounds.h" +#include "eoVelocityInit.h" +#include "eoPop.h" +#include "eoParticleBestInit.h" +#include "eoTopology.h" /** @addtogroup Initializators diff --git a/eo/src/eoInt.h b/src/eo/eoInt.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoInt.h rename to src/eo/eoInt.h index 41c877247..8dc318e2c --- a/eo/src/eoInt.h +++ b/src/eo/eoInt.h @@ -29,7 +29,7 @@ #include // std::ostream, std::istream #include // std::string -#include +#include "eoVector.h" /** eoInt: implementation of simple integer-valued chromosome. * based on eoVector class diff --git a/eo/src/eoIntegerVelocity.h b/src/eo/eoIntegerVelocity.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoIntegerVelocity.h rename to src/eo/eoIntegerVelocity.h index b00b17bf3..2ff8108a4 --- a/eo/src/eoIntegerVelocity.h +++ b/src/eo/eoIntegerVelocity.h @@ -27,12 +27,12 @@ #define EOINTEGERVELOCITY_H //----------------------------------------------------------------------------- -#include -#include -#include -#include -#include -#include +#include "eoFunctor.h" +#include "utils/eoRNG.h" +#include "eoPop.h" +#include "utils/eoRealVectorBounds.h" +#include "eoRealBoundModifier.h" +#include "eoTopology.h" //----------------------------------------------------------------------------- diff --git a/eo/src/eoInvalidateOps.h b/src/eo/eoInvalidateOps.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/eoInvalidateOps.h rename to src/eo/eoInvalidateOps.h index 97dd39f55..d4a558182 --- a/eo/src/eoInvalidateOps.h +++ b/src/eo/eoInvalidateOps.h @@ -27,7 +27,7 @@ #ifndef _eoInvalidateOps_h #define _eoInvalidateOps_h -#include +#include "eoOp.h" /** @addtogroup Utilities diff --git a/eo/src/eoInvertedContinue.h b/src/eo/eoInvertedContinue.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoInvertedContinue.h rename to src/eo/eoInvertedContinue.h index 0f677cc08..9b723a5ec --- a/eo/src/eoInvertedContinue.h +++ b/src/eo/eoInvertedContinue.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _eoInvertedContinue_h #define _eoInvertedContinue_h -#include +#include "eoContinue.h" /** * Return the opposite of the wrapped continuator diff --git a/eo/src/eoLinearDecreasingWeightUp.h b/src/eo/eoLinearDecreasingWeightUp.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoLinearDecreasingWeightUp.h rename to src/eo/eoLinearDecreasingWeightUp.h index 87f489423..e6a1b315b --- a/eo/src/eoLinearDecreasingWeightUp.h +++ b/src/eo/eoLinearDecreasingWeightUp.h @@ -26,7 +26,7 @@ #define EOLINEARDECREASINGWEIGHTUP_H //----------------------------------------------------------------------------- -#include +#include "eoWeightUpdater.h" //----------------------------------------------------------------------------- diff --git a/eo/src/eoLinearFitScaling.h b/src/eo/eoLinearFitScaling.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoLinearFitScaling.h rename to src/eo/eoLinearFitScaling.h index 75598c934..269518f05 --- a/eo/src/eoLinearFitScaling.h +++ b/src/eo/eoLinearFitScaling.h @@ -27,8 +27,8 @@ #ifndef eoLinearFitScaling_h #define eoLinearFitScaling_h -#include -#include +#include "eoSelectFromWorth.h" +#include "eoPerf2Worth.h" /** An instance of eoPerf2Worth * COmputes the linearly scaled fitnesses diff --git a/eo/src/eoLinearTopology.h b/src/eo/eoLinearTopology.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoLinearTopology.h rename to src/eo/eoLinearTopology.h index 813e99b93..027be1871 --- a/eo/src/eoLinearTopology.h +++ b/src/eo/eoLinearTopology.h @@ -27,9 +27,9 @@ #define EOLINEARTOPOLOGY_H_ //----------------------------------------------------------------------------- -#include -#include -#include +#include "eoPop.h" +#include "eoTopology.h" +#include "eoSocialNeighborhood.h" //----------------------------------------------------------------------------- diff --git a/eo/src/eoMGGReplacement.h b/src/eo/eoMGGReplacement.h old mode 100644 new mode 100755 similarity index 95% rename from eo/src/eoMGGReplacement.h rename to src/eo/eoMGGReplacement.h index e2eebbfa5..1e4c40f2d --- a/eo/src/eoMGGReplacement.h +++ b/src/eo/eoMGGReplacement.h @@ -28,12 +28,12 @@ //----------------------------------------------------------------------------- -#include -#include -#include -#include -#include -#include +#include "eoPop.h" +#include "eoFunctor.h" +#include "eoMerge.h" +#include "eoReduce.h" +#include "utils/eoHowMany.h" +#include "eoReduceSplit.h" //----------------------------------------------------------------------------- /** diff --git a/eo/src/eoMerge.h b/src/eo/eoMerge.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoMerge.h rename to src/eo/eoMerge.h index 31da70f08..5870849cf --- a/eo/src/eoMerge.h +++ b/src/eo/eoMerge.h @@ -31,9 +31,9 @@ #include // EO includes -#include // eoPop -#include // eoMerge -#include +#include "eoPop.h" // eoPop +#include "eoFunctor.h" // eoMerge +#include "utils/eoLogger.h" /** * eoMerge: Base class for elitist replacement algorithms. diff --git a/eo/src/eoMergeReduce.h b/src/eo/eoMergeReduce.h old mode 100644 new mode 100755 similarity index 96% rename from eo/src/eoMergeReduce.h rename to src/eo/eoMergeReduce.h index 6a2618d9d..e5e8c2bcc --- a/eo/src/eoMergeReduce.h +++ b/src/eo/eoMergeReduce.h @@ -27,12 +27,12 @@ //----------------------------------------------------------------------------- -#include -#include -#include -#include -#include -#include +#include "eoPop.h" +#include "eoFunctor.h" +#include "eoMerge.h" +#include "eoReduce.h" +#include "eoReplacement.h" +#include "utils/eoHowMany.h" //----------------------------------------------------------------------------- /** Replacement strategies that combine en eoMerge and an eoReduce. diff --git a/eo/src/eoNDSorting.h b/src/eo/eoNDSorting.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/eoNDSorting.h rename to src/eo/eoNDSorting.h index 6ab86c177..6c11c592b --- a/eo/src/eoNDSorting.h +++ b/src/eo/eoNDSorting.h @@ -27,10 +27,10 @@ #ifndef eoNDSorting_h #define eoNDSorting_h -#include +#include "EO.h" #include -#include -#include +#include "eoPop.h" +#include "eoPerf2Worth.h" #include /** diff --git a/eo/src/eoNeighborhood.h b/src/eo/eoNeighborhood.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/eoNeighborhood.h rename to src/eo/eoNeighborhood.h diff --git a/eo/src/eoObject.h b/src/eo/eoObject.h old mode 100644 new mode 100755 similarity index 96% rename from eo/src/eoObject.h rename to src/eo/eoObject.h index bac2f4737..64bb5d046 --- a/eo/src/eoObject.h +++ b/src/eo/eoObject.h @@ -27,11 +27,11 @@ //----------------------------------------------------------------------------- -#include // For limits definition +#include "utils/eoData.h" // For limits definition #include // std::istream, std::ostream #include // std::string -#include +#include "utils/compatibility.h" /* eoObject used to be the base class for the whole hierarchy, but this has diff --git a/eo/src/eoOneToOneBreeder.h b/src/eo/eoOneToOneBreeder.h old mode 100644 new mode 100755 similarity index 94% rename from eo/src/eoOneToOneBreeder.h rename to src/eo/eoOneToOneBreeder.h index a4c18c0b4..587dbce19 --- a/eo/src/eoOneToOneBreeder.h +++ b/src/eo/eoOneToOneBreeder.h @@ -28,15 +28,15 @@ //----------------------------------------------------------------------------- -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "eoOp.h" +#include "eoGenOp.h" +#include "eoPopulator.h" +#include "eoSelectOne.h" +#include "eoSequentialSelect.h" +#include "eoBreed.h" +#include "eoEvalFunc.h" +#include "eoPopulator.h" +#include "utils/eoHowMany.h" /** eoOneToOneBreeder: transforms a population using * - an operator that MODIFIES only one parent from the populator diff --git a/eo/src/eoOp.h b/src/eo/eoOp.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoOp.h rename to src/eo/eoOp.h index b6ad783c2..5351b9d86 --- a/eo/src/eoOp.h +++ b/src/eo/eoOp.h @@ -25,10 +25,10 @@ #ifndef _eoOp_H #define _eoOp_H -#include -#include -#include -#include +#include "eoObject.h" +#include "eoPrintable.h" +#include "eoFunctor.h" +#include "utils/eoRNG.h" /** @defgroup Operators Evolutionary Operators diff --git a/eo/src/eoOpContainer.h b/src/eo/eoOpContainer.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/eoOpContainer.h rename to src/eo/eoOpContainer.h index e1f43bdf6..41e8b74b8 --- a/eo/src/eoOpContainer.h +++ b/src/eo/eoOpContainer.h @@ -26,7 +26,7 @@ #ifndef _eoOpContainer_H #define _eoOpContainer_H -#include +#include "eoGenOp.h" /** eoOpContainer is a base class for the sequential and proportional selectors * It takes care of wrapping the other operators, diff --git a/eo/src/eoOpSelMason.h b/src/eo/eoOpSelMason.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoOpSelMason.h rename to src/eo/eoOpSelMason.h index 577b5b56f..78f616c76 --- a/eo/src/eoOpSelMason.h +++ b/src/eo/eoOpSelMason.h @@ -24,7 +24,7 @@ #ifndef _EOOPSELMASON_H #define _EOOPSELMASON_H -#include // for eoFactory and eoOpFactory +#include "eoOpFactory.h" // for eoFactory and eoOpFactory #include diff --git a/eo/src/eoOrderXover.h b/src/eo/eoOrderXover.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoOrderXover.h rename to src/eo/eoOrderXover.h index daaf52e0c..4efc8ea6b --- a/eo/src/eoOrderXover.h +++ b/src/eo/eoOrderXover.h @@ -9,8 +9,8 @@ //----------------------------------------------------------------------------- #include -#include -#include +#include "utils/eoRNG.h" +#include "eoInit.h" /** * apply orderXover on two chromosomes. diff --git a/eo/src/eoPSO.h b/src/eo/eoPSO.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoPSO.h rename to src/eo/eoPSO.h index 16d2c9b58..869ac43c2 --- a/eo/src/eoPSO.h +++ b/src/eo/eoPSO.h @@ -26,7 +26,7 @@ #define _EOPSO_H //----------------------------------------------------------------------------- -#include +#include "eoAlgo.h" //----------------------------------------------------------------------------- /** diff --git a/eo/src/eoParticleBestInit.h b/src/eo/eoParticleBestInit.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoParticleBestInit.h rename to src/eo/eoParticleBestInit.h index b203c8246..d179e6c75 --- a/eo/src/eoParticleBestInit.h +++ b/src/eo/eoParticleBestInit.h @@ -26,7 +26,7 @@ #define _EOPARTICLEBESTINIT_H //----------------------------------------------------------------------------- -#include +#include "eoFunctor.h" //----------------------------------------------------------------------------- /** diff --git a/eo/src/eoParticleFullInitializer.h b/src/eo/eoParticleFullInitializer.h old mode 100644 new mode 100755 similarity index 96% rename from eo/src/eoParticleFullInitializer.h rename to src/eo/eoParticleFullInitializer.h index 96bebb579..06503497a --- a/eo/src/eoParticleFullInitializer.h +++ b/src/eo/eoParticleFullInitializer.h @@ -27,11 +27,11 @@ #ifndef _eoParticleFullInitializer_H #define _eoParticleFullInitializer_H -#include -#include -#include -#include -#include +#include "utils/eoRealVectorBounds.h" +#include "eoVelocityInit.h" +#include "eoPop.h" +#include "eoParticleBestInit.h" +#include "eoTopology.h" /** @addtogroup Initializators diff --git a/eo/src/eoPerf2Worth.h b/src/eo/eoPerf2Worth.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoPerf2Worth.h rename to src/eo/eoPerf2Worth.h index 9f1746ecf..f7d08f512 --- a/eo/src/eoPerf2Worth.h +++ b/src/eo/eoPerf2Worth.h @@ -27,9 +27,9 @@ #ifndef eoPerf2Worth_h #define eoPerf2Worth_h -#include -#include -#include +#include "utils/eoParam.h" +#include "eoPop.h" +#include "eoFunctor.h" #include #include diff --git a/eo/src/eoPeriodicContinue.h b/src/eo/eoPeriodicContinue.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoPeriodicContinue.h rename to src/eo/eoPeriodicContinue.h index 1a3f9d0de..3aac35bed --- a/eo/src/eoPeriodicContinue.h +++ b/src/eo/eoPeriodicContinue.h @@ -22,8 +22,8 @@ #ifndef __eoPeriodicContinue_h #define __eoPeriodicContinue_h -#include -#include +#include "eoContinue.h" +#include "eoPop.h" /** A continue that becomes true periodically. */ diff --git a/eo/src/eoPersistent.cpp b/src/eo/eoPersistent.cpp old mode 100644 new mode 100755 similarity index 89% rename from eo/src/eoPersistent.cpp rename to src/eo/eoPersistent.cpp index c1334ebc4..4be731f94 --- a/eo/src/eoPersistent.cpp +++ b/src/eo/eoPersistent.cpp @@ -3,7 +3,7 @@ #pragma warning(disable:4786) #endif -#include +#include "eoPersistent.h" //Implementation of these objects diff --git a/eo/src/eoPersistent.h b/src/eo/eoPersistent.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/eoPersistent.h rename to src/eo/eoPersistent.h diff --git a/eo/src/eoPop.h b/src/eo/eoPop.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoPop.h rename to src/eo/eoPop.h index eb6be46fb..9213bca5c --- a/eo/src/eoPop.h +++ b/src/eo/eoPop.h @@ -41,10 +41,10 @@ #include // EO includes -#include // for eoInit -#include -#include -#include // for shuffle method +#include "eoOp.h" // for eoInit +#include "eoPersistent.h" +#include "eoInit.h" +#include "utils/rnd_generators.h" // for shuffle method /** A std::vector of EO object, to be used in all algorithms * (selectors, operators, replacements, ...). diff --git a/eo/src/eoPopEvalFunc.h b/src/eo/eoPopEvalFunc.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoPopEvalFunc.h rename to src/eo/eoPopEvalFunc.h index d9bc77750..b86ca8993 --- a/eo/src/eoPopEvalFunc.h +++ b/src/eo/eoPopEvalFunc.h @@ -27,15 +27,15 @@ #ifndef eoPopEvalFunc_H #define eoPopEvalFunc_H -#include -#include +#include "eoEvalFunc.h" +#include "apply.h" # ifdef WITH_MPI -#include -#include -#include -#include -#include +#include "../eompi/eoMpi.h" +#include "../eompi/eoTerminateJob.h" +#include "../eompi/eoMpiAssignmentAlgorithm.h" +#include "../eompi/eoParallelApply.h" +#include "utils/eoParallel.h" #include // ceil # endif // WITH_MPI diff --git a/eo/src/eoPopulator.h b/src/eo/eoPopulator.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/eoPopulator.h rename to src/eo/eoPopulator.h index 104aafe5e..9c8d28af9 --- a/eo/src/eoPopulator.h +++ b/src/eo/eoPopulator.h @@ -26,8 +26,8 @@ #ifndef _eoPopulator_H #define _eoPopulator_H -#include -#include +#include "eoPop.h" +#include "eoSelectOne.h" /** eoPopulator is a helper class for general operators eoGenOp It is an eoPop but also behaves like an eoPop::iterator diff --git a/eo/src/eoPrintable.cpp b/src/eo/eoPrintable.cpp old mode 100644 new mode 100755 similarity index 96% rename from eo/src/eoPrintable.cpp rename to src/eo/eoPrintable.cpp index ec6e32462..1f0b4ab4a --- a/eo/src/eoPrintable.cpp +++ b/src/eo/eoPrintable.cpp @@ -7,7 +7,7 @@ // eoPrintable.cpp //----------------------------------------------------------------------------- -#include +#include "eoPrintable.h" //----------------------------------------------------------------------------- //Implementation of these objects diff --git a/eo/src/eoPrintable.h b/src/eo/eoPrintable.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/eoPrintable.h rename to src/eo/eoPrintable.h diff --git a/eo/src/eoPropGAGenOp.h b/src/eo/eoPropGAGenOp.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/eoPropGAGenOp.h rename to src/eo/eoPropGAGenOp.h diff --git a/eo/src/eoProportionalCombinedOp.h b/src/eo/eoProportionalCombinedOp.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoProportionalCombinedOp.h rename to src/eo/eoProportionalCombinedOp.h index 823ac79c9..0dce5b0fc --- a/eo/src/eoProportionalCombinedOp.h +++ b/src/eo/eoProportionalCombinedOp.h @@ -24,12 +24,12 @@ #ifndef _eoCombinedOp_H #define _eoCombinedOp_H -#include -#include -#include -#include -#include -#include +#include "eoObject.h" +#include "eoPrintable.h" +#include "eoFunctor.h" +#include "eoOp.h" +#include "utils/eoRNG.h" +#include "utils/eoLogger.h" /** \defgroup Utilities Utilities diff --git a/eo/src/eoProportionalSelect.h b/src/eo/eoProportionalSelect.h old mode 100644 new mode 100755 similarity index 96% rename from eo/src/eoProportionalSelect.h rename to src/eo/eoProportionalSelect.h index ec1243cee..35dd3065c --- a/eo/src/eoProportionalSelect.h +++ b/src/eo/eoProportionalSelect.h @@ -29,10 +29,10 @@ //----------------------------------------------------------------------------- -#include -#include -#include -#include +#include "utils/eoRNG.h" +#include "utils/selectors.h" +#include "eoSelectOne.h" +#include "eoPop.h" /** eoProportionalSelect: select an individual proportional to her stored fitness value diff --git a/eo/src/eoRandomRealWeightUp.h b/src/eo/eoRandomRealWeightUp.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoRandomRealWeightUp.h rename to src/eo/eoRandomRealWeightUp.h index 81521b512..d135af93f --- a/eo/src/eoRandomRealWeightUp.h +++ b/src/eo/eoRandomRealWeightUp.h @@ -26,8 +26,8 @@ #define EORANDOMREALWEIGHTUP_H //----------------------------------------------------------------------------- -#include -#include +#include "eoWeightUpdater.h" +#include "utils/eoRNG.h" //----------------------------------------------------------------------------- /** diff --git a/eo/src/eoRandomSelect.h b/src/eo/eoRandomSelect.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoRandomSelect.h rename to src/eo/eoRandomSelect.h index 065f050f9..1b15bbffa --- a/eo/src/eoRandomSelect.h +++ b/src/eo/eoRandomSelect.h @@ -32,8 +32,8 @@ * eoSequentialSelect returns all individuals in turn */ -#include -#include +#include "utils/eoRNG.h" +#include "eoSelectOne.h" /** eoRandomSelect: a selection method that selects ONE individual randomly * diff --git a/eo/src/eoRankMuSelect.h b/src/eo/eoRankMuSelect.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/eoRankMuSelect.h rename to src/eo/eoRankMuSelect.h diff --git a/eo/src/eoRanking.h b/src/eo/eoRanking.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/eoRanking.h rename to src/eo/eoRanking.h index 5e7342911..65fbe87a4 --- a/eo/src/eoRanking.h +++ b/src/eo/eoRanking.h @@ -27,7 +27,7 @@ #ifndef eoRanking_h #define eoRanking_h -#include +#include "eoPerf2Worth.h" /** An instance of eoPerfFromWorth * COmputes the ranked fitness: fitnesses range in [m,M] diff --git a/eo/src/eoRankingSelect.h b/src/eo/eoRankingSelect.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoRankingSelect.h rename to src/eo/eoRankingSelect.h index 70a2e44c0..1a3b9a254 --- a/eo/src/eoRankingSelect.h +++ b/src/eo/eoRankingSelect.h @@ -28,8 +28,8 @@ //----------------------------------------------------------------------------- -#include -#include +#include "eoSelectFromWorth.h" +#include "eoRanking.h" /** eoRankingSelect: select an individual by roulette wheel on its rank * is an eoRouletteWorthSelect, i.e. a selector using a std::vector of worthes diff --git a/eo/src/eoRealBoundModifier.h b/src/eo/eoRealBoundModifier.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoRealBoundModifier.h rename to src/eo/eoRealBoundModifier.h index 9a9e032bc..1b4405737 --- a/eo/src/eoRealBoundModifier.h +++ b/src/eo/eoRealBoundModifier.h @@ -24,8 +24,8 @@ #ifndef EOREALBOUNDMODIFIER_H #define EOREALBOUNDMODIFIER_H -#include -#include +#include "eoFunctor.h" +#include "utils/eoRealVectorBounds.h" /** @defgroup Bounds Bounds management * diff --git a/eo/src/eoRealParticle.h b/src/eo/eoRealParticle.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoRealParticle.h rename to src/eo/eoRealParticle.h index 14326558c..f7e758173 --- a/eo/src/eoRealParticle.h +++ b/src/eo/eoRealParticle.h @@ -26,7 +26,7 @@ #define _EOREALPARTICLE_H -#include +#include "eoVectorParticle.h" /** eoRealParticle: Implementation of a real-coded particle for diff --git a/eo/src/eoReduce.h b/src/eo/eoReduce.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoReduce.h rename to src/eo/eoReduce.h index 7f0c17729..c1039e47b --- a/eo/src/eoReduce.h +++ b/src/eo/eoReduce.h @@ -31,10 +31,10 @@ #include // EO includes -#include // eoPop -#include // eoReduce -#include -#include +#include "eoPop.h" // eoPop +#include "eoFunctor.h" // eoReduce +#include "utils/selectors.h" +#include "utils/eoLogger.h" /** * eoReduce: .reduce the new generation to the specified size diff --git a/eo/src/eoReduceMerge.h b/src/eo/eoReduceMerge.h old mode 100644 new mode 100755 similarity index 96% rename from eo/src/eoReduceMerge.h rename to src/eo/eoReduceMerge.h index 02933b404..a9f6c82fa --- a/eo/src/eoReduceMerge.h +++ b/src/eo/eoReduceMerge.h @@ -29,12 +29,12 @@ //----------------------------------------------------------------------------- -#include -#include -#include -#include -#include -#include +#include "eoPop.h" +#include "eoFunctor.h" +#include "eoMerge.h" +#include "eoReduce.h" +#include "eoReplacement.h" +#include "utils/eoHowMany.h" //----------------------------------------------------------------------------- /** @addtogroup Replacors diff --git a/eo/src/eoReduceMergeReduce.h b/src/eo/eoReduceMergeReduce.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoReduceMergeReduce.h rename to src/eo/eoReduceMergeReduce.h index 17721f733..0f7f0ad4c --- a/eo/src/eoReduceMergeReduce.h +++ b/src/eo/eoReduceMergeReduce.h @@ -28,11 +28,11 @@ //----------------------------------------------------------------------------- -#include -#include -#include -#include -#include +#include "eoPop.h" +#include "eoFunctor.h" +#include "eoMerge.h" +#include "eoReduce.h" +#include "utils/eoHowMany.h" //----------------------------------------------------------------------------- /** diff --git a/eo/src/eoReduceSplit.h b/src/eo/eoReduceSplit.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/eoReduceSplit.h rename to src/eo/eoReduceSplit.h index 4b21aa25e..a8640c039 --- a/eo/src/eoReduceSplit.h +++ b/src/eo/eoReduceSplit.h @@ -31,9 +31,9 @@ #include // EO includes -#include // eoPop -#include // eoReduce -#include +#include "eoPop.h" // eoPop +#include "eoFunctor.h" // eoReduce +#include "utils/selectors.h" /** @addtogroup Replacors * @{ diff --git a/eo/src/eoReplacement.h b/src/eo/eoReplacement.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoReplacement.h rename to src/eo/eoReplacement.h index 033d441cb..a705f5254 --- a/eo/src/eoReplacement.h +++ b/src/eo/eoReplacement.h @@ -29,11 +29,11 @@ //----------------------------------------------------------------------------- -#include -#include -#include -#include -#include +#include "eoPop.h" +#include "eoFunctor.h" +#include "eoMerge.h" +#include "eoReduce.h" +#include "utils/eoHowMany.h" //----------------------------------------------------------------------------- /** diff --git a/eo/src/eoRingTopology.h b/src/eo/eoRingTopology.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/eoRingTopology.h rename to src/eo/eoRingTopology.h index 6bad13cd7..615227909 --- a/eo/src/eoRingTopology.h +++ b/src/eo/eoRingTopology.h @@ -29,8 +29,8 @@ #define EORINGTOPOLOGY_H_ //----------------------------------------------------------------------------- -#include -#include +#include "eoTopology.h" +#include "eoSocialNeighborhood.h" //----------------------------------------------------------------------------- diff --git a/eo/src/eoSGA.h b/src/eo/eoSGA.h old mode 100644 new mode 100755 similarity index 94% rename from eo/src/eoSGA.h rename to src/eo/eoSGA.h index b31dff04e..bfbee45b6 --- a/eo/src/eoSGA.h +++ b/src/eo/eoSGA.h @@ -27,14 +27,14 @@ #ifndef _eoSGA_h #define _eoSGA_h -#include -#include -#include -#include -#include -#include -#include -#include +#include "eoInvalidateOps.h" +#include "eoContinue.h" +#include "eoPop.h" +#include "eoSelectOne.h" +#include "eoSelectPerc.h" +#include "eoEvalFunc.h" +#include "eoAlgo.h" +#include "apply.h" /** The Simple Genetic Algorithm, following Holland and Goldberg * diff --git a/eo/src/eoSGAGenOp.h b/src/eo/eoSGAGenOp.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/eoSGAGenOp.h rename to src/eo/eoSGAGenOp.h diff --git a/eo/src/eoSGATransform.h b/src/eo/eoSGATransform.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoSGATransform.h rename to src/eo/eoSGATransform.h index 55b5e5eda..e9284aa0a --- a/eo/src/eoSGATransform.h +++ b/src/eo/eoSGATransform.h @@ -27,15 +27,15 @@ #ifndef _eoSGATransform_h #define _eoSGATransform_h -#include -#include +#include "eoInvalidateOps.h" +#include "eoPop.h" /////////////////////////////////////////////////////////////////////////////// // class eoSGATransform /////////////////////////////////////////////////////////////////////////////// #include // std::vector -#include -#include +#include "utils/eoRNG.h" +#include "eoTransform.h" /** eoSGATransform: transforms a population using genetic operators. * It does it exactly as class eoSGA, i.e. only accepts diff --git a/eo/src/eoSIGContinue.cpp b/src/eo/eoSIGContinue.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/src/eoSIGContinue.cpp rename to src/eo/eoSIGContinue.cpp diff --git a/eo/src/eoSIGContinue.h b/src/eo/eoSIGContinue.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/eoSIGContinue.h rename to src/eo/eoSIGContinue.h index 2199b49ef..32e7c1857 --- a/eo/src/eoSIGContinue.h +++ b/src/eo/eoSIGContinue.h @@ -33,7 +33,7 @@ #define eoSIGContinue_h #include -#include +#include "eoContinue.h" /** @addtogroup Continuators * @{ diff --git a/eo/src/eoSTLFunctor.h b/src/eo/eoSTLFunctor.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/eoSTLFunctor.h rename to src/eo/eoSTLFunctor.h diff --git a/eo/src/eoScalarFitness.h b/src/eo/eoScalarFitness.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/eoScalarFitness.h rename to src/eo/eoScalarFitness.h diff --git a/eo/src/eoScalarFitnessAssembled.cpp b/src/eo/eoScalarFitnessAssembled.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/src/eoScalarFitnessAssembled.cpp rename to src/eo/eoScalarFitnessAssembled.cpp diff --git a/eo/src/eoScalarFitnessAssembled.h b/src/eo/eoScalarFitnessAssembled.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/eoScalarFitnessAssembled.h rename to src/eo/eoScalarFitnessAssembled.h diff --git a/eo/src/eoSecondsElapsedContinue.h b/src/eo/eoSecondsElapsedContinue.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoSecondsElapsedContinue.h rename to src/eo/eoSecondsElapsedContinue.h index e29aeefb5..a580b7f42 --- a/eo/src/eoSecondsElapsedContinue.h +++ b/src/eo/eoSecondsElapsedContinue.h @@ -25,7 +25,7 @@ #ifndef _eoSecondsElapsedContinue_h #define _eoSecondsElapsedContinue_h -#include +#include "eoContinue.h" /** Timed continuator: continues until a number of seconds is used diff --git a/eo/src/eoSelect.h b/src/eo/eoSelect.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoSelect.h rename to src/eo/eoSelect.h index aae338434..e48f9051f --- a/eo/src/eoSelect.h +++ b/src/eo/eoSelect.h @@ -27,7 +27,7 @@ //----------------------------------------------------------------------------- -#include +#include "eoPop.h" //----------------------------------------------------------------------------- /** diff --git a/eo/src/eoSelectFactory.h b/src/eo/eoSelectFactory.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoSelectFactory.h rename to src/eo/eoSelectFactory.h index 9dc19dabf..65818a64d --- a/eo/src/eoSelectFactory.h +++ b/src/eo/eoSelectFactory.h @@ -26,9 +26,9 @@ #ifndef _EOSELECTFACTORY_H #define _EOSELECTFACTORY_H -#include -#include -#include +#include "eoFactory.h" +#include "eoRandomSelect.h" +#include "eoTournament.h" //----------------------------------------------------------------------------- diff --git a/eo/src/eoSelectFromWorth.h b/src/eo/eoSelectFromWorth.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoSelectFromWorth.h rename to src/eo/eoSelectFromWorth.h index 342be9da7..c6ba5c1e5 --- a/eo/src/eoSelectFromWorth.h +++ b/src/eo/eoSelectFromWorth.h @@ -28,9 +28,9 @@ #include //----------------------------------------------------------------------------- -#include -#include -#include +#include "eoSelectOne.h" +#include "eoPerf2Worth.h" +#include "utils/selectors.h" //----------------------------------------------------------------------------- /** selects one element from a population (is an eoSelectOne) diff --git a/eo/src/eoSelectMany.h b/src/eo/eoSelectMany.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoSelectMany.h rename to src/eo/eoSelectMany.h index 63da51503..6fb7da6e2 --- a/eo/src/eoSelectMany.h +++ b/src/eo/eoSelectMany.h @@ -29,9 +29,9 @@ //----------------------------------------------------------------------------- -#include -#include -#include +#include "eoSelect.h" +#include "eoSelectOne.h" +#include "utils/eoHowMany.h" #include //----------------------------------------------------------------------------- diff --git a/eo/src/eoSelectNumber.h b/src/eo/eoSelectNumber.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoSelectNumber.h rename to src/eo/eoSelectNumber.h index f6f094ef2..242db4daf --- a/eo/src/eoSelectNumber.h +++ b/src/eo/eoSelectNumber.h @@ -27,8 +27,8 @@ //----------------------------------------------------------------------------- -#include -#include +#include "eoSelect.h" +#include "eoSelectOne.h" #include //----------------------------------------------------------------------------- diff --git a/eo/src/eoSelectOne.h b/src/eo/eoSelectOne.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoSelectOne.h rename to src/eo/eoSelectOne.h index 5afdd1404..fc4ed0982 --- a/eo/src/eoSelectOne.h +++ b/src/eo/eoSelectOne.h @@ -27,8 +27,8 @@ //----------------------------------------------------------------------------- -#include -#include +#include "eoPop.h" +#include "eoFunctor.h" //----------------------------------------------------------------------------- /** eoSelectOne selects only one element from a whole population. diff --git a/eo/src/eoSelectPerc.h b/src/eo/eoSelectPerc.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoSelectPerc.h rename to src/eo/eoSelectPerc.h index 131a3d591..9693f7870 --- a/eo/src/eoSelectPerc.h +++ b/src/eo/eoSelectPerc.h @@ -27,8 +27,8 @@ //----------------------------------------------------------------------------- -#include -#include +#include "eoSelect.h" +#include "eoSelectOne.h" #include //----------------------------------------------------------------------------- diff --git a/eo/src/eoSequentialSelect.h b/src/eo/eoSequentialSelect.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/eoSequentialSelect.h rename to src/eo/eoSequentialSelect.h diff --git a/eo/src/eoSharing.h b/src/eo/eoSharing.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoSharing.h rename to src/eo/eoSharing.h index 170a03b9e..fa7583030 --- a/eo/src/eoSharing.h +++ b/src/eo/eoSharing.h @@ -26,8 +26,8 @@ #ifndef eoSharing_h #define eoSharing_h -#include -#include +#include "eoPerf2Worth.h" +#include "utils/eoDistance.h" /** Sharing is a perf2worth class that implements * Goldberg and Richardson's basic sharing diff --git a/eo/src/eoSharingSelect.h b/src/eo/eoSharingSelect.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoSharingSelect.h rename to src/eo/eoSharingSelect.h index 0754cdd08..523d18426 --- a/eo/src/eoSharingSelect.h +++ b/src/eo/eoSharingSelect.h @@ -28,8 +28,8 @@ //----------------------------------------------------------------------------- -#include -#include +#include "eoSelectFromWorth.h" +#include "eoSharing.h" /** eoSharingSelect: select an individual by roulette wheel * on its SHARED fitness. It is an eoRouletteWorthSelect, diff --git a/eo/src/eoShiftMutation.h b/src/eo/eoShiftMutation.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/eoShiftMutation.h rename to src/eo/eoShiftMutation.h diff --git a/eo/src/eoSigBinaryFlight.h b/src/eo/eoSigBinaryFlight.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoSigBinaryFlight.h rename to src/eo/eoSigBinaryFlight.h index dccf2e5f6..e55423bd8 --- a/eo/src/eoSigBinaryFlight.h +++ b/src/eo/eoSigBinaryFlight.h @@ -27,7 +27,7 @@ #define EOSIGBINARYFLIGHT_H //----------------------------------------------------------------------------- -#include +#include "eoBinaryFlight.h" //----------------------------------------------------------------------------- diff --git a/eo/src/eoSimpleEDA.h b/src/eo/eoSimpleEDA.h old mode 100644 new mode 100755 similarity index 96% rename from eo/src/eoSimpleEDA.h rename to src/eo/eoSimpleEDA.h index afbf152f0..0704b5722 --- a/eo/src/eoSimpleEDA.h +++ b/src/eo/eoSimpleEDA.h @@ -28,11 +28,11 @@ //----------------------------------------------------------------------------- -#include -#include -#include -#include -#include +#include "apply.h" +#include "eoEDA.h" +#include "eoContinue.h" +#include "eoDistribUpdater.h" +#include "eoEvalFunc.h" /** A very simple Estimation of Distribution Algorithm * diff --git a/eo/src/eoSocialNeighborhood.h b/src/eo/eoSocialNeighborhood.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/eoSocialNeighborhood.h rename to src/eo/eoSocialNeighborhood.h index 944031f9d..3f46b4a4e --- a/eo/src/eoSocialNeighborhood.h +++ b/src/eo/eoSocialNeighborhood.h @@ -26,7 +26,7 @@ #define EOSOCIALNEIGHBORHOOD_H_ //----------------------------------------------------------------------------- -#include +#include "eoNeighborhood.h" //----------------------------------------------------------------------------- /** diff --git a/eo/src/eoStandardFlight.h b/src/eo/eoStandardFlight.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/eoStandardFlight.h rename to src/eo/eoStandardFlight.h index 228839eb7..eae90a63a --- a/eo/src/eoStandardFlight.h +++ b/src/eo/eoStandardFlight.h @@ -26,7 +26,7 @@ #define EOSTANDARDFLIGHT_H //----------------------------------------------------------------------------- -#include +#include "eoFlight.h" //----------------------------------------------------------------------------- diff --git a/eo/src/eoStandardVelocity.h b/src/eo/eoStandardVelocity.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoStandardVelocity.h rename to src/eo/eoStandardVelocity.h index 62abd487b..3f67eec91 --- a/eo/src/eoStandardVelocity.h +++ b/src/eo/eoStandardVelocity.h @@ -27,12 +27,12 @@ #define EOSTANDARDVELOCITY_H //----------------------------------------------------------------------------- -#include -#include -#include -#include -#include -#include +#include "eoFunctor.h" +#include "utils/eoRNG.h" +#include "eoPop.h" +#include "utils/eoRealVectorBounds.h" +#include "eoRealBoundModifier.h" +#include "eoTopology.h" //----------------------------------------------------------------------------- diff --git a/eo/src/eoStarTopology.h b/src/eo/eoStarTopology.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoStarTopology.h rename to src/eo/eoStarTopology.h index 02df64a98..a345c8bc3 --- a/eo/src/eoStarTopology.h +++ b/src/eo/eoStarTopology.h @@ -27,8 +27,8 @@ #define EOSTARTOPOLOGY_H_ //----------------------------------------------------------------------------- -#include -#include +#include "eoTopology.h" +#include "eoSocialNeighborhood.h" //----------------------------------------------------------------------------- diff --git a/eo/src/eoSteadyFitContinue.h b/src/eo/eoSteadyFitContinue.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoSteadyFitContinue.h rename to src/eo/eoSteadyFitContinue.h index f05697b50..0b63c5e87 --- a/eo/src/eoSteadyFitContinue.h +++ b/src/eo/eoSteadyFitContinue.h @@ -25,8 +25,8 @@ #ifndef _eoSteadyFitContinue_h #define _eoSteadyFitContinue_h -#include -#include +#include "eoContinue.h" +#include "utils/eoLogger.h" /** A continuator: does a minimum number of generations, then diff --git a/eo/src/eoStochTournamentSelect.h b/src/eo/eoStochTournamentSelect.h old mode 100644 new mode 100755 similarity index 95% rename from eo/src/eoStochTournamentSelect.h rename to src/eo/eoStochTournamentSelect.h index 650041296..c3b6b2d21 --- a/eo/src/eoStochTournamentSelect.h +++ b/src/eo/eoStochTournamentSelect.h @@ -27,8 +27,8 @@ #include #include // accumulate -#include // eoSelectOne -#include // stochastic_tournament +#include "eoSelectOne.h" // eoSelectOne +#include "utils/selectors.h" // stochastic_tournament /** eoStochTournamentSelect: a selection method that selects ONE individual by binary stochastic tournament diff --git a/eo/src/eoStochasticUniversalSelect.h b/src/eo/eoStochasticUniversalSelect.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoStochasticUniversalSelect.h rename to src/eo/eoStochasticUniversalSelect.h index fb1669ecc..956bf62c7 --- a/eo/src/eoStochasticUniversalSelect.h +++ b/src/eo/eoStochasticUniversalSelect.h @@ -29,10 +29,10 @@ //----------------------------------------------------------------------------- -#include -#include -#include -#include +#include "utils/eoRNG.h" +#include "eoSelectOne.h" +#include "utils/selectors.h" +#include "eoPop.h" /** eoStochasticUniversalSelect: select an individual proportional to her stored fitness value, but in contrast with eoStochasticUniversalSelect, get rid of most finite sampling effects diff --git a/eo/src/eoSurviveAndDie.h b/src/eo/eoSurviveAndDie.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoSurviveAndDie.h rename to src/eo/eoSurviveAndDie.h index 63cf22197..2ca4a3833 --- a/eo/src/eoSurviveAndDie.h +++ b/src/eo/eoSurviveAndDie.h @@ -29,11 +29,11 @@ //----------------------------------------------------------------------------- -#include -#include -#include -#include -#include +#include "eoPop.h" +#include "eoFunctor.h" +#include "eoMerge.h" +#include "eoReduce.h" +#include "utils/eoHowMany.h" //----------------------------------------------------------------------------- /** diff --git a/eo/src/eoSwapMutation.h b/src/eo/eoSwapMutation.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/eoSwapMutation.h rename to src/eo/eoSwapMutation.h diff --git a/eo/src/eoSyncEasyPSO.h b/src/eo/eoSyncEasyPSO.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoSyncEasyPSO.h rename to src/eo/eoSyncEasyPSO.h index d0a82059a..0fc7a2492 --- a/eo/src/eoSyncEasyPSO.h +++ b/src/eo/eoSyncEasyPSO.h @@ -26,11 +26,11 @@ #define _EOSYNCEASYPSO_H //----------------------------------------------------------------------------- -#include -#include -#include -#include -#include +#include "eoContinue.h" +#include "eoPopEvalFunc.h" +#include "eoPSO.h" +#include "eoVelocity.h" +#include "eoFlight.h" //----------------------------------------------------------------------------- /** An easy-to-use synchronous particle swarm algorithm; you can use any particle, diff --git a/eo/src/eoTimeContinue.h b/src/eo/eoTimeContinue.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoTimeContinue.h rename to src/eo/eoTimeContinue.h index d49f5ea56..4b1a06102 --- a/eo/src/eoTimeContinue.h +++ b/src/eo/eoTimeContinue.h @@ -27,8 +27,8 @@ #include -#include -#include +#include "eoContinue.h" +#include "utils/eoLogger.h" /** * Termination condition until a running time is reached. diff --git a/eo/src/eoTopology.h b/src/eo/eoTopology.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoTopology.h rename to src/eo/eoTopology.h index a12bf43dc..86fd214f3 --- a/eo/src/eoTopology.h +++ b/src/eo/eoTopology.h @@ -27,7 +27,7 @@ #define EOTOPOLOGY_H_ //----------------------------------------------------------------------------- -#include +#include "eoNeighborhood.h" //----------------------------------------------------------------------------- diff --git a/eo/src/eoTransform.h b/src/eo/eoTransform.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoTransform.h rename to src/eo/eoTransform.h index f8823382a..5ee23a4ad --- a/eo/src/eoTransform.h +++ b/src/eo/eoTransform.h @@ -27,7 +27,7 @@ //----------------------------------------------------------------------------- -#include +#include "eoPop.h" //----------------------------------------------------------------------------- /** diff --git a/eo/src/eoTruncSelect.h b/src/eo/eoTruncSelect.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoTruncSelect.h rename to src/eo/eoTruncSelect.h index e46b39bc3..f469e02b6 --- a/eo/src/eoTruncSelect.h +++ b/src/eo/eoTruncSelect.h @@ -29,8 +29,8 @@ //----------------------------------------------------------------------------- -#include -#include +#include "eoSelect.h" +#include "utils/eoHowMany.h" #include //----------------------------------------------------------------------------- diff --git a/eo/src/eoTruncatedSelectMany.h b/src/eo/eoTruncatedSelectMany.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoTruncatedSelectMany.h rename to src/eo/eoTruncatedSelectMany.h index 1b3bad726..d5ab0f01b --- a/eo/src/eoTruncatedSelectMany.h +++ b/src/eo/eoTruncatedSelectMany.h @@ -29,9 +29,9 @@ //----------------------------------------------------------------------------- -#include -#include -#include +#include "eoSelect.h" +#include "eoSelectOne.h" +#include "utils/eoHowMany.h" #include //----------------------------------------------------------------------------- diff --git a/eo/src/eoTruncatedSelectOne.h b/src/eo/eoTruncatedSelectOne.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/eoTruncatedSelectOne.h rename to src/eo/eoTruncatedSelectOne.h index e86cce81d..431f7465a --- a/eo/src/eoTruncatedSelectOne.h +++ b/src/eo/eoTruncatedSelectOne.h @@ -29,9 +29,9 @@ //----------------------------------------------------------------------------- -#include -#include -#include +#include "eoSelect.h" +#include "eoSelectOne.h" +#include "utils/eoHowMany.h" #include //----------------------------------------------------------------------------- diff --git a/eo/src/eoTwoOptMutation.h b/src/eo/eoTwoOptMutation.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/eoTwoOptMutation.h rename to src/eo/eoTwoOptMutation.h diff --git a/eo/src/eoVariableInertiaWeightedVelocity.h b/src/eo/eoVariableInertiaWeightedVelocity.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoVariableInertiaWeightedVelocity.h rename to src/eo/eoVariableInertiaWeightedVelocity.h index a926feee8..33bbe4f43 --- a/eo/src/eoVariableInertiaWeightedVelocity.h +++ b/src/eo/eoVariableInertiaWeightedVelocity.h @@ -26,11 +26,11 @@ #define EOVARIABLEINERTIAWEIGHTEDVELOCITY_H //----------------------------------------------------------------------------- -#include -#include -#include -#include -#include +#include "eoVelocity.h" +#include "eoTopology.h" +#include "eoWeightUpdater.h" +#include "utils/eoRealVectorBounds.h" +#include "eoRealBoundModifier.h" //----------------------------------------------------------------------------- diff --git a/eo/src/eoVariableLengthCrossover.h b/src/eo/eoVariableLengthCrossover.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/eoVariableLengthCrossover.h rename to src/eo/eoVariableLengthCrossover.h index 510fc9b03..c61f91651 --- a/eo/src/eoVariableLengthCrossover.h +++ b/src/eo/eoVariableLengthCrossover.h @@ -26,8 +26,8 @@ #ifndef _eoVariableLengthCrossover_h #define _eoVariableLengthCrossover_h -#include -#include +#include "eoFunctor.h" +#include "eoOp.h" /** Base classes for generic crossovers on variable length chromosomes. diff --git a/eo/src/eoVariableLengthMutation.h b/src/eo/eoVariableLengthMutation.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoVariableLengthMutation.h rename to src/eo/eoVariableLengthMutation.h index 542541d70..a3bdfac19 --- a/eo/src/eoVariableLengthMutation.h +++ b/src/eo/eoVariableLengthMutation.h @@ -26,9 +26,9 @@ #ifndef _eoVariableLengthMutation_h #define _eoVariableLengthMutation_h -#include -#include -#include +#include "eoFunctor.h" +#include "eoOp.h" +#include "eoInit.h" /** Base classes for generic mutations on variable length chromosomes. diff --git a/eo/src/eoVector.h b/src/eo/eoVector.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/eoVector.h rename to src/eo/eoVector.h index fce05d117..bdedd5e94 --- a/eo/src/eoVector.h +++ b/src/eo/eoVector.h @@ -25,8 +25,8 @@ Old contact: todos@geneura.ugr.es, http://geneura.ugr.es #include #include -#include -#include +#include "EO.h" +#include "utils/eoLogger.h" /** diff --git a/eo/src/eoVectorParticle.h b/src/eo/eoVectorParticle.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/eoVectorParticle.h rename to src/eo/eoVectorParticle.h index 25cfcc9fa..773234752 --- a/eo/src/eoVectorParticle.h +++ b/src/eo/eoVectorParticle.h @@ -25,7 +25,7 @@ #ifndef _EOVECTORPARTICLE_H #define _EOVECTORPARTICLE_H -#include +#include "PO.h" /** diff --git a/eo/src/eoVelocity.h b/src/eo/eoVelocity.h old mode 100644 new mode 100755 similarity index 96% rename from eo/src/eoVelocity.h rename to src/eo/eoVelocity.h index e388078c1..ef9b695d6 --- a/eo/src/eoVelocity.h +++ b/src/eo/eoVelocity.h @@ -26,10 +26,10 @@ #define EOVELOCITY_H //----------------------------------------------------------------------------- -#include -#include -#include -#include +#include "eoFunctor.h" +#include "utils/eoRNG.h" +#include "eoPop.h" +#include "eoTopology.h" //----------------------------------------------------------------------------- /** diff --git a/eo/src/eoVelocityInit.h b/src/eo/eoVelocityInit.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoVelocityInit.h rename to src/eo/eoVelocityInit.h index 8c57a6891..9c271b004 --- a/eo/src/eoVelocityInit.h +++ b/src/eo/eoVelocityInit.h @@ -28,9 +28,9 @@ #include -#include -#include -#include +#include "eoOp.h" +#include "eoSTLFunctor.h" +#include "utils/eoRndGenerators.h" /** @addtogroup Initializators diff --git a/eo/src/eoWeightUpdater.h b/src/eo/eoWeightUpdater.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/eoWeightUpdater.h rename to src/eo/eoWeightUpdater.h index d4970eca4..eee5d6309 --- a/eo/src/eoWeightUpdater.h +++ b/src/eo/eoWeightUpdater.h @@ -26,7 +26,7 @@ #define EOWEIGHTUPDATER_H //----------------------------------------------------------------------------- -#include +#include "eoFunctor.h" //----------------------------------------------------------------------------- /** diff --git a/eo/src/es.h b/src/eo/es.h old mode 100644 new mode 100755 similarity index 79% rename from eo/src/es.h rename to src/eo/es.h index d5dffc2f3..d38485b69 --- a/eo/src/es.h +++ b/src/eo/es.h @@ -36,28 +36,28 @@ //----------------------------------------------------------------------------- // the genotypes - from plain std::vector to full correlated mutation -#include -#include -#include -#include +#include "es/eoReal.h" +#include "es/eoEsSimple.h" +#include "es/eoEsStdev.h" +#include "es/eoEsFull.h" // the initialization -#include +#include "es/eoEsChromInit.h" // general operators -#include -#include -#include // for generic operators +#include "es/eoRealOp.h" +#include "es/eoNormalMutation.h" +#include "es/eoRealAtomXover.h" // for generic operators // SBX crossover (following Deb) -#include +#include "es/eoSBXcross.h" // ES specific operators -#include // Global ES Xover -#include // 2-parents ES Xover +#include "es/eoEsGlobalXover.h" // Global ES Xover +#include "es/eoEsStandardXover.h" // 2-parents ES Xover // the ES-mutations -#include -#include +#include "es/eoEsMutationInit.h" +#include "es/eoEsMutate.h" #endif diff --git a/eo/src/es/CMAParams.cpp b/src/eo/es/CMAParams.cpp old mode 100644 new mode 100755 similarity index 99% rename from eo/src/es/CMAParams.cpp rename to src/eo/es/CMAParams.cpp index 131edb72f..2862cdd1a --- a/eo/src/es/CMAParams.cpp +++ b/src/eo/es/CMAParams.cpp @@ -43,8 +43,8 @@ * Version 2.23. * */ -#include -#include +#include "CMAParams.h" +#include "../utils/eoParser.h" #include diff --git a/eo/src/es/CMAParams.h b/src/eo/es/CMAParams.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/es/CMAParams.h rename to src/eo/es/CMAParams.h diff --git a/eo/src/es/CMAState.cpp b/src/eo/es/CMAState.cpp old mode 100644 new mode 100755 similarity index 99% rename from eo/src/es/CMAState.cpp rename to src/eo/es/CMAState.cpp index 328552434..13a2aefcc --- a/eo/src/es/CMAState.cpp +++ b/src/eo/es/CMAState.cpp @@ -56,12 +56,12 @@ #include #include -#include +#include "../utils/eoRNG.h" -#include -#include -#include -#include +#include "CMAState.h" +#include "CMAParams.h" +#include "matrices.h" +#include "eig.h" using namespace std; diff --git a/eo/src/es/CMAState.h b/src/eo/es/CMAState.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/es/CMAState.h rename to src/eo/es/CMAState.h diff --git a/eo/src/es/CMakeLists.txt b/src/eo/es/CMakeLists.txt old mode 100644 new mode 100755 similarity index 94% rename from eo/src/es/CMakeLists.txt rename to src/eo/es/CMakeLists.txt index 15a7f9f3b..aff781040 --- a/eo/src/es/CMakeLists.txt +++ b/src/eo/es/CMakeLists.txt @@ -2,8 +2,8 @@ ### 1) Include the sources ###################################################################################### -include_directories(${EO_SRC_DIR}/src) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +#include_directories(${EO_SRC_DIR}/src) +#include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ###################################################################################### ### 2) Define the es and cma targets diff --git a/eo/src/es/ChangeLog b/src/eo/es/ChangeLog old mode 100644 new mode 100755 similarity index 100% rename from eo/src/es/ChangeLog rename to src/eo/es/ChangeLog diff --git a/eo/src/es/eig.cpp b/src/eo/es/eig.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/src/es/eig.cpp rename to src/eo/es/eig.cpp diff --git a/eo/src/es/eig.h b/src/eo/es/eig.h old mode 100644 new mode 100755 similarity index 96% rename from eo/src/es/eig.h rename to src/eo/es/eig.h index 65d9c53d2..7e5a6bde2 --- a/eo/src/es/eig.h +++ b/src/eo/es/eig.h @@ -1,7 +1,7 @@ #ifndef EIG_H__ #define EIG_H__ -#include +#include "matrices.h" #include namespace eo { diff --git a/eo/src/es/eoCMABreed.h b/src/eo/es/eoCMABreed.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/es/eoCMABreed.h rename to src/eo/es/eoCMABreed.h index 450654a7f..37f0389fb --- a/eo/src/es/eoCMABreed.h +++ b/src/eo/es/eoCMABreed.h @@ -25,9 +25,9 @@ #ifndef _EOCMABREED_H #define _EOCMABREED_H -#include -#include -#include +#include "../eoBreed.h" +#include "../eoVector.h" +#include "CMAState.h" #include diff --git a/eo/src/es/eoCMAInit.h b/src/eo/es/eoCMAInit.h old mode 100644 new mode 100755 similarity index 95% rename from eo/src/es/eoCMAInit.h rename to src/eo/es/eoCMAInit.h index 2fdb967e0..73c63122d --- a/eo/src/es/eoCMAInit.h +++ b/src/eo/es/eoCMAInit.h @@ -28,9 +28,9 @@ #ifndef _EOCMAINIT_H #define _EOCMAINIT_H -#include -#include -#include +#include "../eoInit.h" +#include "../eoVector.h" +#include "CMAState.h" /// @todo handle bounds template diff --git a/eo/src/es/eoEsChromInit.h b/src/eo/es/eoEsChromInit.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/es/eoEsChromInit.h rename to src/eo/es/eoEsChromInit.h index c5382890b..2d4b7b8a1 --- a/eo/src/es/eoEsChromInit.h +++ b/src/eo/es/eoEsChromInit.h @@ -29,10 +29,10 @@ Contact: http://eodev.sourceforge.net #include #include -#include -#include -#include -#include +#include "eoRealInitBounded.h" +#include "eoEsSimple.h" +#include "eoEsStdev.h" +#include "eoEsFull.h" #ifndef M_PI #define M_PI 3.1415926535897932384626433832795 diff --git a/eo/src/es/eoEsFull.h b/src/eo/es/eoEsFull.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/es/eoEsFull.h rename to src/eo/es/eoEsFull.h index a1091c83d..1dfdc58b6 --- a/eo/src/es/eoEsFull.h +++ b/src/eo/es/eoEsFull.h @@ -27,7 +27,7 @@ #ifndef _eoEsFull_h #define _eoEsFull_h -#include +#include "../eoVector.h" /** \ingroup Real diff --git a/eo/src/es/eoEsGlobalXover.h b/src/eo/es/eoEsGlobalXover.h old mode 100644 new mode 100755 similarity index 96% rename from eo/src/es/eoEsGlobalXover.h rename to src/eo/es/eoEsGlobalXover.h index 5be4b5061..3e25370be --- a/eo/src/es/eoEsGlobalXover.h +++ b/src/eo/es/eoEsGlobalXover.h @@ -26,15 +26,15 @@ #ifndef _eoEsGlobalXover_H #define _eoEsGlobalXover_H -#include +#include "../utils/eoRNG.h" -#include -#include -#include +#include "eoEsSimple.h" +#include "eoEsStdev.h" +#include "eoEsFull.h" -#include +#include "../eoGenOp.h" // needs a selector - here random -#include +#include "../eoRandomSelect.h" /** Global crossover operator for ES genotypes. * Uses some Atom crossovers to handle both the object variables diff --git a/eo/src/es/eoEsMutate.h b/src/eo/es/eoEsMutate.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/es/eoEsMutate.h rename to src/eo/es/eoEsMutate.h index fd1152685..bcb0aa268 --- a/eo/src/es/eoEsMutate.h +++ b/src/eo/es/eoEsMutate.h @@ -30,14 +30,14 @@ #define _EOESMUTATE_H #include -#include -#include -#include -#include -#include -#include -#include -#include +#include "../eoInit.h" +#include "../eoOp.h" +#include "eoEsMutationInit.h" +#include "eoEsSimple.h" +#include "eoEsStdev.h" +#include "eoEsFull.h" +#include "../utils/eoRealBounds.h" +#include "../utils/eoRNG.h" #ifndef M_PI #define M_PI 3.1415926535897932384626433832795 diff --git a/eo/src/es/eoEsMutationInit.h b/src/eo/es/eoEsMutationInit.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/es/eoEsMutationInit.h rename to src/eo/es/eoEsMutationInit.h index 987de86bd..b33dadb20 --- a/eo/src/es/eoEsMutationInit.h +++ b/src/eo/es/eoEsMutationInit.h @@ -27,7 +27,7 @@ #ifndef _eoEsMutationInit_h #define _eoEsMutationInit_h -#include +#include "../utils/eoParser.h" /** Initialize Mutation operator diff --git a/eo/src/es/eoEsSimple.h b/src/eo/es/eoEsSimple.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/es/eoEsSimple.h rename to src/eo/es/eoEsSimple.h index ac93ab4b6..812b9936b --- a/eo/src/es/eoEsSimple.h +++ b/src/eo/es/eoEsSimple.h @@ -23,10 +23,10 @@ Contact: http://eodev.sourceforge.net #ifndef _eoEsSimple_h #define _eoEsSimple_h -#include +#include "../EO.h" #include -#include +#include "../eoVector.h" /** Simple Evolution Strategy diff --git a/eo/src/es/eoEsStandardXover.h b/src/eo/es/eoEsStandardXover.h old mode 100644 new mode 100755 similarity index 95% rename from eo/src/es/eoEsStandardXover.h rename to src/eo/es/eoEsStandardXover.h index 34739693c..ce00a0674 --- a/eo/src/es/eoEsStandardXover.h +++ b/src/eo/es/eoEsStandardXover.h @@ -26,15 +26,15 @@ #ifndef _eoEsLocalXover_H #define _eoEsLocalXover_H -#include +#include "../utils/eoRNG.h" -#include -#include -#include +#include "eoEsSimple.h" +#include "eoEsStdev.h" +#include "eoEsFull.h" -#include +#include "../eoGenOp.h" // needs a selector - here random -#include +#include "../eoRandomSelect.h" /** Standard (i.e. eoBinOp) crossover operator for ES genotypes. * Uses some Atom crossovers to handle both the object variables diff --git a/eo/src/es/eoEsStdev.h b/src/eo/es/eoEsStdev.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/es/eoEsStdev.h rename to src/eo/es/eoEsStdev.h index b8910512c..ad8ffb26f --- a/eo/src/es/eoEsStdev.h +++ b/src/eo/es/eoEsStdev.h @@ -23,7 +23,7 @@ Contact: http://eodev.sourceforge.net #ifndef _eoEsStdev_h #define _eoEsStdev_h -#include +#include "../eoVector.h" /** Evolutionary Strategy with a standard deviation per parameter diff --git a/eo/src/es/eoNormalMutation.h b/src/eo/es/eoNormalMutation.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/es/eoNormalMutation.h rename to src/eo/es/eoNormalMutation.h index 96dcf54c2..07dcb1e80 --- a/eo/src/es/eoNormalMutation.h +++ b/src/eo/es/eoNormalMutation.h @@ -29,11 +29,11 @@ //----------------------------------------------------------------------------- #include // swap_ranges -#include -#include -#include -#include -#include +#include "../utils/eoRNG.h" +#include "../utils/eoUpdatable.h" +#include "../eoEvalFunc.h" +#include "eoReal.h" +#include "../utils/eoRealBounds.h" //----------------------------------------------------------------------------- /** Simple normal mutation of a std::vector of real values. diff --git a/eo/src/es/eoReal.h b/src/eo/es/eoReal.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/es/eoReal.h rename to src/eo/es/eoReal.h index ff1908a0c..dc6d51126 --- a/eo/src/es/eoReal.h +++ b/src/eo/es/eoReal.h @@ -29,7 +29,7 @@ #include // std::ostream, std::istream #include // std::string -#include +#include "../eoVector.h" /** eoReal: implementation of simple real-valued chromosome. * based on eoVector class diff --git a/eo/src/es/eoRealAtomXover.h b/src/eo/es/eoRealAtomXover.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/es/eoRealAtomXover.h rename to src/eo/es/eoRealAtomXover.h index 4d4244dd2..47e713386 --- a/eo/src/es/eoRealAtomXover.h +++ b/src/eo/es/eoRealAtomXover.h @@ -31,9 +31,9 @@ #ifndef _eoRealAtomXover_H #define _eoRealAtomXover_H -#include +#include "../utils/eoRNG.h" -#include +#include "../eoOp.h" /** Discrete crossover == exchange of values diff --git a/eo/src/es/eoRealInitBounded.h b/src/eo/es/eoRealInitBounded.h old mode 100644 new mode 100755 similarity index 95% rename from eo/src/es/eoRealInitBounded.h rename to src/eo/es/eoRealInitBounded.h index 6488dd056..fa0259ec4 --- a/eo/src/es/eoRealInitBounded.h +++ b/src/eo/es/eoRealInitBounded.h @@ -28,10 +28,10 @@ //----------------------------------------------------------------------------- -#include -#include -#include -#include +#include "../utils/eoRNG.h" +#include "../eoInit.h" +#include "eoReal.h" +#include "../utils/eoRealVectorBounds.h" /** Simple initialization for any EOT that derives from std::vector * uniformly in some bounds diff --git a/eo/src/es/eoRealOp.h b/src/eo/es/eoRealOp.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/es/eoRealOp.h rename to src/eo/es/eoRealOp.h index c8c6471a5..64b64101d --- a/eo/src/es/eoRealOp.h +++ b/src/eo/es/eoRealOp.h @@ -29,9 +29,9 @@ //----------------------------------------------------------------------------- #include // swap_ranges -#include -#include -#include +#include "../utils/eoRNG.h" +#include "eoReal.h" +#include "../utils/eoRealVectorBounds.h" //----------------------------------------------------------------------------- diff --git a/eo/src/es/eoSBXcross.h b/src/eo/es/eoSBXcross.h old mode 100644 new mode 100755 similarity index 96% rename from eo/src/es/eoSBXcross.h rename to src/eo/es/eoSBXcross.h index 40f8ac360..c13369f01 --- a/eo/src/es/eoSBXcross.h +++ b/src/eo/es/eoSBXcross.h @@ -24,11 +24,11 @@ //----------------------------------------------------------------------------- #include // swap_ranges -#include -#include -#include -#include -#include +#include "../utils/eoParser.h" +#include "../utils/eoRNG.h" +#include "eoReal.h" +#include "../utils/eoRealBounds.h" +#include "../utils/eoRealVectorBounds.h" diff --git a/eo/src/es/make_algo_scalar_es.cpp b/src/eo/es/make_algo_scalar_es.cpp old mode 100644 new mode 100755 similarity index 94% rename from eo/src/es/make_algo_scalar_es.cpp rename to src/eo/es/make_algo_scalar_es.cpp index 47585a78c..e1bd1fb9d --- a/eo/src/es/make_algo_scalar_es.cpp +++ b/src/eo/es/make_algo_scalar_es.cpp @@ -41,11 +41,11 @@ */ // The templatized code -#include +#include "../do/make_algo_scalar.h" // the instanciating EOType(s) -#include // one Sigma per individual -#include // one sigmal per object variable -#include // full correlation matrix per indi +#include "eoEsSimple.h" // one Sigma per individual +#include "eoEsStdev.h" // one sigmal per object variable +#include "eoEsFull.h" // full correlation matrix per indi /// The following function merely call the templatized do_* functions above diff --git a/eo/src/es/make_algo_scalar_real.cpp b/src/eo/es/make_algo_scalar_real.cpp old mode 100644 new mode 100755 similarity index 97% rename from eo/src/es/make_algo_scalar_real.cpp rename to src/eo/es/make_algo_scalar_real.cpp index 1a1796bed..fd8fe7dd7 --- a/eo/src/es/make_algo_scalar_real.cpp +++ b/src/eo/es/make_algo_scalar_real.cpp @@ -41,9 +41,9 @@ */ // The templatized code -#include +#include "../do/make_algo_scalar.h" // the instanciating EOType -#include +#include "eoReal.h" /// The following function merely call the templatized do_* functions above diff --git a/eo/src/es/make_checkpoint_es.cpp b/src/eo/es/make_checkpoint_es.cpp old mode 100644 new mode 100755 similarity index 93% rename from eo/src/es/make_checkpoint_es.cpp rename to src/eo/es/make_checkpoint_es.cpp index 12bc78605..3f4329cf4 --- a/eo/src/es/make_checkpoint_es.cpp +++ b/src/eo/es/make_checkpoint_es.cpp @@ -41,11 +41,11 @@ */ // The templatized code -#include +#include "../do/make_checkpoint.h" // the instanciating EOType(s) -#include // one Sigma per individual -#include // one sigmal per object variable -#include // full correlation matrix per indi +#include "eoEsSimple.h" // one Sigma per individual +#include "eoEsStdev.h" // one sigmal per object variable +#include "eoEsFull.h" // full correlation matrix per indi /// The following function merely call the templatized do_* functions diff --git a/eo/src/es/make_checkpoint_real.cpp b/src/eo/es/make_checkpoint_real.cpp old mode 100644 new mode 100755 similarity index 97% rename from eo/src/es/make_checkpoint_real.cpp rename to src/eo/es/make_checkpoint_real.cpp index a1cf6d4f3..f73c8a3c4 --- a/eo/src/es/make_checkpoint_real.cpp +++ b/src/eo/es/make_checkpoint_real.cpp @@ -41,9 +41,9 @@ */ // The templatized code -#include +#include "../do/make_checkpoint.h" // the instanciating EOType -#include +#include "eoReal.h" /// The following function merely call the templatized do_* functions diff --git a/eo/src/es/make_continue_es.cpp b/src/eo/es/make_continue_es.cpp old mode 100644 new mode 100755 similarity index 93% rename from eo/src/es/make_continue_es.cpp rename to src/eo/es/make_continue_es.cpp index e50167959..f270e0244 --- a/eo/src/es/make_continue_es.cpp +++ b/src/eo/es/make_continue_es.cpp @@ -41,11 +41,11 @@ */ // The templatized code -#include +#include "../do/make_continue.h" // the instanciating EOType(s) -#include // one Sigma per individual -#include // one sigmal per object variable -#include // full correlation matrix per indi +#include "eoEsSimple.h" // one Sigma per individual +#include "eoEsStdev.h" // one sigmal per object variable +#include "eoEsFull.h" // full correlation matrix per indi /// The following function merely call the templatized do_* functions diff --git a/eo/src/es/make_continue_real.cpp b/src/eo/es/make_continue_real.cpp old mode 100644 new mode 100755 similarity index 97% rename from eo/src/es/make_continue_real.cpp rename to src/eo/es/make_continue_real.cpp index 060852172..c326bb8d3 --- a/eo/src/es/make_continue_real.cpp +++ b/src/eo/es/make_continue_real.cpp @@ -41,9 +41,9 @@ */ // The templatized code -#include +#include "../do/make_continue.h" // the instanciating EOType -#include +#include "eoReal.h" /// The following function merely call the templatized do_* functions diff --git a/eo/src/es/make_es.h b/src/eo/es/make_es.h old mode 100644 new mode 100755 similarity index 95% rename from eo/src/es/make_es.h rename to src/eo/es/make_es.h index 46a4e23f6..b1a8801a5 --- a/eo/src/es/make_es.h +++ b/src/eo/es/make_es.h @@ -44,23 +44,23 @@ #ifndef es_h #define es_h -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include // one Sigma per individual -#include // one sigmal per object variable -#include // full correlation matrix per indi +#include "../eoAlgo.h" +#include "../eoScalarFitness.h" +#include "../utils/eoParser.h" +#include "../eoEvalFuncPtr.h" +#include "../eoEvalFuncCounter.h" +#include "../utils/eoCheckPoint.h" +#include "../eoGenOp.h" +#include "../eoPop.h" +#include "../utils/eoDistance.h" + +#include "eoEsSimple.h" // one Sigma per individual +#include "eoEsStdev.h" // one sigmal per object variable +#include "eoEsFull.h" // full correlation matrix per indi // include all similar declaration for eoReal - i.e. real-valued genotyes // without self-adaptation -#include +#include "make_real.h" /** @addtogroup Builders * @{ diff --git a/eo/src/es/make_genotype_es.cpp b/src/eo/es/make_genotype_es.cpp old mode 100644 new mode 100755 similarity index 99% rename from eo/src/es/make_genotype_es.cpp rename to src/eo/es/make_genotype_es.cpp index 41f764cdf..d0861c9fd --- a/eo/src/es/make_genotype_es.cpp +++ b/src/eo/es/make_genotype_es.cpp @@ -54,7 +54,7 @@ the default ctor of EOT, resulting in most cases in an EOT that is */ // the templatized code (same for real and es here) -#include +#include "make_genotype_real.h" /// The following function merely call the templatized do_* functions diff --git a/eo/src/es/make_genotype_real.cpp b/src/eo/es/make_genotype_real.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/src/es/make_genotype_real.cpp rename to src/eo/es/make_genotype_real.cpp index d5ad238d4..e34b69598 --- a/eo/src/es/make_genotype_real.cpp +++ b/src/eo/es/make_genotype_real.cpp @@ -53,7 +53,7 @@ */ // the templatized code -#include +#include "make_genotype_real.h" /// The following functions merely call the templatized do_* functions eoRealInitBounded > & make_genotype(eoParser& _parser, diff --git a/eo/src/es/make_genotype_real.h b/src/eo/es/make_genotype_real.h old mode 100644 new mode 100755 similarity index 96% rename from eo/src/es/make_genotype_real.h rename to src/eo/es/make_genotype_real.h index 6ab62967f..82b07db8f --- a/eo/src/es/make_genotype_real.h +++ b/src/eo/es/make_genotype_real.h @@ -28,11 +28,11 @@ Contact: http://eodev.sourceforge.net #include #include -#include "es/eoReal.h" -#include "es/eoEsChromInit.h" -#include "utils/eoParser.h" -#include "utils/eoRealVectorBounds.h" -#include "utils/eoState.h" +#include "eoReal.h" +#include "eoEsChromInit.h" +#include "../utils/eoParser.h" +#include "../utils/eoRealVectorBounds.h" +#include "../utils/eoState.h" /** @addtogroup Builders diff --git a/eo/src/es/make_op.h b/src/eo/es/make_op.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/es/make_op.h rename to src/eo/es/make_op.h index 1c7fe50e7..35767b5df --- a/eo/src/es/make_op.h +++ b/src/eo/es/make_op.h @@ -28,21 +28,21 @@ #define _make_op_h // the operators -#include -#include -#include -#include +#include "../eoOp.h" +#include "../eoGenOp.h" +#include "../eoCloneOps.h" +#include "../eoOpContainer.h" // combinations of simple eoOps (eoMonOp and eoQuadOp) -#include +#include "../eoProportionalCombinedOp.h" // the specialized Real stuff -#include -#include -#include -#include +#include "eoReal.h" +#include "eoRealInitBounded.h" +#include "eoRealOp.h" +#include "eoNormalMutation.h" // also need the parser and param includes -#include -#include +#include "../utils/eoParser.h" +#include "../utils/eoState.h" /** @addtogroup Builders diff --git a/eo/src/es/make_op_es.cpp b/src/eo/es/make_op_es.cpp old mode 100644 new mode 100755 similarity index 99% rename from eo/src/es/make_op_es.cpp rename to src/eo/es/make_op_es.cpp index 4dfbacf34..8da5c9fc8 --- a/eo/src/es/make_op_es.cpp +++ b/src/eo/es/make_op_es.cpp @@ -42,7 +42,7 @@ */ // Templatized code -#include +#include "make_op_es.h" /// The following function merely call the templatized do_* functions above diff --git a/eo/src/es/make_op_es.h b/src/eo/es/make_op_es.h old mode 100644 new mode 100755 similarity index 94% rename from eo/src/es/make_op_es.h rename to src/eo/es/make_op_es.h index 00a3373f9..0b78a724f --- a/eo/src/es/make_op_es.h +++ b/src/eo/es/make_op_es.h @@ -24,24 +24,24 @@ Contact: http://eodev.sourceforge.net #define EO_make_op_h // the operators -#include -#include -#include -#include +#include "../eoOp.h" +#include "../eoGenOp.h" +#include "../eoCloneOps.h" +#include "../eoOpContainer.h" // combinations of simple eoOps (eoMonOp and eoQuadOp) -#include +#include "../eoProportionalCombinedOp.h" // the specialized Real stuff -#include -#include -#include -#include -#include -#include -#include +#include "eoReal.h" +#include "eoRealAtomXover.h" +#include "eoEsChromInit.h" +#include "eoEsMutationInit.h" +#include "eoEsMutate.h" +#include "eoEsGlobalXover.h" +#include "eoEsStandardXover.h" // also need the parser and param includes -#include -#include +#include "../utils/eoParser.h" +#include "../utils/eoState.h" /** @addtogroup Builders diff --git a/eo/src/es/make_op_real.cpp b/src/eo/es/make_op_real.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/src/es/make_op_real.cpp rename to src/eo/es/make_op_real.cpp index b429cd411..2748470ec --- a/eo/src/es/make_op_real.cpp +++ b/src/eo/es/make_op_real.cpp @@ -42,7 +42,7 @@ */ // Templatized code -#include +#include "make_op_real.h" /// The following function merely call the templatized do_* functions above diff --git a/eo/src/es/make_op_real.h b/src/eo/es/make_op_real.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/es/make_op_real.h rename to src/eo/es/make_op_real.h index 19a8b16b6..1e6cd2066 --- a/eo/src/es/make_op_real.h +++ b/src/eo/es/make_op_real.h @@ -28,21 +28,21 @@ #define _make_op_h // the operators -#include -#include -#include -#include +#include "../eoOp.h" +#include "../eoGenOp.h" +#include "../eoCloneOps.h" +#include "../eoOpContainer.h" // combinations of simple eoOps (eoMonOp and eoQuadOp) -#include +#include "../eoProportionalCombinedOp.h" // the specialized Real stuff -#include -#include -#include -#include +#include "eoReal.h" +#include "eoEsChromInit.h" +#include "eoRealOp.h" +#include "eoNormalMutation.h" // also need the parser and param includes -#include -#include +#include "../utils/eoParser.h" +#include "../utils/eoState.h" /** @addtogroup Builders diff --git a/eo/src/es/make_pop_es.cpp b/src/eo/es/make_pop_es.cpp old mode 100644 new mode 100755 similarity index 93% rename from eo/src/es/make_pop_es.cpp rename to src/eo/es/make_pop_es.cpp index 4f72e3441..a4c17fe04 --- a/eo/src/es/make_pop_es.cpp +++ b/src/eo/es/make_pop_es.cpp @@ -41,11 +41,11 @@ */ // The templatized code -#include +#include "../do/make_pop.h" // the instanciating EOType(s) -#include // one Sigma per individual -#include // one sigmal per object variable -#include // full correlation matrix per indi +#include "eoEsSimple.h" // one Sigma per individual +#include "eoEsStdev.h" // one sigmal per object variable +#include "eoEsFull.h" // full correlation matrix per indi /// The following function merely call the templatized do_* functions above diff --git a/eo/src/es/make_pop_real.cpp b/src/eo/es/make_pop_real.cpp old mode 100644 new mode 100755 similarity index 97% rename from eo/src/es/make_pop_real.cpp rename to src/eo/es/make_pop_real.cpp index 968e7251e..cc137f531 --- a/eo/src/es/make_pop_real.cpp +++ b/src/eo/es/make_pop_real.cpp @@ -41,9 +41,9 @@ */ // The templatized code -#include +#include "../do/make_pop.h" // the instanciating EOType -#include +#include "eoReal.h" /// The following function merely call the templatized do_* functions above diff --git a/eo/src/es/make_real.h b/src/eo/es/make_real.h old mode 100644 new mode 100755 similarity index 93% rename from eo/src/es/make_real.h rename to src/eo/es/make_real.h index bc04ba1f1..0c54b6c39 --- a/eo/src/es/make_real.h +++ b/src/eo/es/make_real.h @@ -44,18 +44,18 @@ #ifndef real_h #define real_h -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include +#include "../eoAlgo.h" +#include "../eoScalarFitness.h" +#include "../utils/eoParser.h" +#include "../eoEvalFuncPtr.h" +#include "../eoEvalFuncCounter.h" +#include "../utils/eoCheckPoint.h" +#include "../eoGenOp.h" +#include "../eoPop.h" +#include "../utils/eoDistance.h" + +#include "eoRealInitBounded.h" +#include "eoReal.h" //Representation dependent - rewrite everything anew for each representation ////////////////////////// diff --git a/eo/src/es/make_run_es.cpp b/src/eo/es/make_run_es.cpp old mode 100644 new mode 100755 similarity index 91% rename from eo/src/es/make_run_es.cpp rename to src/eo/es/make_run_es.cpp index 59912a7f8..9366d211b --- a/eo/src/es/make_run_es.cpp +++ b/src/eo/es/make_run_es.cpp @@ -41,13 +41,13 @@ */ // The templatized code -#include +#include "../do/make_run.h" // the instanciating EOType(s) -#include // one Sigma per individual -#include // one sigmal per object variable -#include // full correlation matrix per indi +#include "eoEsSimple.h" // one Sigma per individual +#include "eoEsStdev.h" // one sigmal per object variable +#include "eoEsFull.h" // full correlation matrix per indi // the instanciating fitnesses -#include +#include "../eoScalarFitness.h" /// The following function merely call the templatized do_* functions above diff --git a/eo/src/es/make_run_real.cpp b/src/eo/es/make_run_real.cpp old mode 100644 new mode 100755 similarity index 96% rename from eo/src/es/make_run_real.cpp rename to src/eo/es/make_run_real.cpp index 2c61963c6..ee6732773 --- a/eo/src/es/make_run_real.cpp +++ b/src/eo/es/make_run_real.cpp @@ -41,11 +41,11 @@ */ // The templatized code -#include +#include "../do/make_run.h" // the instanciating EOType -#include +#include "eoReal.h" // the instanciating fitnesses -#include +#include "../eoScalarFitness.h" /// The following function merely call the templatized do_* functions above diff --git a/eo/src/es/matrices.h b/src/eo/es/matrices.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/es/matrices.h rename to src/eo/es/matrices.h diff --git a/eo/src/ga.h b/src/eo/ga.h old mode 100644 new mode 100755 similarity index 92% rename from eo/src/ga.h rename to src/eo/ga.h index 6abb0181a..fa3576ed0 --- a/eo/src/ga.h +++ b/src/eo/ga.h @@ -30,12 +30,12 @@ #define _ga_h // all bitstring-specific files -#include +#include "ga/eoBit.h" // the operators -#include +#include "ga/eoBitOp.h" -// #include to be corrected - thanks someone! +// #include "ga/eoBitOpFactory.h" to be corrected - thanks someone! //----------------------------------------------------------------------------- diff --git a/eo/src/ga/CMakeLists.txt b/src/eo/ga/CMakeLists.txt old mode 100644 new mode 100755 similarity index 92% rename from eo/src/ga/CMakeLists.txt rename to src/eo/ga/CMakeLists.txt index 1a1cd656d..960ca1add --- a/eo/src/ga/CMakeLists.txt +++ b/src/eo/ga/CMakeLists.txt @@ -2,8 +2,8 @@ ### 1) Include the sources ###################################################################################### -include_directories(${EO_SRC_DIR}/src) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +#include_directories(${EO_SRC_DIR}/src) +#include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ###################################################################################### ### 2) Define the ga target diff --git a/eo/src/ga/ChangeLog b/src/eo/ga/ChangeLog old mode 100644 new mode 100755 similarity index 100% rename from eo/src/ga/ChangeLog rename to src/eo/ga/ChangeLog diff --git a/eo/src/ga/Readme b/src/eo/ga/Readme old mode 100644 new mode 100755 similarity index 100% rename from eo/src/ga/Readme rename to src/eo/ga/Readme diff --git a/eo/src/ga/eoBit.h b/src/eo/ga/eoBit.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/ga/eoBit.h rename to src/eo/ga/eoBit.h index c1bc9c75e..040e57418 --- a/eo/src/ga/eoBit.h +++ b/src/eo/ga/eoBit.h @@ -40,7 +40,7 @@ #include #include -#include "eoVector.h" +#include "../eoVector.h" /** @defgroup bitstring Bit strings diff --git a/eo/src/ga/eoBitOp.h b/src/eo/ga/eoBitOp.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/ga/eoBitOp.h rename to src/eo/ga/eoBitOp.h index 15d77434d..dbb4ddf01 --- a/eo/src/ga/eoBitOp.h +++ b/src/eo/ga/eoBitOp.h @@ -31,9 +31,9 @@ //----------------------------------------------------------------------------- #include // swap_ranges -#include -#include // eoMonOp -#include +#include "../utils/eoRNG.h" +#include "../eoInit.h" // eoMonOp +#include "eoBit.h" /** eoOneBitFlip --> changes 1 bit diff --git a/eo/src/ga/eoBitOpFactory.h b/src/eo/ga/eoBitOpFactory.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/ga/eoBitOpFactory.h rename to src/eo/ga/eoBitOpFactory.h index 6511f9375..91168d3e5 --- a/eo/src/ga/eoBitOpFactory.h +++ b/src/eo/ga/eoBitOpFactory.h @@ -26,8 +26,8 @@ #ifndef _EOBITOPFACTORY_H #define _EOBITOPFACTORY_H -#include -#include +#include "../eoFactory.h" +#include "eoBitOp.h" //----------------------------------------------------------------------------- diff --git a/eo/src/ga/eoBoolFlip.h b/src/eo/ga/eoBoolFlip.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/ga/eoBoolFlip.h rename to src/eo/ga/eoBoolFlip.h index 47c43ee06..119952863 --- a/eo/src/ga/eoBoolFlip.h +++ b/src/eo/ga/eoBoolFlip.h @@ -25,7 +25,7 @@ #ifndef _eoBoolFlip_h #define _eoBoolFlip_h -#include +#include "../eoOp.h" /** a simple boolean mutation - to be used in generic eoOp's * diff --git a/eo/src/ga/eoPBILAdditive.h b/src/eo/ga/eoPBILAdditive.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/ga/eoPBILAdditive.h rename to src/eo/ga/eoPBILAdditive.h index e57a05a2b..2f3aea944 --- a/eo/src/ga/eoPBILAdditive.h +++ b/src/eo/ga/eoPBILAdditive.h @@ -26,8 +26,8 @@ #ifndef _eoPBILAdditive_H #define _eoPBILAdditive_H -#include -#include +#include "../eoDistribUpdater.h" +#include "eoPBILDistrib.h" /** * Distribution Class for PBIL algorithm diff --git a/eo/src/ga/eoPBILDistrib.h b/src/eo/ga/eoPBILDistrib.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/ga/eoPBILDistrib.h rename to src/eo/ga/eoPBILDistrib.h index 56556ba05..f85c143b5 --- a/eo/src/ga/eoPBILDistrib.h +++ b/src/eo/ga/eoPBILDistrib.h @@ -25,7 +25,7 @@ #ifndef _eoPBILDistrib_H #define _eoPBILDistrib_H -#include +#include "../eoDistribution.h" /** * Distribution Class for PBIL algorithm diff --git a/eo/src/ga/eoPBILOrg.h b/src/eo/ga/eoPBILOrg.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/ga/eoPBILOrg.h rename to src/eo/ga/eoPBILOrg.h index 45b95c843..545bd7a9e --- a/eo/src/ga/eoPBILOrg.h +++ b/src/eo/ga/eoPBILOrg.h @@ -26,8 +26,8 @@ #ifndef _eoPBILOrg_H #define _eoPBILOrg_H -#include -#include +#include "../eoDistribUpdater.h" +#include "eoPBILDistrib.h" /** * Distribution Class for PBIL algorithm diff --git a/eo/src/ga/make_PBILdistrib.h b/src/eo/ga/make_PBILdistrib.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/ga/make_PBILdistrib.h rename to src/eo/ga/make_PBILdistrib.h index b3c725d6d..cef9765f5 --- a/eo/src/ga/make_PBILdistrib.h +++ b/src/eo/ga/make_PBILdistrib.h @@ -27,10 +27,10 @@ #define _make_PBILdistrib_h #include // for time(0) for random seeding -#include -#include -#include -#include +#include "eoPBILOrg.h" +#include "../utils/eoRNG.h" +#include "../utils/eoParser.h" +#include "../utils/eoState.h" //////////////////////////DISTRIB CONSTRUCTION /////////////////////////////// diff --git a/eo/src/ga/make_PBILupdate.h b/src/eo/ga/make_PBILupdate.h old mode 100644 new mode 100755 similarity index 96% rename from eo/src/ga/make_PBILupdate.h rename to src/eo/ga/make_PBILupdate.h index a8572136d..34a062a96 --- a/eo/src/ga/make_PBILupdate.h +++ b/src/eo/ga/make_PBILupdate.h @@ -26,10 +26,10 @@ #ifndef _make_PBILupdate_h #define _make_PBILupdate_h -#include -#include -#include -#include +#include "eoPBILOrg.h" +#include "../utils/eoRNG.h" +#include "../utils/eoParser.h" +#include "../utils/eoState.h" ///////CONSTRUCTION of PBIL distribution updaters///////////////// diff --git a/eo/src/ga/make_algo_scalar_ga.cpp b/src/eo/ga/make_algo_scalar_ga.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/src/ga/make_algo_scalar_ga.cpp rename to src/eo/ga/make_algo_scalar_ga.cpp index 631e6dadf..df8926c88 --- a/eo/src/ga/make_algo_scalar_ga.cpp +++ b/src/eo/ga/make_algo_scalar_ga.cpp @@ -44,9 +44,9 @@ */ // The templatized code -#include +#include "../do/make_algo_scalar.h" // the instanciating EOType -#include +#include "eoBit.h" /// The following function merely call the templatized do_* functions above diff --git a/eo/src/ga/make_checkpoint_ga.cpp b/src/eo/ga/make_checkpoint_ga.cpp old mode 100644 new mode 100755 similarity index 97% rename from eo/src/ga/make_checkpoint_ga.cpp rename to src/eo/ga/make_checkpoint_ga.cpp index eecc40caa..ffd0c54cf --- a/eo/src/ga/make_checkpoint_ga.cpp +++ b/src/eo/ga/make_checkpoint_ga.cpp @@ -44,9 +44,9 @@ */ // The templatized code -#include +#include "../do/make_checkpoint.h" // the instanciating EOType -#include +#include "eoBit.h" /// The following function merely call the templatized do_* functions diff --git a/eo/src/ga/make_continue_ga.cpp b/src/eo/ga/make_continue_ga.cpp old mode 100644 new mode 100755 similarity index 97% rename from eo/src/ga/make_continue_ga.cpp rename to src/eo/ga/make_continue_ga.cpp index fb4662c32..b2c9a60ee --- a/eo/src/ga/make_continue_ga.cpp +++ b/src/eo/ga/make_continue_ga.cpp @@ -44,9 +44,9 @@ */ // The templatized code -#include +#include "../do/make_continue.h" // the instanciating EOType -#include +#include "eoBit.h" /// The following function merely call the templatized do_* functions above diff --git a/eo/src/ga/make_ga.h b/src/eo/ga/make_ga.h old mode 100644 new mode 100755 similarity index 94% rename from eo/src/ga/make_ga.h rename to src/eo/ga/make_ga.h index 206094881..6feacb6e2 --- a/eo/src/ga/make_ga.h +++ b/src/eo/ga/make_ga.h @@ -38,16 +38,16 @@ #ifndef ga_h #define ga_h -#include -#include -#include -#include -#include -#include -#include -#include - -#include +#include "../eoAlgo.h" +#include "../eoScalarFitness.h" +#include "../utils/eoParser.h" +#include "../eoEvalFuncCounter.h" +#include "../utils/eoCheckPoint.h" +#include "../eoGenOp.h" +#include "../eoPop.h" +#include "../utils/eoDistance.h" + +#include "eoBit.h" //Representation dependent - rewrite everything anew for each representation ////////////////////////// diff --git a/eo/src/ga/make_genotype_ga.cpp b/src/eo/ga/make_genotype_ga.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/src/ga/make_genotype_ga.cpp rename to src/eo/ga/make_genotype_ga.cpp index 3344a8d87..013f416c9 --- a/eo/src/ga/make_genotype_ga.cpp +++ b/src/eo/ga/make_genotype_ga.cpp @@ -41,7 +41,7 @@ */ // the templatized code -#include +#include "make_genotype_ga.h" /// The following function merely call the templatized do_* functions above diff --git a/eo/src/ga/make_genotype_ga.h b/src/eo/ga/make_genotype_ga.h old mode 100644 new mode 100755 similarity index 96% rename from eo/src/ga/make_genotype_ga.h rename to src/eo/ga/make_genotype_ga.h index fad4f7563..93cab894d --- a/eo/src/ga/make_genotype_ga.h +++ b/src/eo/ga/make_genotype_ga.h @@ -27,11 +27,11 @@ #ifndef _make_genotype_h #define _make_genotype_h -#include -#include +#include "eoBit.h" +#include "../eoInit.h" // also need the parser and param includes -#include -#include +#include "../utils/eoParser.h" +#include "../utils/eoState.h" /////////////////// the bitstring //////////////// diff --git a/eo/src/ga/make_op.h b/src/eo/ga/make_op.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/ga/make_op.h rename to src/eo/ga/make_op.h index 2035a4f85..b8993f312 --- a/eo/src/ga/make_op.h +++ b/src/eo/ga/make_op.h @@ -28,19 +28,19 @@ #define _make_op_h // the operators -#include -#include -#include -#include +#include "../eoOp.h" +#include "../eoGenOp.h" +#include "../eoCloneOps.h" +#include "../eoOpContainer.h" // combinations of simple eoOps (eoMonOp and eoQuadOp) -#include +#include "../eoProportionalCombinedOp.h" // the specialized GA stuff -#include -#include +#include "eoBit.h" +#include "eoBitOp.h" // also need the parser and param includes -#include -#include +#include "../utils/eoParser.h" +#include "../utils/eoState.h" /////////////////// bitstring operators /////////////// diff --git a/eo/src/ga/make_op_ga.cpp b/src/eo/ga/make_op_ga.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/src/ga/make_op_ga.cpp rename to src/eo/ga/make_op_ga.cpp index e3a53d651..249b002a3 --- a/eo/src/ga/make_op_ga.cpp +++ b/src/eo/ga/make_op_ga.cpp @@ -44,7 +44,7 @@ */ // Templatized code -#include +#include "make_op.h" /// The following function merely call the templatized do_* functions above diff --git a/eo/src/ga/make_pop_ga.cpp b/src/eo/ga/make_pop_ga.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/src/ga/make_pop_ga.cpp rename to src/eo/ga/make_pop_ga.cpp index 319279793..1ec32f6b5 --- a/eo/src/ga/make_pop_ga.cpp +++ b/src/eo/ga/make_pop_ga.cpp @@ -42,9 +42,9 @@ */ // The templatized code -#include +#include "../do/make_pop.h" // the instanciating EOType -#include +#include "eoBit.h" /// The following function merely call the templatized do_* functions above diff --git a/eo/src/ga/make_run_ga.cpp b/src/eo/ga/make_run_ga.cpp old mode 100644 new mode 100755 similarity index 96% rename from eo/src/ga/make_run_ga.cpp rename to src/eo/ga/make_run_ga.cpp index d64d2b025..f9284b80f --- a/eo/src/ga/make_run_ga.cpp +++ b/src/eo/ga/make_run_ga.cpp @@ -44,11 +44,11 @@ */ // The templatized code -#include +#include "../do/make_run.h" // the instanciating EOType -#include +#include "eoBit.h" // the instanciating fitnesses -#include +#include "../eoScalarFitness.h" /// The following function merely call the templatized do_* functions above diff --git a/eo/src/gp/eoParseTree.h b/src/eo/gp/eoParseTree.h old mode 100644 new mode 100755 similarity index 96% rename from eo/src/gp/eoParseTree.h rename to src/eo/gp/eoParseTree.h index 88737d919..e6d77dda9 --- a/eo/src/gp/eoParseTree.h +++ b/src/eo/gp/eoParseTree.h @@ -30,10 +30,10 @@ #include #include -#include -#include -#include -#include +#include "../EO.h" +#include "../eoInit.h" +#include "../eoOp.h" +#include "parse_tree.h" using namespace gp_parse_tree; @@ -189,7 +189,7 @@ std::istream& operator>>(std::istream& is, eoParseTree& eot) } // for backward compatibility -#include -#include +#include "eoParseTreeOp.h" +#include "eoParseTreeDepthInit.h" #endif diff --git a/eo/src/gp/eoParseTreeDepthInit.h b/src/eo/gp/eoParseTreeDepthInit.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/gp/eoParseTreeDepthInit.h rename to src/eo/gp/eoParseTreeDepthInit.h index 18dc55b91..94506f1bf --- a/eo/src/gp/eoParseTreeDepthInit.h +++ b/src/eo/gp/eoParseTreeDepthInit.h @@ -28,11 +28,11 @@ #ifndef eoParseTreeDepthInit_h #define eoParseTreeDepthInit_h -#include -#include -#include -#include -#include +#include "../EO.h" +#include "eoParseTree.h" +#include "../eoInit.h" +#include "../eoOp.h" +#include "../eoPop.h" using namespace gp_parse_tree; diff --git a/eo/src/gp/eoParseTreeOp.h b/src/eo/gp/eoParseTreeOp.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/gp/eoParseTreeOp.h rename to src/eo/gp/eoParseTreeOp.h index 0b623f3d8..37511963b --- a/eo/src/gp/eoParseTreeOp.h +++ b/src/eo/gp/eoParseTreeOp.h @@ -29,10 +29,10 @@ #ifndef eoParseTreeOp_h #define eoParseTreeOp_h -#include -#include +#include "../EO.h" +#include "../eoOp.h" -#include +#include "eoParseTree.h" /** eoSubtreeXOver --> subtree xover \class eoSubtreeXOver eoParseTreeOp.h gp/eoParseTreeOp.h diff --git a/eo/src/gp/eoStParseTreeDepthInit.h b/src/eo/gp/eoStParseTreeDepthInit.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/gp/eoStParseTreeDepthInit.h rename to src/eo/gp/eoStParseTreeDepthInit.h index 37b178873..aa7247dd8 --- a/eo/src/gp/eoStParseTreeDepthInit.h +++ b/src/eo/gp/eoStParseTreeDepthInit.h @@ -27,10 +27,10 @@ #ifndef eoStParseTreeDepthInit_h #define eoStParseTreeDepthInit_h -#include -#include -#include -#include +#include "../EO.h" +#include "eoParseTree.h" +#include "../eoInit.h" +#include "../eoOp.h" #include diff --git a/eo/src/gp/eoStParseTreeOp.h b/src/eo/gp/eoStParseTreeOp.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/gp/eoStParseTreeOp.h rename to src/eo/gp/eoStParseTreeOp.h index 88020448d..d5b520beb --- a/eo/src/gp/eoStParseTreeOp.h +++ b/src/eo/gp/eoStParseTreeOp.h @@ -28,13 +28,13 @@ #ifndef eoStParseTreeOp_h #define eoStParseTreeOp_h -#include -#include +#include "../EO.h" +#include "../eoOp.h" #include #include #include -#include +#include "eoParseTree.h" // a help function template diff --git a/eo/src/gp/node_pool.h b/src/eo/gp/node_pool.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/gp/node_pool.h rename to src/eo/gp/node_pool.h diff --git a/eo/src/gp/parse_tree.h b/src/eo/gp/parse_tree.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/gp/parse_tree.h rename to src/eo/gp/parse_tree.h diff --git a/eo/install_symlink.py.cmake b/src/eo/install_symlink.py.cmake similarity index 100% rename from eo/install_symlink.py.cmake rename to src/eo/install_symlink.py.cmake diff --git a/eo/src/other/eoExternalEO.h b/src/eo/other/eoExternalEO.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/other/eoExternalEO.h rename to src/eo/other/eoExternalEO.h index 4440b428f..cb37206b8 --- a/eo/src/other/eoExternalEO.h +++ b/src/eo/other/eoExternalEO.h @@ -26,7 +26,7 @@ #ifndef eoExternalEO_h #define eoExternalEO_h -#include // EO +#include "../EO.h" // EO /** * Definition of an object that allows an external struct diff --git a/eo/src/other/eoExternalOpFunctions.h b/src/eo/other/eoExternalOpFunctions.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/other/eoExternalOpFunctions.h rename to src/eo/other/eoExternalOpFunctions.h index d86b49c45..75455f079 --- a/eo/src/other/eoExternalOpFunctions.h +++ b/src/eo/other/eoExternalOpFunctions.h @@ -28,10 +28,10 @@ #ifndef eoExternalOpFunc_h #define eoExternalOpFunc_h -#include -#include -#include -#include +#include "eoExternalEO.h" +#include "../eoOp.h" +#include "../eoInit.h" +#include "../eoEvalFunc.h" /** Initialization of external struct, ctor expects a function of the following diff --git a/eo/src/other/eoString.h b/src/eo/other/eoString.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/other/eoString.h rename to src/eo/other/eoString.h index 3071d1ee6..1812932e9 --- a/eo/src/other/eoString.h +++ b/src/eo/other/eoString.h @@ -31,7 +31,7 @@ #include -#include +#include "../EO.h" //----------------------------------------------------------------------------- // eoString diff --git a/src/eo/other/external_eo b/src/eo/other/external_eo new file mode 100755 index 000000000..449053a05 --- /dev/null +++ b/src/eo/other/external_eo @@ -0,0 +1,2 @@ +#include "eoExternalEO.h" +#include "eoExternalOpFunctions.h" diff --git a/eo/pc.cmake b/src/eo/pc.cmake old mode 100644 new mode 100755 similarity index 100% rename from eo/pc.cmake rename to src/eo/pc.cmake diff --git a/eo/src/pyeo/AUTHORS b/src/eo/pyeo/AUTHORS old mode 100644 new mode 100755 similarity index 100% rename from eo/src/pyeo/AUTHORS rename to src/eo/pyeo/AUTHORS diff --git a/eo/src/pyeo/BUILDING b/src/eo/pyeo/BUILDING old mode 100644 new mode 100755 similarity index 100% rename from eo/src/pyeo/BUILDING rename to src/eo/pyeo/BUILDING diff --git a/eo/src/pyeo/CMakeLists.txt b/src/eo/pyeo/CMakeLists.txt old mode 100644 new mode 100755 similarity index 96% rename from eo/src/pyeo/CMakeLists.txt rename to src/eo/pyeo/CMakeLists.txt index a8f6c8d54..e89f069c1 --- a/eo/src/pyeo/CMakeLists.txt +++ b/src/eo/pyeo/CMakeLists.txt @@ -33,7 +33,7 @@ if(APPLE) endif(APPLE) # includes -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +#include_directories(${CMAKE_CURRENT_SOURCE_DIR}) #include_directories(../) # source diff --git a/eo/src/pyeo/COPYING b/src/eo/pyeo/COPYING old mode 100644 new mode 100755 similarity index 100% rename from eo/src/pyeo/COPYING rename to src/eo/pyeo/COPYING diff --git a/eo/src/pyeo/Makefile b/src/eo/pyeo/Makefile old mode 100644 new mode 100755 similarity index 100% rename from eo/src/pyeo/Makefile rename to src/eo/pyeo/Makefile diff --git a/eo/src/pyeo/Makefile.rpm b/src/eo/pyeo/Makefile.rpm old mode 100644 new mode 100755 similarity index 100% rename from eo/src/pyeo/Makefile.rpm rename to src/eo/pyeo/Makefile.rpm diff --git a/eo/src/pyeo/NEWS b/src/eo/pyeo/NEWS old mode 100644 new mode 100755 similarity index 100% rename from eo/src/pyeo/NEWS rename to src/eo/pyeo/NEWS diff --git a/eo/src/pyeo/PyEO.cpp b/src/eo/pyeo/PyEO.cpp old mode 100644 new mode 100755 similarity index 99% rename from eo/src/pyeo/PyEO.cpp rename to src/eo/pyeo/PyEO.cpp index 7c3f1b93f..8517c9aad --- a/eo/src/pyeo/PyEO.cpp +++ b/src/eo/pyeo/PyEO.cpp @@ -21,7 +21,7 @@ #include #include "PyEO.h" -#include +#include "../eoPop.h" using namespace std; //using namespace boost::python; diff --git a/eo/src/pyeo/PyEO.h b/src/eo/pyeo/PyEO.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/pyeo/PyEO.h rename to src/eo/pyeo/PyEO.h index 188b7f8da..e9452800e --- a/eo/src/pyeo/PyEO.h +++ b/src/eo/pyeo/PyEO.h @@ -26,7 +26,7 @@ #include #include -#include +#include "../EO.h" struct index_error : public std::exception { diff --git a/eo/src/pyeo/PyEO/__init__.py b/src/eo/pyeo/PyEO/__init__.py old mode 100644 new mode 100755 similarity index 100% rename from eo/src/pyeo/PyEO/__init__.py rename to src/eo/pyeo/PyEO/__init__.py diff --git a/eo/src/pyeo/README b/src/eo/pyeo/README old mode 100644 new mode 100755 similarity index 100% rename from eo/src/pyeo/README rename to src/eo/pyeo/README diff --git a/eo/src/pyeo/abstract1.cpp b/src/eo/pyeo/abstract1.cpp old mode 100644 new mode 100755 similarity index 91% rename from eo/src/pyeo/abstract1.cpp rename to src/eo/pyeo/abstract1.cpp index 43c0dadb9..bb9097967 --- a/eo/src/pyeo/abstract1.cpp +++ b/src/eo/pyeo/abstract1.cpp @@ -18,11 +18,11 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include -#include -#include -#include -#include +#include "../eoEvalFunc.h" +#include "../eoInit.h" +#include "../eoTransform.h" +#include "../eoSGATransform.h" +#include "../eoPopEvalFunc.h" #include "PyEO.h" #include "def_abstract_functor.h" diff --git a/eo/src/pyeo/algos.cpp b/src/eo/pyeo/algos.cpp old mode 100644 new mode 100755 similarity index 96% rename from eo/src/pyeo/algos.cpp rename to src/eo/pyeo/algos.cpp index caa2fcd33..c95fc3319 --- a/eo/src/pyeo/algos.cpp +++ b/src/eo/pyeo/algos.cpp @@ -18,10 +18,10 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include -#include -#include -#include +#include "../eoSGA.h" +#include "../eoEasyEA.h" +#include "../eoDetSelect.h" +#include "../eoCellularEasyEA.h" #include "PyEO.h" #include "def_abstract_functor.h" diff --git a/eo/src/pyeo/breeders.cpp b/src/eo/pyeo/breeders.cpp old mode 100644 new mode 100755 similarity index 95% rename from eo/src/pyeo/breeders.cpp rename to src/eo/pyeo/breeders.cpp index c66b6bccd..2adc55e16 --- a/eo/src/pyeo/breeders.cpp +++ b/src/eo/pyeo/breeders.cpp @@ -18,9 +18,9 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include -#include -#include +#include "../eoBreed.h" +#include "../eoGeneralBreeder.h" +#include "../eoOneToOneBreeder.h" #include "PyEO.h" #include "def_abstract_functor.h" diff --git a/eo/src/pyeo/continuators.cpp b/src/eo/pyeo/continuators.cpp old mode 100644 new mode 100755 similarity index 93% rename from eo/src/pyeo/continuators.cpp rename to src/eo/pyeo/continuators.cpp index d31613d2c..4d787a09a --- a/eo/src/pyeo/continuators.cpp +++ b/src/eo/pyeo/continuators.cpp @@ -18,13 +18,13 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include -#include -#include -#include -#include -#include -#include +#include "../eoGenContinue.h" +#include "../eoCombinedContinue.h" +#include "../eoEvalContinue.h" +#include "../eoFitContinue.h" +#include "../eoSteadyFitContinue.h" +#include "../utils/eoCheckPoint.h" +#include "../utils/eoStat.h" #include "PyEO.h" #include "def_abstract_functor.h" diff --git a/eo/src/pyeo/def_abstract_functor.h b/src/eo/pyeo/def_abstract_functor.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/pyeo/def_abstract_functor.h rename to src/eo/pyeo/def_abstract_functor.h index 4c3101dfd..5bba6cb3d --- a/eo/src/pyeo/def_abstract_functor.h +++ b/src/eo/pyeo/def_abstract_functor.h @@ -21,7 +21,7 @@ #ifndef MAKE_ABSTRACT_FUNCTOR_H #define MAKE_ABSTRACT_FUNCTOR_H -#include +#include "../eoFunctor.h" // DEFINES for call #define WC1 boost::python::with_custodian_and_ward<1,2>() diff --git a/eo/src/pyeo/geneticOps.cpp b/src/eo/pyeo/geneticOps.cpp old mode 100644 new mode 100755 similarity index 97% rename from eo/src/pyeo/geneticOps.cpp rename to src/eo/pyeo/geneticOps.cpp index 40617680e..a67108576 --- a/eo/src/pyeo/geneticOps.cpp +++ b/src/eo/pyeo/geneticOps.cpp @@ -18,11 +18,11 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include -#include -#include -#include -#include +#include "../eoGenOp.h" +#include "../eoOp.h" +#include "../eoCloneOps.h" +#include "../eoPopulator.h" +#include "../eoOpContainer.h" #include "PyEO.h" #include "def_abstract_functor.h" diff --git a/eo/src/pyeo/mergers.cpp b/src/eo/pyeo/mergers.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/src/pyeo/mergers.cpp rename to src/eo/pyeo/mergers.cpp index f41af0490..84e0970ba --- a/eo/src/pyeo/mergers.cpp +++ b/src/eo/pyeo/mergers.cpp @@ -18,7 +18,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include +#include "../eoMerge.h" #include "PyEO.h" #include "def_abstract_functor.h" diff --git a/eo/src/pyeo/monitors.cpp b/src/eo/pyeo/monitors.cpp old mode 100644 new mode 100755 similarity index 96% rename from eo/src/pyeo/monitors.cpp rename to src/eo/pyeo/monitors.cpp index 02d011d89..f64881659 --- a/eo/src/pyeo/monitors.cpp +++ b/src/eo/pyeo/monitors.cpp @@ -18,8 +18,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include -#include +#include "../utils/eoParam.h" +#include "../utils/eoMonitor.h" #include "PyEO.h" using namespace boost::python; diff --git a/eo/src/pyeo/perf2worth.cpp b/src/eo/pyeo/perf2worth.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/src/pyeo/perf2worth.cpp rename to src/eo/pyeo/perf2worth.cpp index a257b0cd9..3c6cc0f04 --- a/eo/src/pyeo/perf2worth.cpp +++ b/src/eo/pyeo/perf2worth.cpp @@ -18,7 +18,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include +#include "../eoNDSorting.h" #include "PyEO.h" diff --git a/eo/src/pyeo/pickle.h b/src/eo/pyeo/pickle.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/pyeo/pickle.h rename to src/eo/pyeo/pickle.h diff --git a/eo/src/pyeo/random_numbers.cpp b/src/eo/pyeo/random_numbers.cpp old mode 100644 new mode 100755 similarity index 99% rename from eo/src/pyeo/random_numbers.cpp rename to src/eo/pyeo/random_numbers.cpp index c9047385d..01bb883b4 --- a/eo/src/pyeo/random_numbers.cpp +++ b/src/eo/pyeo/random_numbers.cpp @@ -18,7 +18,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include +#include "../utils/eoRNG.h" #include using namespace boost::python; diff --git a/eo/src/pyeo/reduce.cpp b/src/eo/pyeo/reduce.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/src/pyeo/reduce.cpp rename to src/eo/pyeo/reduce.cpp index 6c9b78c64..031ff282a --- a/eo/src/pyeo/reduce.cpp +++ b/src/eo/pyeo/reduce.cpp @@ -18,7 +18,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include +#include "../eoReduce.h" #include "PyEO.h" diff --git a/eo/src/pyeo/replacement.cpp b/src/eo/pyeo/replacement.cpp old mode 100644 new mode 100755 similarity index 93% rename from eo/src/pyeo/replacement.cpp rename to src/eo/pyeo/replacement.cpp index eb1bc5d70..f85e4759b --- a/eo/src/pyeo/replacement.cpp +++ b/src/eo/pyeo/replacement.cpp @@ -18,11 +18,11 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include -#include -#include -#include -#include +#include "../eoReplacement.h" +#include "../eoMergeReduce.h" +#include "../eoReduceMerge.h" +#include "../eoReduceMergeReduce.h" +#include "../eoMGGReplacement.h" #include "PyEO.h" #include "def_abstract_functor.h" diff --git a/eo/src/pyeo/selectOne.cpp b/src/eo/pyeo/selectOne.cpp old mode 100644 new mode 100755 similarity index 94% rename from eo/src/pyeo/selectOne.cpp rename to src/eo/pyeo/selectOne.cpp index 5a28fcff3..1adb7d15a --- a/eo/src/pyeo/selectOne.cpp +++ b/src/eo/pyeo/selectOne.cpp @@ -18,12 +18,12 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include -#include -#include -#include -#include -#include +#include "../eoSelectOne.h" +#include "../eoDetTournamentSelect.h" +#include "../eoRandomSelect.h" +#include "../eoStochTournamentSelect.h" +#include "../eoTruncatedSelectOne.h" +#include "../eoSequentialSelect.h" #include "PyEO.h" #include "pickle.h" diff --git a/eo/src/pyeo/selectors.cpp b/src/eo/pyeo/selectors.cpp old mode 100644 new mode 100755 similarity index 91% rename from eo/src/pyeo/selectors.cpp rename to src/eo/pyeo/selectors.cpp index 7c8f4096a..23ce85ccd --- a/eo/src/pyeo/selectors.cpp +++ b/src/eo/pyeo/selectors.cpp @@ -18,13 +18,13 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include -#include -#include -#include -#include -#include -#include +#include "../eoSelect.h" +#include "../eoDetSelect.h" +#include "../eoSelectMany.h" +#include "../eoSelectNumber.h" +#include "../eoSelectPerc.h" +#include "../eoTruncSelect.h" +#include "../eoTruncatedSelectMany.h" #include "PyEO.h" #include "def_abstract_functor.h" diff --git a/eo/src/pyeo/statistics.cpp b/src/eo/pyeo/statistics.cpp old mode 100644 new mode 100755 similarity index 97% rename from eo/src/pyeo/statistics.cpp rename to src/eo/pyeo/statistics.cpp index fbad92694..e48b6f2fa --- a/eo/src/pyeo/statistics.cpp +++ b/src/eo/pyeo/statistics.cpp @@ -1,4 +1,4 @@ -#include +#include "../utils/eoStat.h" #include "PyEO.h" #include "valueParam.h" diff --git a/eo/src/pyeo/test/maxone.py b/src/eo/pyeo/test/maxone.py old mode 100644 new mode 100755 similarity index 100% rename from eo/src/pyeo/test/maxone.py rename to src/eo/pyeo/test/maxone.py diff --git a/eo/src/pyeo/test/run_tests.sh b/src/eo/pyeo/test/run_tests.sh similarity index 100% rename from eo/src/pyeo/test/run_tests.sh rename to src/eo/pyeo/test/run_tests.sh diff --git a/eo/src/pyeo/test/test_breeders.py b/src/eo/pyeo/test/test_breeders.py old mode 100644 new mode 100755 similarity index 100% rename from eo/src/pyeo/test/test_breeders.py rename to src/eo/pyeo/test/test_breeders.py diff --git a/eo/src/pyeo/test/test_mo.py b/src/eo/pyeo/test/test_mo.py old mode 100644 new mode 100755 similarity index 100% rename from eo/src/pyeo/test/test_mo.py rename to src/eo/pyeo/test/test_mo.py diff --git a/eo/src/pyeo/test/test_pickling.py b/src/eo/pyeo/test/test_pickling.py old mode 100644 new mode 100755 similarity index 100% rename from eo/src/pyeo/test/test_pickling.py rename to src/eo/pyeo/test/test_pickling.py diff --git a/eo/src/pyeo/test/test_populator.py b/src/eo/pyeo/test/test_populator.py old mode 100644 new mode 100755 similarity index 100% rename from eo/src/pyeo/test/test_populator.py rename to src/eo/pyeo/test/test_populator.py diff --git a/eo/src/pyeo/test/test_reduce.py b/src/eo/pyeo/test/test_reduce.py old mode 100644 new mode 100755 similarity index 100% rename from eo/src/pyeo/test/test_reduce.py rename to src/eo/pyeo/test/test_reduce.py diff --git a/eo/src/pyeo/test/test_selectone.py b/src/eo/pyeo/test/test_selectone.py old mode 100644 new mode 100755 similarity index 100% rename from eo/src/pyeo/test/test_selectone.py rename to src/eo/pyeo/test/test_selectone.py diff --git a/eo/src/pyeo/test/test_sga.py b/src/eo/pyeo/test/test_sga.py old mode 100644 new mode 100755 similarity index 100% rename from eo/src/pyeo/test/test_sga.py rename to src/eo/pyeo/test/test_sga.py diff --git a/eo/src/pyeo/test/test_transform.py b/src/eo/pyeo/test/test_transform.py old mode 100644 new mode 100755 similarity index 100% rename from eo/src/pyeo/test/test_transform.py rename to src/eo/pyeo/test/test_transform.py diff --git a/eo/src/pyeo/valueParam.cpp b/src/eo/pyeo/valueParam.cpp old mode 100644 new mode 100755 similarity index 99% rename from eo/src/pyeo/valueParam.cpp rename to src/eo/pyeo/valueParam.cpp index 59ed1a472..6e4b06218 --- a/eo/src/pyeo/valueParam.cpp +++ b/src/eo/pyeo/valueParam.cpp @@ -18,7 +18,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include +#include "../utils/eoParam.h" #include // Here's 'len'. Why? dunno diff --git a/eo/src/pyeo/valueParam.h b/src/eo/pyeo/valueParam.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/pyeo/valueParam.h rename to src/eo/pyeo/valueParam.h diff --git a/eo/src/utils/CMakeLists.txt b/src/eo/utils/CMakeLists.txt old mode 100644 new mode 100755 similarity index 89% rename from eo/src/utils/CMakeLists.txt rename to src/eo/utils/CMakeLists.txt index 8e927dd4f..3176f5446 --- a/eo/src/utils/CMakeLists.txt +++ b/src/eo/utils/CMakeLists.txt @@ -2,8 +2,9 @@ ### 1) Include the sources ###################################################################################### -include_directories(${EO_SRC_DIR}/src) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +#include_directories(${EO_SRC_DIR}/src) +#include_directories(${EOSERIAL_SRC_DIR}/src) # see eoTimer.h +#include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ###################################################################################### ### 2) Define the ga target diff --git a/eo/src/utils/ChangeLog b/src/eo/utils/ChangeLog old mode 100644 new mode 100755 similarity index 100% rename from eo/src/utils/ChangeLog rename to src/eo/utils/ChangeLog diff --git a/eo/src/utils/checkpointing b/src/eo/utils/checkpointing old mode 100644 new mode 100755 similarity index 66% rename from eo/src/utils/checkpointing rename to src/eo/utils/checkpointing index f7fd0e55b..1a5131421 --- a/eo/src/utils/checkpointing +++ b/src/eo/utils/checkpointing @@ -24,27 +24,29 @@ #ifndef _CHECKPOINTING_ #define _CHECKPOINTING_ -#include -#include -#include -#include -#include -#include -#include +#include "eoParser.h" +#include "eoState.h" +#include "eoUpdater.h" +#include "eoMonitor.h" +#include "eoFileMonitor.h" +#include "eoStdoutMonitor.h" +#include "eoOStreamMonitor.h" #ifndef _MSC_VER -#include -#include +#include "eoGnuplot1DMonitor.h" +#include "eoGnuplot1DSnapshot.h" #endif -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "eoCheckPoint.h" +#include "eoSignal.h" +#include "eoStat.h" +#include "eoScalarFitnessStat.h" +#include "eoAssembledFitnessStat.h" +#include "eoFDCStat.h" +#include "eoMOFitnessStat.h" +#include "eoPopStat.h" +#include "eoTimeCounter.h" +#include "eoGenCounter.h" + +#include "eoTimedMonitor.h" // and make_help - any better suggestion to include it? void make_help(eoParser & _parser); diff --git a/eo/src/utils/compatibility.h b/src/eo/utils/compatibility.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/utils/compatibility.h rename to src/eo/utils/compatibility.h diff --git a/eo/src/utils/eoAssembledFitnessStat.h b/src/eo/utils/eoAssembledFitnessStat.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/utils/eoAssembledFitnessStat.h rename to src/eo/utils/eoAssembledFitnessStat.h index 44586932b..43e922f3f --- a/eo/src/utils/eoAssembledFitnessStat.h +++ b/src/eo/utils/eoAssembledFitnessStat.h @@ -33,8 +33,8 @@ #ifndef _eoAssembledFitnessStat_h #define _eoAssembledFitnessStat_h -#include -#include +#include "eoStat.h" +#include "../eoScalarFitnessAssembled.h" /** @addtogroup Stats * @{ diff --git a/eo/src/utils/eoCheckPoint.h b/src/eo/utils/eoCheckPoint.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/utils/eoCheckPoint.h rename to src/eo/utils/eoCheckPoint.h index ea562e8bf..ba540bf66 --- a/eo/src/utils/eoCheckPoint.h +++ b/src/eo/utils/eoCheckPoint.h @@ -27,10 +27,10 @@ #ifndef _eoCheckPoint_h #define _eoCheckPoint_h -#include -#include -#include -#include +#include "../eoContinue.h" +#include "eoUpdater.h" +#include "eoMonitor.h" +#include "eoStat.h" /** @defgroup Checkpoints Checkpointing * diff --git a/eo/src/utils/eoData.cpp b/src/eo/utils/eoData.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/src/utils/eoData.cpp rename to src/eo/utils/eoData.cpp diff --git a/eo/src/utils/eoData.h b/src/eo/utils/eoData.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/utils/eoData.h rename to src/eo/utils/eoData.h diff --git a/eo/src/utils/eoDistance.h b/src/eo/utils/eoDistance.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/utils/eoDistance.h rename to src/eo/utils/eoDistance.h index b26f249d6..5504f36d9 --- a/eo/src/utils/eoDistance.h +++ b/src/eo/utils/eoDistance.h @@ -26,7 +26,7 @@ #ifndef _eoDistance_H #define _eoDistance_H -#include +#include "../eoFunctor.h" /** @addtogroup Stats * @{ diff --git a/eo/src/utils/eoFDCStat.h b/src/eo/utils/eoFDCStat.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/utils/eoFDCStat.h rename to src/eo/utils/eoFDCStat.h index 1d2050b78..b8536db53 --- a/eo/src/utils/eoFDCStat.h +++ b/src/eo/utils/eoFDCStat.h @@ -27,9 +27,9 @@ #ifndef _eoFDCStat_h #define _eoFDCStat_h -#include -#include -#include +#include "eoStat.h" +#include "eoDistance.h" +#include "eoFileSnapshot.h" /** The Fitness Distance Correlation computation. diff --git a/eo/src/utils/eoFeasibleRatioStat.h b/src/eo/utils/eoFeasibleRatioStat.h old mode 100644 new mode 100755 similarity index 96% rename from eo/src/utils/eoFeasibleRatioStat.h rename to src/eo/utils/eoFeasibleRatioStat.h index cbbe17386..6431cd880 --- a/eo/src/utils/eoFeasibleRatioStat.h +++ b/src/eo/utils/eoFeasibleRatioStat.h @@ -28,10 +28,10 @@ Contact: http://eodev.sourceforge.net #include -#include -#include +#include "../eoDualFitness.h" +#include "eoLogger.h" -#include "eoStat.h" +#include "../eoStat.h" /** Ratio of the number of individuals with a feasible dual fitness in the population (@see eoDualFitness) * diff --git a/eo/src/utils/eoFileMonitor.cpp b/src/eo/utils/eoFileMonitor.cpp old mode 100644 new mode 100755 similarity index 94% rename from eo/src/utils/eoFileMonitor.cpp rename to src/eo/utils/eoFileMonitor.cpp index 3cc96deb1..ba1c52cb3 --- a/eo/src/utils/eoFileMonitor.cpp +++ b/src/eo/utils/eoFileMonitor.cpp @@ -7,9 +7,9 @@ #include #include -#include -#include -#include +#include "eoFileMonitor.h" +#include "compatibility.h" +#include "eoParam.h" using namespace std; diff --git a/eo/src/utils/eoFileMonitor.h b/src/eo/utils/eoFileMonitor.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/utils/eoFileMonitor.h rename to src/eo/utils/eoFileMonitor.h index 9438d25c3..dbd29758a --- a/eo/src/utils/eoFileMonitor.h +++ b/src/eo/utils/eoFileMonitor.h @@ -31,8 +31,8 @@ #include #include -#include "utils/eoMonitor.h" -#include "eoObject.h" +#include "eoMonitor.h" +#include "../eoObject.h" /** Prints statistics to file diff --git a/eo/src/utils/eoFileSnapshot.h b/src/eo/utils/eoFileSnapshot.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/utils/eoFileSnapshot.h rename to src/eo/utils/eoFileSnapshot.h index cdd2e36cc..c474a9293 --- a/eo/src/utils/eoFileSnapshot.h +++ b/src/eo/utils/eoFileSnapshot.h @@ -29,9 +29,9 @@ #include #include -#include -#include -#include +#include "eoParam.h" +#include "eoMonitor.h" +#include "../eoObject.h" /** diff --git a/eo/src/utils/eoFuncPtrStat.h b/src/eo/utils/eoFuncPtrStat.h old mode 100644 new mode 100755 similarity index 96% rename from eo/src/utils/eoFuncPtrStat.h rename to src/eo/utils/eoFuncPtrStat.h index c77281577..b97e53105 --- a/eo/src/utils/eoFuncPtrStat.h +++ b/src/eo/utils/eoFuncPtrStat.h @@ -1,8 +1,8 @@ #ifndef eoFuncPtrStat_h #define eoFuncPtrStat_h -#include -#include +#include "../eoFunctorStore.h" +#include "eoStat.h" diff --git a/eo/src/utils/eoGenCounter.h b/src/eo/utils/eoGenCounter.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/utils/eoGenCounter.h rename to src/eo/utils/eoGenCounter.h index a06949c21..1ac9b8719 --- a/eo/src/utils/eoGenCounter.h +++ b/src/eo/utils/eoGenCounter.h @@ -22,7 +22,7 @@ #define _eoGenCounter_h #include -#include +#include "eoStat.h" /** An eoStat that simply gives the current generation index diff --git a/eo/src/utils/eoGnuplot.cpp b/src/eo/utils/eoGnuplot.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/src/utils/eoGnuplot.cpp rename to src/eo/utils/eoGnuplot.cpp diff --git a/eo/src/utils/eoGnuplot.h b/src/eo/utils/eoGnuplot.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/utils/eoGnuplot.h rename to src/eo/utils/eoGnuplot.h diff --git a/eo/src/utils/eoGnuplot1DMonitor.cpp b/src/eo/utils/eoGnuplot1DMonitor.cpp old mode 100644 new mode 100755 similarity index 97% rename from eo/src/utils/eoGnuplot1DMonitor.cpp rename to src/eo/utils/eoGnuplot1DMonitor.cpp index c0cff842c..ab54b1132 --- a/eo/src/utils/eoGnuplot1DMonitor.cpp +++ b/src/eo/utils/eoGnuplot1DMonitor.cpp @@ -29,8 +29,8 @@ #include -#include "utils/eoGnuplot1DMonitor.h" -#include "utils/eoParam.h" +#include "eoGnuplot1DMonitor.h" +#include "eoParam.h" eoMonitor& eoGnuplot1DMonitor::operator() (void) diff --git a/eo/src/utils/eoGnuplot1DMonitor.h b/src/eo/utils/eoGnuplot1DMonitor.h old mode 100644 new mode 100755 similarity index 95% rename from eo/src/utils/eoGnuplot1DMonitor.h rename to src/eo/utils/eoGnuplot1DMonitor.h index e32e22275..0d1dc8b37 --- a/eo/src/utils/eoGnuplot1DMonitor.h +++ b/src/eo/utils/eoGnuplot1DMonitor.h @@ -27,10 +27,10 @@ #include #include -#include "eoObject.h" -#include "utils/eoFileMonitor.h" -#include "utils/eoGnuplot.h" -#include "utils/pipecom.h" +#include "../eoObject.h" +#include "eoFileMonitor.h" +#include "eoGnuplot.h" +#include "pipecom.h" /** Plot eoStat diff --git a/eo/src/utils/eoGnuplot1DSnapshot.cpp b/src/eo/utils/eoGnuplot1DSnapshot.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/src/utils/eoGnuplot1DSnapshot.cpp rename to src/eo/utils/eoGnuplot1DSnapshot.cpp diff --git a/eo/src/utils/eoGnuplot1DSnapshot.h b/src/eo/utils/eoGnuplot1DSnapshot.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/utils/eoGnuplot1DSnapshot.h rename to src/eo/utils/eoGnuplot1DSnapshot.h index 38c5af745..10519e26e --- a/eo/src/utils/eoGnuplot1DSnapshot.h +++ b/src/eo/utils/eoGnuplot1DSnapshot.h @@ -32,11 +32,11 @@ #include #include -#include +#include "../eoObject.h" #include "eoRealVectorBounds.h" -#include -#include -#include +#include "pipecom.h" +#include "eoFileSnapshot.h" +#include "eoGnuplot.h" /** Plot stats through gnuplot diff --git a/eo/src/utils/eoHowMany.h b/src/eo/utils/eoHowMany.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/utils/eoHowMany.h rename to src/eo/utils/eoHowMany.h index 1105f3b73..bb47417a1 --- a/eo/src/utils/eoHowMany.h +++ b/src/eo/utils/eoHowMany.h @@ -31,7 +31,7 @@ Contact: http://eodev.sourceforge.net #include -#include +#include "eoLogger.h" /** A helper class, to determine a number of individuals from another one diff --git a/eo/src/utils/eoIntBounds.cpp b/src/eo/utils/eoIntBounds.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/src/utils/eoIntBounds.cpp rename to src/eo/utils/eoIntBounds.cpp diff --git a/eo/src/utils/eoIntBounds.h b/src/eo/utils/eoIntBounds.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/utils/eoIntBounds.h rename to src/eo/utils/eoIntBounds.h index 2127c92f7..924d0e022 --- a/eo/src/utils/eoIntBounds.h +++ b/src/eo/utils/eoIntBounds.h @@ -28,7 +28,7 @@ #define _eoIntBounds_h #include // std::exceptions! -#include +#include "eoRNG.h" /** \class eoIntBounds eoIntBounds.h es/eoIntBounds.h diff --git a/eo/src/utils/eoLogger.cpp b/src/eo/utils/eoLogger.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/src/utils/eoLogger.cpp rename to src/eo/utils/eoLogger.cpp diff --git a/eo/src/utils/eoLogger.h b/src/eo/utils/eoLogger.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/utils/eoLogger.h rename to src/eo/utils/eoLogger.h index 9ac1c2115..582c99e6c --- a/eo/src/utils/eoLogger.h +++ b/src/eo/utils/eoLogger.h @@ -32,7 +32,7 @@ Caner Candan Here's an example explaning how to use eoLogger: \code - #include + #include "../eo" int main(int ac, char** av) { @@ -92,7 +92,7 @@ Caner Candan #include #include -#include "eoObject.h" +#include "../eoObject.h" #include "eoParser.h" namespace eo diff --git a/eo/src/utils/eoMOFitnessStat.h b/src/eo/utils/eoMOFitnessStat.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/utils/eoMOFitnessStat.h rename to src/eo/utils/eoMOFitnessStat.h index 8e1b2d3fd..3f7b14d00 --- a/eo/src/utils/eoMOFitnessStat.h +++ b/src/eo/utils/eoMOFitnessStat.h @@ -27,7 +27,7 @@ #ifndef _eoFitnessStat_h #define _eoFitnessStat_h -#include +#include "eoStat.h" /** The fitnesses of a whole population, as a vector diff --git a/eo/src/utils/eoMonitor.h b/src/eo/utils/eoMonitor.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/utils/eoMonitor.h rename to src/eo/utils/eoMonitor.h index 1c92e9c00..0a00f9ead --- a/eo/src/utils/eoMonitor.h +++ b/src/eo/utils/eoMonitor.h @@ -27,7 +27,7 @@ #include #include -#include +#include "../eoFunctor.h" /** @defgroup Monitors Monitoring * diff --git a/eo/src/utils/eoOStreamMonitor.cpp b/src/eo/utils/eoOStreamMonitor.cpp old mode 100644 new mode 100755 similarity index 92% rename from eo/src/utils/eoOStreamMonitor.cpp rename to src/eo/utils/eoOStreamMonitor.cpp index b9e848c58..edb091690 --- a/eo/src/utils/eoOStreamMonitor.cpp +++ b/src/eo/utils/eoOStreamMonitor.cpp @@ -9,10 +9,10 @@ #include #include -#include -#include -#include -#include +#include "eoOStreamMonitor.h" +#include "compatibility.h" +#include "eoParam.h" +#include "eoLogger.h" //using namespace std; diff --git a/eo/src/utils/eoOStreamMonitor.h b/src/eo/utils/eoOStreamMonitor.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/utils/eoOStreamMonitor.h rename to src/eo/utils/eoOStreamMonitor.h index 032665224..dab0ea776 --- a/eo/src/utils/eoOStreamMonitor.h +++ b/src/eo/utils/eoOStreamMonitor.h @@ -30,9 +30,9 @@ Contact: http://eodev.sourceforge.net #include #include -#include -#include -#include +#include "eoMonitor.h" +#include "eoLogger.h" +#include "../eoObject.h" /** Prints statistics to a given ostream. diff --git a/eo/src/utils/eoParallel.cpp b/src/eo/utils/eoParallel.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/src/utils/eoParallel.cpp rename to src/eo/utils/eoParallel.cpp diff --git a/eo/src/utils/eoParallel.h b/src/eo/utils/eoParallel.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/utils/eoParallel.h rename to src/eo/utils/eoParallel.h index c7a15a4f9..6608706dc --- a/eo/src/utils/eoParallel.h +++ b/src/eo/utils/eoParallel.h @@ -31,7 +31,7 @@ Contact: http://eodev.sourceforge.net #ifndef eoParallel_h #define eoParallel_h -#include "eoObject.h" +#include "../eoObject.h" #include "eoParser.h" /** diff --git a/eo/src/utils/eoParam.h b/src/eo/utils/eoParam.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/utils/eoParam.h rename to src/eo/utils/eoParam.h index 948092c93..2111da61c --- a/eo/src/utils/eoParam.h +++ b/src/eo/utils/eoParam.h @@ -33,7 +33,7 @@ #include #include #include -#include +#include "../eoScalarFitness.h" /** @defgroup Parameters Parameters management * diff --git a/eo/src/utils/eoParser.cpp b/src/eo/utils/eoParser.cpp old mode 100644 new mode 100755 similarity index 99% rename from eo/src/utils/eoParser.cpp rename to src/eo/utils/eoParser.cpp index cc306bf73..15a66105a --- a/eo/src/utils/eoParser.cpp +++ b/src/eo/utils/eoParser.cpp @@ -37,9 +37,9 @@ Contact: http://eodev.sourceforge.net #include #include -#include -#include -#include +#include "compatibility.h" +#include "eoParser.h" +#include "eoLogger.h" using namespace std; diff --git a/eo/src/utils/eoParser.h b/src/eo/utils/eoParser.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/utils/eoParser.h rename to src/eo/utils/eoParser.h index a53230da8..793da622c --- a/eo/src/utils/eoParser.h +++ b/src/eo/utils/eoParser.h @@ -30,9 +30,9 @@ Contact: http://eodev.sourceforge.net #include #include "eoParam.h" -#include "eoObject.h" -#include "eoPersistent.h" -#include "eoExceptions.h" +#include "../eoObject.h" +#include "../eoPersistent.h" +#include "../eoExceptions.h" /** Parameter saving and loading diff --git a/eo/src/utils/eoPopStat.h b/src/eo/utils/eoPopStat.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/utils/eoPopStat.h rename to src/eo/utils/eoPopStat.h index f3f091a6e..8102af087 --- a/eo/src/utils/eoPopStat.h +++ b/src/eo/utils/eoPopStat.h @@ -35,7 +35,7 @@ that can be used to dump to the screen #ifndef _eoPopStat_h #define _eoPopStat_h -#include +#include "eoStat.h" /** Thanks to MS/VC++, eoParam mechanism is unable to handle std::vectors of stats. diff --git a/eo/src/utils/eoRNG.cpp b/src/eo/utils/eoRNG.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/src/utils/eoRNG.cpp rename to src/eo/utils/eoRNG.cpp diff --git a/eo/src/utils/eoRNG.h b/src/eo/utils/eoRNG.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/utils/eoRNG.h rename to src/eo/utils/eoRNG.h index ce648cabf..6e9af74f3 --- a/eo/src/utils/eoRNG.h +++ b/src/eo/utils/eoRNG.h @@ -50,8 +50,8 @@ typedef unsigned long uint32_t; #include #include -#include "eoPersistent.h" -#include "eoObject.h" +#include "../eoPersistent.h" +#include "../eoObject.h" /** Random Number Generator diff --git a/eo/src/utils/eoRealBounds.cpp b/src/eo/utils/eoRealBounds.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/src/utils/eoRealBounds.cpp rename to src/eo/utils/eoRealBounds.cpp diff --git a/eo/src/utils/eoRealBounds.h b/src/eo/utils/eoRealBounds.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/utils/eoRealBounds.h rename to src/eo/utils/eoRealBounds.h index 8d55d793a..5d28c1741 --- a/eo/src/utils/eoRealBounds.h +++ b/src/eo/utils/eoRealBounds.h @@ -31,7 +31,7 @@ #include #include // std::exceptions! -#include +#include "eoRNG.h" #include "eoLogger.h" /** diff --git a/eo/src/utils/eoRealVectorBounds.h b/src/eo/utils/eoRealVectorBounds.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/utils/eoRealVectorBounds.h rename to src/eo/utils/eoRealVectorBounds.h index 56feff345..7fb880f53 --- a/eo/src/utils/eoRealVectorBounds.h +++ b/src/eo/utils/eoRealVectorBounds.h @@ -28,8 +28,8 @@ #define _eoRealVectorBounds_h #include // std::exceptions! -#include -#include +#include "eoRNG.h" +#include "eoRealBounds.h" /** Vector type for bounds (see eoRealBounds.h for scalar types) diff --git a/eo/src/utils/eoRndGenerators.h b/src/eo/utils/eoRndGenerators.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/utils/eoRndGenerators.h rename to src/eo/utils/eoRndGenerators.h index 62e62ccff..454845b17 --- a/eo/src/utils/eoRndGenerators.h +++ b/src/eo/utils/eoRndGenerators.h @@ -30,7 +30,7 @@ #define eoRndGenerators_h #include "eoRNG.h" -#include +#include "../eoFunctor.h" #include /** @defgroup Random Random number generation diff --git a/eo/src/utils/eoScalarFitnessStat.h b/src/eo/utils/eoScalarFitnessStat.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/utils/eoScalarFitnessStat.h rename to src/eo/utils/eoScalarFitnessStat.h index e56e46822..0260baa2a --- a/eo/src/utils/eoScalarFitnessStat.h +++ b/src/eo/utils/eoScalarFitnessStat.h @@ -27,8 +27,8 @@ #ifndef _eoScalarFitnessStat_h #define _eoScalarFitnessStat_h -#include -#include +#include "eoRealVectorBounds.h" +#include "eoStat.h" /** The fitnesses of a whole population, as a std::vector diff --git a/eo/src/utils/eoSignal.cpp b/src/eo/utils/eoSignal.cpp old mode 100644 new mode 100755 similarity index 97% rename from eo/src/utils/eoSignal.cpp rename to src/eo/utils/eoSignal.cpp index 745d21bd3..eb12382fd --- a/eo/src/utils/eoSignal.cpp +++ b/src/eo/utils/eoSignal.cpp @@ -23,7 +23,7 @@ Caner.Candan@univ-angers.fr */ -#include +#include "eoSignal.h" /** * @addtogroup Continuators diff --git a/eo/src/utils/eoSignal.h b/src/eo/utils/eoSignal.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/utils/eoSignal.h rename to src/eo/utils/eoSignal.h index 9a89cb196..c9f7ecf57 --- a/eo/src/utils/eoSignal.h +++ b/src/eo/utils/eoSignal.h @@ -27,8 +27,8 @@ #define _eoSignal_h #include -#include -#include +#include "eoCheckPoint.h" +#include "eoLogger.h" #include #include diff --git a/eo/src/utils/eoStat.h b/src/eo/utils/eoStat.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/utils/eoStat.h rename to src/eo/utils/eoStat.h index 313426c3f..5610ecbee --- a/eo/src/utils/eoStat.h +++ b/src/eo/utils/eoStat.h @@ -35,12 +35,12 @@ Contact: http://eodev.sourceforge.net #include #include // accumulate -#include -#include -#include -#include -//#include -#include +#include "../eoFunctor.h" +#include "eoParam.h" +#include "../eoPop.h" +#include "eoMonitor.h" +//#include "eoCheckPoint.h" +#include "eoLogger.h" /** @defgroup Stats Statistics computation * diff --git a/eo/src/utils/eoState.cpp b/src/eo/utils/eoState.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/src/utils/eoState.cpp rename to src/eo/utils/eoState.cpp index c6d385001..884549244 --- a/eo/src/utils/eoState.cpp +++ b/src/eo/utils/eoState.cpp @@ -11,8 +11,8 @@ #include #include "eoState.h" -#include "eoObject.h" -#include "eoPersistent.h" +#include "../eoObject.h" +#include "../eoPersistent.h" using namespace std; diff --git a/eo/src/utils/eoState.h b/src/eo/utils/eoState.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/utils/eoState.h rename to src/eo/utils/eoState.h index 256dcd965..e96917e9d --- a/eo/src/utils/eoState.h +++ b/src/eo/utils/eoState.h @@ -33,7 +33,7 @@ #include #include -#include +#include "../eoFunctorStore.h" class eoObject; class eoPersistent; diff --git a/eo/src/utils/eoStdoutMonitor.h b/src/eo/utils/eoStdoutMonitor.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/utils/eoStdoutMonitor.h rename to src/eo/utils/eoStdoutMonitor.h index d886aed3a..dba8be98c --- a/eo/src/utils/eoStdoutMonitor.h +++ b/src/eo/utils/eoStdoutMonitor.h @@ -32,8 +32,8 @@ Contact: http://eodev.sourceforge.net #include -#include -#include +#include "eoOStreamMonitor.h" +#include "../eoObject.h" /** Prints statistics to stdout diff --git a/eo/src/utils/eoTimeCounter.h b/src/eo/utils/eoTimeCounter.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/utils/eoTimeCounter.h rename to src/eo/utils/eoTimeCounter.h index 623714156..0704c5cda --- a/eo/src/utils/eoTimeCounter.h +++ b/src/eo/utils/eoTimeCounter.h @@ -28,7 +28,7 @@ #define _eoTimeCounter_h #include -#include +#include "eoStat.h" /** diff --git a/eo/src/utils/eoTimedMonitor.h b/src/eo/utils/eoTimedMonitor.h old mode 100644 new mode 100755 similarity index 97% rename from eo/src/utils/eoTimedMonitor.h rename to src/eo/utils/eoTimedMonitor.h index a06ae6cce..93abc4aa3 --- a/eo/src/utils/eoTimedMonitor.h +++ b/src/eo/utils/eoTimedMonitor.h @@ -30,8 +30,8 @@ #include #include -#include -#include +#include "eoMonitor.h" +#include "../eoObject.h" /** Holds a collection of monitors and only fires them when a time limit diff --git a/eo/src/utils/eoTimer.h b/src/eo/utils/eoTimer.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/utils/eoTimer.h rename to src/eo/utils/eoTimer.h index 7ba28c931..600812eff --- a/eo/src/utils/eoTimer.h +++ b/src/eo/utils/eoTimer.h @@ -28,9 +28,9 @@ Contact: http://eodev.sourceforge.net # include // std::vector # include // std::map -# include "utils/eoParallel.h" // eo::parallel +# include "eoParallel.h" // eo::parallel -# include // eo::Persistent +# include "../../eoserial/eoSerial.h" // eo::Persistent /** * @brief Timer allowing to measure time between a start point and a stop point. diff --git a/eo/src/utils/eoUniformInit.h b/src/eo/utils/eoUniformInit.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/utils/eoUniformInit.h rename to src/eo/utils/eoUniformInit.h index cede61b73..8f4cd9d86 --- a/eo/src/utils/eoUniformInit.h +++ b/src/eo/utils/eoUniformInit.h @@ -39,7 +39,7 @@ #define eoUniformInit_h #include "eoRNG.h" -#include "eoInit.h" +#include "../eoInit.h" #include "eoRealBounds.h" #include diff --git a/eo/src/utils/eoUpdatable.h b/src/eo/utils/eoUpdatable.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/utils/eoUpdatable.h rename to src/eo/utils/eoUpdatable.h index 202ef962c..1c1103afc --- a/eo/src/utils/eoUpdatable.h +++ b/src/eo/utils/eoUpdatable.h @@ -27,7 +27,7 @@ #ifndef _eoUpdatable_h #define _eoUpdatable_h -#include +#include "eoUpdater.h" /** eoUpdatable is a generic class for adding updatation to an existing class diff --git a/eo/src/utils/eoUpdater.cpp b/src/eo/utils/eoUpdater.cpp old mode 100644 new mode 100755 similarity index 93% rename from eo/src/utils/eoUpdater.cpp rename to src/eo/utils/eoUpdater.cpp index dd6a38960..de2d0ba8a --- a/eo/src/utils/eoUpdater.cpp +++ b/src/eo/utils/eoUpdater.cpp @@ -8,8 +8,8 @@ #include -#include -#include +#include "eoState.h" +#include "eoUpdater.h" using namespace std; diff --git a/eo/src/utils/eoUpdater.h b/src/eo/utils/eoUpdater.h old mode 100644 new mode 100755 similarity index 98% rename from eo/src/utils/eoUpdater.h rename to src/eo/utils/eoUpdater.h index 072b9a9bb..0ae3b9c25 --- a/eo/src/utils/eoUpdater.h +++ b/src/eo/utils/eoUpdater.h @@ -28,9 +28,9 @@ #define _eoUpdater_h #include -#include -#include -#include +#include "../eoFunctor.h" +#include "eoState.h" +#include "eoParam.h" template class eoCheckPoint; diff --git a/eo/src/utils/make_help.cpp b/src/eo/utils/make_help.cpp old mode 100644 new mode 100755 similarity index 99% rename from eo/src/utils/make_help.cpp rename to src/eo/utils/make_help.cpp index a7ab040cd..fd2c5efb3 --- a/eo/src/utils/make_help.cpp +++ b/src/eo/utils/make_help.cpp @@ -30,7 +30,7 @@ #include #include -#include +#include "eoParser.h" using namespace std; diff --git a/eo/src/utils/pipecom.cpp b/src/eo/utils/pipecom.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/src/utils/pipecom.cpp rename to src/eo/utils/pipecom.cpp diff --git a/eo/src/utils/pipecom.h b/src/eo/utils/pipecom.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/utils/pipecom.h rename to src/eo/utils/pipecom.h diff --git a/eo/src/utils/rnd_generators.h b/src/eo/utils/rnd_generators.h old mode 100644 new mode 100755 similarity index 100% rename from eo/src/utils/rnd_generators.h rename to src/eo/utils/rnd_generators.h diff --git a/eo/src/utils/selectors.h b/src/eo/utils/selectors.h old mode 100644 new mode 100755 similarity index 99% rename from eo/src/utils/selectors.h rename to src/eo/utils/selectors.h index 37df7997b..43992ac3c --- a/eo/src/utils/selectors.h +++ b/src/eo/utils/selectors.h @@ -41,7 +41,7 @@ #include #include "eoRNG.h" -#include +#include "../eoPop.h" /** @addtogroup Selectors @{ diff --git a/eompi/src/CMakeLists.txt b/src/eompi/CMakeLists.txt old mode 100644 new mode 100755 similarity index 69% rename from eompi/src/CMakeLists.txt rename to src/eompi/CMakeLists.txt index c35f65e2b..bd1bda87e --- a/eompi/src/CMakeLists.txt +++ b/src/eompi/CMakeLists.txt @@ -2,9 +2,9 @@ ### 1) Include the sources ###################################################################################### -include_directories(${EO_SRC_DIR}/src) -include_directories(${EOSERIAL_SRC_DIR}/src) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +#include_directories(${EO_SRC_DIR}/src) +#include_directories(${EOSERIAL_SRC_DIR}/src) +#include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ###################################################################################### ### 2) Define the eompi target @@ -23,8 +23,20 @@ set(EOMPI_SOURCES add_library(eompi STATIC ${EOMPI_SOURCES}) install(TARGETS eompi ARCHIVE DESTINATION ${LIB} COMPONENT libraries) -file(GLOB HDRS *.h) -install(FILES ${HDRS} DESTINATION include${INSTALL_SUB_DIR}/eompi COMPONENT headers) +install(FILES eompi.h DESTINATION ${PROJECT_HDRS_INSTALL_SUBPATH}/${PROJECT_TAG} COMPONENT headers) + +#file(GLOB HDRS *.h) +set(HDRS + implMpi.h + eoMpiNode.h + eoParallelApply.h + eoMpi.h + eoMultiStart.h + eoTerminateJob.h + eoMpiAssignmentAlgorithm.h +) + +install(FILES ${HDRS} DESTINATION ${PROJECT_HDRS_INSTALL_SUBPATH}/${PROJECT_TAG}/eompi COMPONENT headers) ###################################################################################### ### 3) Optionnal diff --git a/eompi/src/eoMpi.cpp b/src/eompi/eoMpi.cpp old mode 100644 new mode 100755 similarity index 100% rename from eompi/src/eoMpi.cpp rename to src/eompi/eoMpi.cpp diff --git a/eompi/src/eoMpi.h b/src/eompi/eoMpi.h old mode 100644 new mode 100755 similarity index 99% rename from eompi/src/eoMpi.h rename to src/eompi/eoMpi.h index a47ce8a33..b2ce71c69 --- a/eompi/src/eoMpi.h +++ b/src/eompi/eoMpi.h @@ -24,10 +24,10 @@ Contact: http://eodev.sourceforge.net # include // std::vector -# include -# include -# include -# include +# include "../eo/utils/eoLogger.h" +# include "../eo/utils/eoTimer.h" +# include "../eo/eoFunctor.h" +# include "../eo/eoExceptions.h" # include "eoMpiNode.h" # include "eoMpiAssignmentAlgorithm.h" diff --git a/eompi/src/eoMpiAssignmentAlgorithm.cpp b/src/eompi/eoMpiAssignmentAlgorithm.cpp old mode 100644 new mode 100755 similarity index 100% rename from eompi/src/eoMpiAssignmentAlgorithm.cpp rename to src/eompi/eoMpiAssignmentAlgorithm.cpp diff --git a/eompi/src/eoMpiAssignmentAlgorithm.h b/src/eompi/eoMpiAssignmentAlgorithm.h old mode 100644 new mode 100755 similarity index 100% rename from eompi/src/eoMpiAssignmentAlgorithm.h rename to src/eompi/eoMpiAssignmentAlgorithm.h diff --git a/eompi/src/eoMpiNode.cpp b/src/eompi/eoMpiNode.cpp old mode 100644 new mode 100755 similarity index 100% rename from eompi/src/eoMpiNode.cpp rename to src/eompi/eoMpiNode.cpp diff --git a/eompi/src/eoMpiNode.h b/src/eompi/eoMpiNode.h old mode 100644 new mode 100755 similarity index 100% rename from eompi/src/eoMpiNode.h rename to src/eompi/eoMpiNode.h diff --git a/eompi/src/eoMultiStart.h b/src/eompi/eoMultiStart.h old mode 100644 new mode 100755 similarity index 99% rename from eompi/src/eoMultiStart.h rename to src/eompi/eoMultiStart.h index 23a8cc04a..cff8aba29 --- a/eompi/src/eoMultiStart.h +++ b/src/eompi/eoMultiStart.h @@ -1,8 +1,12 @@ # ifndef __EO_MULTISTART_H__ # define __EO_MULTISTART_H__ -# include -# include "eoMpi.h" +#include "../eo/eoPop.h" +#include "../eo/eoAlgo.h" +#include "../eo/eoEasyEA.h" +#include "../eo/eoInitializer.h" + +#include "eoMpi.h" /** * @ingroup MPI diff --git a/eompi/src/eoParallelApply.h b/src/eompi/eoParallelApply.h old mode 100644 new mode 100755 similarity index 99% rename from eompi/src/eoParallelApply.h rename to src/eompi/eoParallelApply.h index 671c3843f..851910473 --- a/eompi/src/eoParallelApply.h +++ b/src/eompi/eoParallelApply.h @@ -24,7 +24,7 @@ Contact: http://eodev.sourceforge.net # include "eoMpi.h" -# include // eoUF +# include "../eo/eoFunctor.h" // eoUF # include // std::vector population /** diff --git a/eompi/src/eoTerminateJob.h b/src/eompi/eoTerminateJob.h old mode 100644 new mode 100755 similarity index 100% rename from eompi/src/eoTerminateJob.h rename to src/eompi/eoTerminateJob.h diff --git a/src/eompi/eompi.h b/src/eompi/eompi.h new file mode 100755 index 000000000..51631af49 --- /dev/null +++ b/src/eompi/eompi.h @@ -0,0 +1,27 @@ +/* +(c) Thales group, 2012 + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; + version 2 of the License. + + 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +Contact: http://eodev.sourceforge.net + +Authors: + +*/ +#ifndef __EO_MPI_HEADER__ +#define __EO_MPI_HEADER__ + +#include + +#endif // __EO_MPI_HEADER__ \ No newline at end of file diff --git a/eompi/src/implMpi.cpp b/src/eompi/implMpi.cpp old mode 100644 new mode 100755 similarity index 100% rename from eompi/src/implMpi.cpp rename to src/eompi/implMpi.cpp diff --git a/eompi/src/implMpi.h b/src/eompi/implMpi.h old mode 100644 new mode 100755 similarity index 99% rename from eompi/src/implMpi.h rename to src/eompi/implMpi.h index 8385938a2..50456014f --- a/eompi/src/implMpi.h +++ b/src/eompi/implMpi.h @@ -23,7 +23,7 @@ Contact: http://eodev.sourceforge.net # define __EO_IMPL_MPI_HPP__ # include -# include +# include "../eoserial/eoSerial.h" /** * This namespace contains reimplementations of some parts of the Boost::MPI API in C++, so as to be used in diff --git a/eoserial/src/CMakeLists.txt b/src/eoserial/CMakeLists.txt old mode 100644 new mode 100755 similarity index 74% rename from eoserial/src/CMakeLists.txt rename to src/eoserial/CMakeLists.txt index a3c6ff19a..4a2006d9b --- a/eoserial/src/CMakeLists.txt +++ b/src/eoserial/CMakeLists.txt @@ -2,8 +2,8 @@ ### 1) Include the sources ###################################################################################### -include_directories(${EO_SRC_DIR}/src) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +#include_directories(${EO_SRC_DIR}/src) +#include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ###################################################################################### ### 2) Define the eoserial target @@ -26,8 +26,22 @@ install(TARGETS eoserial ARCHIVE DESTINATION ${LIB} COMPONENT libraries) ### 4) Look for headers ###################################################################################### -file(GLOB HDRS *.h) -install(FILES ${HDRS} DESTINATION ${INSTALL_SUB_DIR}/eoserial COMPONENT headers) +install(FILES eoserial.h DESTINATION ${PROJECT_HDRS_INSTALL_SUBPATH}/${PROJECT_TAG} COMPONENT headers) + +#file(GLOB HDRS *.h) +set(HDRS + eoSerial.h + Utils.h + SerialArray.h + Parser.h + Traits.h + SerialObject.h + Serializable.h + SerialString.h + Entity.h +) + +install(FILES ${HDRS} DESTINATION ${PROJECT_HDRS_INSTALL_SUBPATH}/${PROJECT_TAG}/eoserial COMPONENT headers) ###################################################################################### ### 5) Optionnal diff --git a/eoserial/src/Entity.h b/src/eoserial/Entity.h old mode 100644 new mode 100755 similarity index 100% rename from eoserial/src/Entity.h rename to src/eoserial/Entity.h diff --git a/eoserial/src/Parser.cpp b/src/eoserial/Parser.cpp old mode 100644 new mode 100755 similarity index 100% rename from eoserial/src/Parser.cpp rename to src/eoserial/Parser.cpp diff --git a/eoserial/src/Parser.h b/src/eoserial/Parser.h old mode 100644 new mode 100755 similarity index 100% rename from eoserial/src/Parser.h rename to src/eoserial/Parser.h diff --git a/eoserial/src/SerialArray.cpp b/src/eoserial/SerialArray.cpp old mode 100644 new mode 100755 similarity index 100% rename from eoserial/src/SerialArray.cpp rename to src/eoserial/SerialArray.cpp diff --git a/eoserial/src/SerialArray.h b/src/eoserial/SerialArray.h old mode 100644 new mode 100755 similarity index 100% rename from eoserial/src/SerialArray.h rename to src/eoserial/SerialArray.h diff --git a/eoserial/src/SerialObject.cpp b/src/eoserial/SerialObject.cpp old mode 100644 new mode 100755 similarity index 100% rename from eoserial/src/SerialObject.cpp rename to src/eoserial/SerialObject.cpp diff --git a/eoserial/src/SerialObject.h b/src/eoserial/SerialObject.h old mode 100644 new mode 100755 similarity index 100% rename from eoserial/src/SerialObject.h rename to src/eoserial/SerialObject.h diff --git a/eoserial/src/SerialString.cpp b/src/eoserial/SerialString.cpp old mode 100644 new mode 100755 similarity index 100% rename from eoserial/src/SerialString.cpp rename to src/eoserial/SerialString.cpp diff --git a/eoserial/src/SerialString.h b/src/eoserial/SerialString.h old mode 100644 new mode 100755 similarity index 100% rename from eoserial/src/SerialString.h rename to src/eoserial/SerialString.h diff --git a/eoserial/src/Serializable.h b/src/eoserial/Serializable.h old mode 100644 new mode 100755 similarity index 100% rename from eoserial/src/Serializable.h rename to src/eoserial/Serializable.h diff --git a/eoserial/src/Traits.h b/src/eoserial/Traits.h old mode 100644 new mode 100755 similarity index 100% rename from eoserial/src/Traits.h rename to src/eoserial/Traits.h diff --git a/eoserial/src/Utils.h b/src/eoserial/Utils.h old mode 100644 new mode 100755 similarity index 100% rename from eoserial/src/Utils.h rename to src/eoserial/Utils.h diff --git a/eoserial/src/eoSerial.h b/src/eoserial/eoSerial.h old mode 100644 new mode 100755 similarity index 100% rename from eoserial/src/eoSerial.h rename to src/eoserial/eoSerial.h diff --git a/src/eoserial/eoserial.h b/src/eoserial/eoserial.h new file mode 100755 index 000000000..fd6b4f7c2 --- /dev/null +++ b/src/eoserial/eoserial.h @@ -0,0 +1,27 @@ +/* +(c) Thales group, 2012 + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; + version 2 of the License. + + 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +Contact: http://eodev.sourceforge.net + +Authors: + +*/ +#ifndef __EOSERIAL_H__ +#define __EOSERIAL_H__ + +#include + +#endif // __EOSERIAL_H__ diff --git a/eoserial/src/json_example b/src/eoserial/json_example old mode 100644 new mode 100755 similarity index 100% rename from eoserial/src/json_example rename to src/eoserial/json_example diff --git a/mo/src/CMakeLists.txt b/src/mo/CMakeLists.txt old mode 100644 new mode 100755 similarity index 76% rename from mo/src/CMakeLists.txt rename to src/mo/CMakeLists.txt index 255559dfb..3bfcb08b7 --- a/mo/src/CMakeLists.txt +++ b/src/mo/CMakeLists.txt @@ -2,15 +2,14 @@ ### 0) Look for headers ###################################################################################### -file(GLOB HDRS *.h mo) -install(FILES ${HDRS} DESTINATION include${INSTALL_SUB_DIR}/mo COMPONENT headers) +install(FILES mo.h DESTINATION ${PROJECT_HDRS_INSTALL_SUBPATH}/${PROJECT_TAG} COMPONENT headers) ###################################################################################### ### 1) Install directories ###################################################################################### install(DIRECTORY acceptCrit algo comparator continuator coolingSchedule eval explorer memory neighborhood perturb problems sampling - DESTINATION include${INSTALL_SUB_DIR}/mo + DESTINATION ${PROJECT_HDRS_INSTALL_SUBPATH}/${PROJECT_TAG}/mo COMPONENT headers FILES_MATCHING PATTERN "*.h" ) diff --git a/mo/src/acceptCrit/moAcceptanceCriterion.h b/src/mo/acceptCrit/moAcceptanceCriterion.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/acceptCrit/moAcceptanceCriterion.h rename to src/mo/acceptCrit/moAcceptanceCriterion.h index 266b30f45..4e3291703 --- a/mo/src/acceptCrit/moAcceptanceCriterion.h +++ b/src/mo/acceptCrit/moAcceptanceCriterion.h @@ -30,8 +30,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moAcceptanceCriterion_h #define _moAcceptanceCriterion_h -#include -#include +#include "../../eo/eoFunctor.h" +#include "../memory/moMemory.h" /** * Abstract class for Acceptance criteria diff --git a/mo/src/acceptCrit/moAlwaysAcceptCrit.h b/src/mo/acceptCrit/moAlwaysAcceptCrit.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/acceptCrit/moAlwaysAcceptCrit.h rename to src/mo/acceptCrit/moAlwaysAcceptCrit.h index 777ef0b18..1f441401e --- a/mo/src/acceptCrit/moAlwaysAcceptCrit.h +++ b/src/mo/acceptCrit/moAlwaysAcceptCrit.h @@ -30,8 +30,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moAlwaysAcceptCrit_h #define _moAlwaysAcceptCrit_h -#include -#include +#include "moAcceptanceCriterion.h" +#include "../memory/moDummyMemory.h" /** * Acceptance Criterion for extreme diversification : always accept new solution diff --git a/mo/src/acceptCrit/moBetterAcceptCrit.h b/src/mo/acceptCrit/moBetterAcceptCrit.h old mode 100644 new mode 100755 similarity index 95% rename from mo/src/acceptCrit/moBetterAcceptCrit.h rename to src/mo/acceptCrit/moBetterAcceptCrit.h index 13f2f867c..1225eed73 --- a/mo/src/acceptCrit/moBetterAcceptCrit.h +++ b/src/mo/acceptCrit/moBetterAcceptCrit.h @@ -30,9 +30,9 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moBetterAcceptCrit_h #define _moBetterAcceptCrit_h -#include -#include -#include +#include "moAcceptanceCriterion.h" +#include "../memory/moDummyMemory.h" +#include "../comparator/moSolComparator.h" /** * Acceptance Criterion for extreme intensification : accept if the new solution is better than previous one diff --git a/mo/src/algo/eoDummyMonOp.h b/src/mo/algo/eoDummyMonOp.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/algo/eoDummyMonOp.h rename to src/mo/algo/eoDummyMonOp.h index dba88fa7f..a3da7d955 --- a/mo/src/algo/eoDummyMonOp.h +++ b/src/mo/algo/eoDummyMonOp.h @@ -35,7 +35,7 @@ #ifndef _moDummyMonOp_h #define _moDummyMonOp_h -#include +#include "../../eo/eoOp.h" /** * The mutation operator that does nothing at all ! diff --git a/mo/src/algo/moDummyLS.h b/src/mo/algo/moDummyLS.h old mode 100644 new mode 100755 similarity index 95% rename from mo/src/algo/moDummyLS.h rename to src/mo/algo/moDummyLS.h index fd24d3575..4ee4d8f96 --- a/mo/src/algo/moDummyLS.h +++ b/src/mo/algo/moDummyLS.h @@ -30,9 +30,9 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moDummyLS_h #define _moDummyLS_h -#include -#include -#include +#include "moLocalSearch.h" +#include "../explorer/moDummyExplorer.h" +#include "../continuator/moTrueContinuator.h" /** * Dummy Local Search: diff --git a/mo/src/algo/moFirstImprHC.h b/src/mo/algo/moFirstImprHC.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/algo/moFirstImprHC.h rename to src/mo/algo/moFirstImprHC.h index 4793ef626..e9761eb28 --- a/mo/src/algo/moFirstImprHC.h +++ b/src/mo/algo/moFirstImprHC.h @@ -30,11 +30,11 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moFirstImprHC_h #define _moFirstImprHC_h -#include -#include -#include -#include -#include +#include "moLocalSearch.h" +#include "../explorer/moFirstImprHCexplorer.h" +#include "../continuator/moTrueContinuator.h" +#include "../eval/moEval.h" +#include "../../eo/eoEvalFunc.h" /** * First improvement HC: diff --git a/mo/src/algo/moILS.h b/src/mo/algo/moILS.h old mode 100644 new mode 100755 similarity index 92% rename from mo/src/algo/moILS.h rename to src/mo/algo/moILS.h index 934335b2d..55aff3b77 --- a/mo/src/algo/moILS.h +++ b/src/mo/algo/moILS.h @@ -30,16 +30,16 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moILS_h #define _moILS_h -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "moLocalSearch.h" +#include "../explorer/moILSexplorer.h" +#include "../continuator/moIterContinuator.h" +#include "../../eo/eoOp.h" +#include "../neighborhood/moDummyNeighbor.h" +#include "../perturb/moMonOpPerturb.h" +#include "../perturb/moPerturbation.h" +#include "../acceptCrit/moAlwaysAcceptCrit.h" +#include "../eval/moEval.h" +#include "../../eo/eoEvalFunc.h" /** diff --git a/mo/src/algo/moLocalSearch.h b/src/mo/algo/moLocalSearch.h old mode 100644 new mode 100755 similarity index 95% rename from mo/src/algo/moLocalSearch.h rename to src/mo/algo/moLocalSearch.h index bf77a8f3f..7b0c8f7fe --- a/mo/src/algo/moLocalSearch.h +++ b/src/mo/algo/moLocalSearch.h @@ -35,11 +35,11 @@ #ifndef _moLocalSearch_h #define _moLocalSearch_h -#include -#include -#include -#include -#include +#include "../explorer/moNeighborhoodExplorer.h" +#include "../continuator/moContinuator.h" +#include "../neighborhood/moNeighborhood.h" +#include "../../eo/eoEvalFunc.h" +#include "../../eo/eoOp.h" /** * the main algorithm of the local search diff --git a/mo/src/algo/moMetropolisHasting.h b/src/mo/algo/moMetropolisHasting.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/algo/moMetropolisHasting.h rename to src/mo/algo/moMetropolisHasting.h index 5b4292459..6dca517f4 --- a/mo/src/algo/moMetropolisHasting.h +++ b/src/mo/algo/moMetropolisHasting.h @@ -30,11 +30,11 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moMetropolisHasting_h #define _moMetropolisHasting_h -#include -#include -#include -#include -#include +#include "moLocalSearch.h" +#include "../explorer/moMetropolisHastingExplorer.h" +#include "../continuator/moTrueContinuator.h" +#include "../eval/moEval.h" +#include "../../eo/eoEvalFunc.h" /** * Metropolis-Hasting local search diff --git a/mo/src/algo/moNeutralHC.h b/src/mo/algo/moNeutralHC.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/algo/moNeutralHC.h rename to src/mo/algo/moNeutralHC.h index 2fd2583d5..16f25c22b --- a/mo/src/algo/moNeutralHC.h +++ b/src/mo/algo/moNeutralHC.h @@ -30,11 +30,11 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moNeutralHC_h #define _moNeutralHC_h -#include -#include -#include -#include -#include +#include "moLocalSearch.h" +#include "../explorer/moNeutralHCexplorer.h" +#include "../continuator/moTrueContinuator.h" +#include "../eval/moEval.h" +#include "../../eo/eoEvalFunc.h" /** * Hill-Climbing local search diff --git a/mo/src/algo/moRandomBestHC.h b/src/mo/algo/moRandomBestHC.h old mode 100644 new mode 100755 similarity index 95% rename from mo/src/algo/moRandomBestHC.h rename to src/mo/algo/moRandomBestHC.h index 3e7a32d62..fc604dfc2 --- a/mo/src/algo/moRandomBestHC.h +++ b/src/mo/algo/moRandomBestHC.h @@ -30,11 +30,11 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moRandomBestHC_h #define _moRandomBestHC_h -#include -#include -#include -#include -#include +#include "moLocalSearch.h" +#include "../explorer/moRandomBestHCexplorer.h" +#include "../continuator/moTrueContinuator.h" +#include "../eval/moEval.h" +#include "../../eo/eoEvalFunc.h" /** * Random Best HC: diff --git a/mo/src/algo/moRandomNeutralWalk.h b/src/mo/algo/moRandomNeutralWalk.h old mode 100644 new mode 100755 similarity index 95% rename from mo/src/algo/moRandomNeutralWalk.h rename to src/mo/algo/moRandomNeutralWalk.h index 4f21588c5..393e31ed0 --- a/mo/src/algo/moRandomNeutralWalk.h +++ b/src/mo/algo/moRandomNeutralWalk.h @@ -30,11 +30,11 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moRandomNeutralWalk_h #define _moRandomNeutralWalk_h -#include -#include -#include -#include -#include +#include "moLocalSearch.h" +#include "../explorer/moRandomNeutralWalkExplorer.h" +#include "../continuator/moTrueContinuator.h" +#include "../eval/moEval.h" +#include "../../eo/eoEvalFunc.h" /** * Random Neutral Walk: diff --git a/mo/src/algo/moRandomSearch.h b/src/mo/algo/moRandomSearch.h old mode 100644 new mode 100755 similarity index 94% rename from mo/src/algo/moRandomSearch.h rename to src/mo/algo/moRandomSearch.h index c0a468d6a..9ee957167 --- a/mo/src/algo/moRandomSearch.h +++ b/src/mo/algo/moRandomSearch.h @@ -30,11 +30,11 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moRandomSearch_h #define _moRandomSearch_h -#include -#include -#include -#include -#include +#include "moLocalSearch.h" +#include "../explorer/moRandomSearchExplorer.h" +#include "../continuator/moTrueContinuator.h" +#include "../../eo/eoInit.h" +#include "../../eo/eoEvalFunc.h" /** * Random Search: diff --git a/mo/src/algo/moRandomWalk.h b/src/mo/algo/moRandomWalk.h old mode 100644 new mode 100755 similarity index 94% rename from mo/src/algo/moRandomWalk.h rename to src/mo/algo/moRandomWalk.h index dafa3f277..6dba1e826 --- a/mo/src/algo/moRandomWalk.h +++ b/src/mo/algo/moRandomWalk.h @@ -30,11 +30,11 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moRandomWalk_h #define _moRandomWalk_h -#include -#include -#include -#include -#include +#include "moLocalSearch.h" +#include "../explorer/moRandomWalkExplorer.h" +#include "../continuator/moIterContinuator.h" +#include "../eval/moEval.h" +#include "../../eo/eoEvalFunc.h" /** * Random Walk: diff --git a/mo/src/algo/moSA.h b/src/mo/algo/moSA.h old mode 100644 new mode 100755 similarity index 94% rename from mo/src/algo/moSA.h rename to src/mo/algo/moSA.h index c126f31fc..fc80f97ca --- a/mo/src/algo/moSA.h +++ b/src/mo/algo/moSA.h @@ -30,13 +30,13 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moSA_h #define _moSA_h -#include -#include -#include -#include -#include -#include -#include +#include "moLocalSearch.h" +#include "../explorer/moSAexplorer.h" +#include "../coolingSchedule/moCoolingSchedule.h" +#include "../coolingSchedule/moSimpleCoolingSchedule.h" +#include "../continuator/moTrueContinuator.h" +#include "../eval/moEval.h" +#include "../../eo/eoEvalFunc.h" /** * Simulated Annealing diff --git a/mo/src/algo/moSimpleHC.h b/src/mo/algo/moSimpleHC.h old mode 100644 new mode 100755 similarity index 95% rename from mo/src/algo/moSimpleHC.h rename to src/mo/algo/moSimpleHC.h index c334d0629..bec1e3c8f --- a/mo/src/algo/moSimpleHC.h +++ b/src/mo/algo/moSimpleHC.h @@ -30,11 +30,11 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moSimpleHC_h #define _moSimpleHC_h -#include -#include -#include -#include -#include +#include "moLocalSearch.h" +#include "../explorer/moSimpleHCexplorer.h" +#include "../continuator/moTrueContinuator.h" +#include "../eval/moEval.h" +#include "../../eo/eoEvalFunc.h" /** * Simple HC: diff --git a/mo/src/algo/moTS.h b/src/mo/algo/moTS.h old mode 100644 new mode 100755 similarity index 92% rename from mo/src/algo/moTS.h rename to src/mo/algo/moTS.h index cd1a6dc57..48c94fde3 --- a/mo/src/algo/moTS.h +++ b/src/mo/algo/moTS.h @@ -30,18 +30,18 @@ #ifndef _moTS_h #define _moTS_h -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "moLocalSearch.h" +#include "../explorer/moTSexplorer.h" +#include "../memory/moNeighborVectorTabuList.h" +#include "../memory/moIntensification.h" +#include "../memory/moDummyIntensification.h" +#include "../memory/moDiversification.h" +#include "../memory/moDummyDiversification.h" +#include "../memory/moAspiration.h" +#include "../memory/moBestImprAspiration.h" +#include "../continuator/moTimeContinuator.h" +#include "../eval/moEval.h" +#include "../../eo/eoEvalFunc.h" /** * Tabu Search diff --git a/mo/src/algo/moVNS.h b/src/mo/algo/moVNS.h old mode 100644 new mode 100755 similarity index 89% rename from mo/src/algo/moVNS.h rename to src/mo/algo/moVNS.h index 050e29593..2385cc9c2 --- a/mo/src/algo/moVNS.h +++ b/src/mo/algo/moVNS.h @@ -30,14 +30,14 @@ #ifndef _moVNS_h #define _moVNS_h -#include -#include -#include -#include +#include "moLocalSearch.h" +#include "../../eo/eoOp.h" +#include "../comparator/moSolComparator.h" +#include "../continuator/moContinuator.h" -#include -#include -#include +#include "../explorer/moVNSexplorer.h" +#include "../neighborhood/moVariableNeighborhoodSelection.h" +#include "../acceptCrit/moAcceptanceCriterion.h" /** diff --git a/mo/src/comparator/moComparator.h b/src/mo/comparator/moComparator.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/comparator/moComparator.h rename to src/mo/comparator/moComparator.h index 153e39422..fbe70c822 --- a/mo/src/comparator/moComparator.h +++ b/src/mo/comparator/moComparator.h @@ -35,8 +35,8 @@ #ifndef _moComparator_h #define _moComparator_h -#include -#include +#include "../../eo/EO.h" +#include "../../eo/eoFunctor.h" /** diff --git a/mo/src/comparator/moEqualNeighborComparator.h b/src/mo/comparator/moEqualNeighborComparator.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/comparator/moEqualNeighborComparator.h rename to src/mo/comparator/moEqualNeighborComparator.h index 6ea148df0..b54aee0ea --- a/mo/src/comparator/moEqualNeighborComparator.h +++ b/src/mo/comparator/moEqualNeighborComparator.h @@ -35,8 +35,8 @@ #ifndef _moEqualNeighborComparator_h #define _moEqualNeighborComparator_h -#include -#include +#include "../neighborhood/moNeighbor.h" +#include "moNeighborComparator.h" /** * Comparator of two neighbors : a neighbor is better if the fitness is higher or equal diff --git a/mo/src/comparator/moEqualSolComparator.h b/src/mo/comparator/moEqualSolComparator.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/comparator/moEqualSolComparator.h rename to src/mo/comparator/moEqualSolComparator.h index 0764d4e21..174bc5a62 --- a/mo/src/comparator/moEqualSolComparator.h +++ b/src/mo/comparator/moEqualSolComparator.h @@ -35,7 +35,7 @@ #ifndef _moEqualSolComparator_h #define _moEqualSolComparator_h -#include +#include "moSolComparator.h" /** * Comparator of two solutions : a neighbor is better if the fitness is higher or equal diff --git a/mo/src/comparator/moEqualSolNeighborComparator.h b/src/mo/comparator/moEqualSolNeighborComparator.h old mode 100644 new mode 100755 similarity index 95% rename from mo/src/comparator/moEqualSolNeighborComparator.h rename to src/mo/comparator/moEqualSolNeighborComparator.h index 6f706dc73..2b6ef6b93 --- a/mo/src/comparator/moEqualSolNeighborComparator.h +++ b/src/mo/comparator/moEqualSolNeighborComparator.h @@ -35,11 +35,11 @@ #ifndef _moEqualSolNeighborComparator_h #define _moEqualSolNeighborComparator_h -#include -#include +#include "../../eo/EO.h" +#include "../../eo/eoFunctor.h" -#include -#include +#include "../neighborhood/moNeighbor.h" +#include "moSolNeighborComparator.h" /** diff --git a/mo/src/comparator/moNeighborComparator.h b/src/mo/comparator/moNeighborComparator.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/comparator/moNeighborComparator.h rename to src/mo/comparator/moNeighborComparator.h index 869adbb5c..6e8d06dcf --- a/mo/src/comparator/moNeighborComparator.h +++ b/src/mo/comparator/moNeighborComparator.h @@ -35,8 +35,8 @@ #ifndef _moNeighborComparator_h #define _moNeighborComparator_h -#include -#include +#include "../neighborhood/moNeighbor.h" +#include "moComparator.h" /** * Comparator of two neighbors diff --git a/mo/src/comparator/moSolComparator.h b/src/mo/comparator/moSolComparator.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/comparator/moSolComparator.h rename to src/mo/comparator/moSolComparator.h index d7f30c2f8..d1b638c92 --- a/mo/src/comparator/moSolComparator.h +++ b/src/mo/comparator/moSolComparator.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moSolComparator_h #define _moSolComparator_h -#include +#include "moComparator.h" /** * Comparator of two solutions diff --git a/mo/src/comparator/moSolNeighborComparator.h b/src/mo/comparator/moSolNeighborComparator.h old mode 100644 new mode 100755 similarity index 95% rename from mo/src/comparator/moSolNeighborComparator.h rename to src/mo/comparator/moSolNeighborComparator.h index 2275a6494..ca4cb4651 --- a/mo/src/comparator/moSolNeighborComparator.h +++ b/src/mo/comparator/moSolNeighborComparator.h @@ -35,11 +35,11 @@ #ifndef _moSolNeighborComparator_h #define _moSolNeighborComparator_h -#include -#include +#include "../../eo/EO.h" +#include "../../eo/eoFunctor.h" -#include -#include +#include "../neighborhood/moNeighbor.h" +#include "moComparator.h" /** diff --git a/mo/src/continuator/moAverageFitnessNeighborStat.h b/src/mo/continuator/moAverageFitnessNeighborStat.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/continuator/moAverageFitnessNeighborStat.h rename to src/mo/continuator/moAverageFitnessNeighborStat.h index 4c268d6d3..932e7376f --- a/mo/src/continuator/moAverageFitnessNeighborStat.h +++ b/src/mo/continuator/moAverageFitnessNeighborStat.h @@ -35,8 +35,8 @@ #ifndef moAverageFitnessNeighborStat_h #define moAverageFitnessNeighborStat_h -#include -#include +#include "moStat.h" +#include "moNeighborhoodStat.h" /** * From moNeighborhoodStat, to compute the average of fitness in the neighborhood diff --git a/mo/src/continuator/moBestFitnessStat.h b/src/mo/continuator/moBestFitnessStat.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/continuator/moBestFitnessStat.h rename to src/mo/continuator/moBestFitnessStat.h index 192919c88..dfc7bd061 --- a/mo/src/continuator/moBestFitnessStat.h +++ b/src/mo/continuator/moBestFitnessStat.h @@ -35,7 +35,7 @@ #ifndef moBestFitnessStat_h #define moBestFitnessStat_h -#include +#include "moStat.h" /** * The statistic which save the best solution found during the search diff --git a/mo/src/continuator/moBestNoImproveContinuator.h b/src/mo/continuator/moBestNoImproveContinuator.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/continuator/moBestNoImproveContinuator.h rename to src/mo/continuator/moBestNoImproveContinuator.h index 86981bef4..0168361ef --- a/mo/src/continuator/moBestNoImproveContinuator.h +++ b/src/mo/continuator/moBestNoImproveContinuator.h @@ -30,9 +30,9 @@ #ifndef _moBestNoImproveContinuator_h #define _moBestNoImproveContinuator_h -#include -#include -#include +#include "moContinuator.h" +#include "../neighborhood/moNeighborhood.h" +#include "../comparator/moSolComparator.h" /** * Stop when the best solution cannot be improved diff --git a/mo/src/continuator/moBestSoFarStat.h b/src/mo/continuator/moBestSoFarStat.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/continuator/moBestSoFarStat.h rename to src/mo/continuator/moBestSoFarStat.h index fa5797139..3c8433405 --- a/mo/src/continuator/moBestSoFarStat.h +++ b/src/mo/continuator/moBestSoFarStat.h @@ -35,7 +35,7 @@ #ifndef moBestSoFarStat_h #define moBestSoFarStat_h -#include +#include "moStat.h" /** * The statistic which save the best solution found during the search diff --git a/mo/src/continuator/moBooleanStat.h b/src/mo/continuator/moBooleanStat.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/continuator/moBooleanStat.h rename to src/mo/continuator/moBooleanStat.h index a098efc23..f264ccb22 --- a/mo/src/continuator/moBooleanStat.h +++ b/src/mo/continuator/moBooleanStat.h @@ -35,7 +35,7 @@ #ifndef moBooleanStat_h #define moBooleanStat_h -#include +#include "moStat.h" /** * The statistic gives from a boolean variable diff --git a/mo/src/continuator/moCheckpoint.h b/src/mo/continuator/moCheckpoint.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/continuator/moCheckpoint.h rename to src/mo/continuator/moCheckpoint.h index 37b5cd610..76ec95f26 --- a/mo/src/continuator/moCheckpoint.h +++ b/src/mo/continuator/moCheckpoint.h @@ -35,12 +35,12 @@ #ifndef moCheckpoint_h #define moCheckpoint_h -#include -#include -#include -#include -#include -#include +#include "moContinuator.h" +#include "../../eo/utils/eoMonitor.h" +#include "moStatBase.h" +#include "../../eo/utils/eoUpdater.h" +#include "moUpdater.h" +#include "../neighborhood/moNeighborhood.h" /** * Continuator allowing to add others (continuators, stats, monitors or updaters) diff --git a/mo/src/continuator/moCombinedContinuator.h b/src/mo/continuator/moCombinedContinuator.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/continuator/moCombinedContinuator.h rename to src/mo/continuator/moCombinedContinuator.h index 7533bd4fa..420fb1aef --- a/mo/src/continuator/moCombinedContinuator.h +++ b/src/mo/continuator/moCombinedContinuator.h @@ -30,8 +30,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moCombinedContinuator_h #define _moCombinedContinuator_h -#include -#include +#include "moContinuator.h" +#include "../neighborhood/moNeighborhood.h" #include /** diff --git a/mo/src/continuator/moContinuator.h b/src/mo/continuator/moContinuator.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/continuator/moContinuator.h rename to src/mo/continuator/moContinuator.h index cec268038..b8659f289 --- a/mo/src/continuator/moContinuator.h +++ b/src/mo/continuator/moContinuator.h @@ -35,8 +35,8 @@ #ifndef _moContinuator_h #define _moContinuator_h -#include -#include +#include "../../eo/eoFunctor.h" +#include "../neighborhood/moNeighborhood.h" /** * To make specific continuator from a solution diff --git a/mo/src/continuator/moCounterMonitorSaver.h b/src/mo/continuator/moCounterMonitorSaver.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/continuator/moCounterMonitorSaver.h rename to src/mo/continuator/moCounterMonitorSaver.h index f57e05d2d..19316536d --- a/mo/src/continuator/moCounterMonitorSaver.h +++ b/src/mo/continuator/moCounterMonitorSaver.h @@ -35,8 +35,8 @@ #ifndef moCounterMonitorSaver_h #define moCounterMonitorSaver_h -#include -#include +#include "../../eo/utils/eoUpdater.h" +#include "../../eo/utils/eoMonitor.h" /** * Class calling monitors with a given frequency diff --git a/mo/src/continuator/moCounterStat.h b/src/mo/continuator/moCounterStat.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/continuator/moCounterStat.h rename to src/mo/continuator/moCounterStat.h index 85534e67e..680e8b399 --- a/mo/src/continuator/moCounterStat.h +++ b/src/mo/continuator/moCounterStat.h @@ -35,7 +35,7 @@ #ifndef moCounterStat_h #define moCounterStat_h -#include +#include "moStat.h" /** * The statistic gives the number of iteration diff --git a/mo/src/continuator/moDistanceStat.h b/src/mo/continuator/moDistanceStat.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/continuator/moDistanceStat.h rename to src/mo/continuator/moDistanceStat.h index 06cfe0007..6ee9cedaa --- a/mo/src/continuator/moDistanceStat.h +++ b/src/mo/continuator/moDistanceStat.h @@ -35,8 +35,8 @@ #ifndef moDistanceStat_h #define moDistanceStat_h -#include -#include +#include "../../eo/utils/eoDistance.h" +#include "moStat.h" /** * The statistic gives the distance to a reference solution diff --git a/mo/src/continuator/moEvalsContinuator.h b/src/mo/continuator/moEvalsContinuator.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/continuator/moEvalsContinuator.h rename to src/mo/continuator/moEvalsContinuator.h index 1a020da6c..3a7a519cc --- a/mo/src/continuator/moEvalsContinuator.h +++ b/src/mo/continuator/moEvalsContinuator.h @@ -30,10 +30,10 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moEvalsContinuator_h #define _moEvalsContinuator_h -#include -#include -#include -#include +#include "moContinuator.h" +#include "../neighborhood/moNeighborhood.h" +#include "../../eo/eoEvalFuncCounter.h" +#include "../eval/moEvalCounter.h" /** * Continue until a maximum fixed number of full evaluation and neighbor evaluation is reached (total number of evaluation = full evaluation + incremental evaluation) diff --git a/mo/src/continuator/moFitContinuator.h b/src/mo/continuator/moFitContinuator.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/continuator/moFitContinuator.h rename to src/mo/continuator/moFitContinuator.h index 03ac6b686..02628047d --- a/mo/src/continuator/moFitContinuator.h +++ b/src/mo/continuator/moFitContinuator.h @@ -30,8 +30,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moFitContinuator_h #define _moFitContinuator_h -#include -#include +#include "moContinuator.h" +#include "../neighborhood/moNeighborhood.h" /** * Continue until a maximum fitness is reached diff --git a/mo/src/continuator/moFitnessStat.h b/src/mo/continuator/moFitnessStat.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/continuator/moFitnessStat.h rename to src/mo/continuator/moFitnessStat.h index d4f2f4bea..23d1f5416 --- a/mo/src/continuator/moFitnessStat.h +++ b/src/mo/continuator/moFitnessStat.h @@ -35,7 +35,7 @@ #ifndef moFitnessStat_h #define moFitnessStat_h -#include +#include "moStat.h" /** * Stat given the fitness of the current solution diff --git a/mo/src/continuator/moFullEvalContinuator.h b/src/mo/continuator/moFullEvalContinuator.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/continuator/moFullEvalContinuator.h rename to src/mo/continuator/moFullEvalContinuator.h index 5239c1dea..af348ecc3 --- a/mo/src/continuator/moFullEvalContinuator.h +++ b/src/mo/continuator/moFullEvalContinuator.h @@ -30,9 +30,9 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moFullEvalContinuator_h #define _moFullEvalContinuator_h -#include -#include -#include +#include "moContinuator.h" +#include "../neighborhood/moNeighborhood.h" +#include "../../eo/eoEvalFuncCounter.h" /** * Continue until a maximum fixed number of full evaluation is reached diff --git a/mo/src/continuator/moIterContinuator.h b/src/mo/continuator/moIterContinuator.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/continuator/moIterContinuator.h rename to src/mo/continuator/moIterContinuator.h index f10db39f5..fab530e9a --- a/mo/src/continuator/moIterContinuator.h +++ b/src/mo/continuator/moIterContinuator.h @@ -30,8 +30,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moIterContinuator_h #define _moIterContinuator_h -#include -#include +#include "moContinuator.h" +#include "../neighborhood/moNeighborhood.h" /** * Continue until a maximum fixed number of iterations is reached diff --git a/mo/src/continuator/moMaxNeighborStat.h b/src/mo/continuator/moMaxNeighborStat.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/continuator/moMaxNeighborStat.h rename to src/mo/continuator/moMaxNeighborStat.h index d0dbd8136..ec9d01faf --- a/mo/src/continuator/moMaxNeighborStat.h +++ b/src/mo/continuator/moMaxNeighborStat.h @@ -35,9 +35,9 @@ #ifndef moMaxNeighborStat_h #define moMaxNeighborStat_h -#include -#include -#include +#include "moStat.h" +#include "moNeighborhoodStat.h" +#include "../neighborhood/moNeighborhood.h" /** * From moNeighborhoodStat, to compute the max fitness in the neighborhood diff --git a/mo/src/continuator/moMinNeighborStat.h b/src/mo/continuator/moMinNeighborStat.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/continuator/moMinNeighborStat.h rename to src/mo/continuator/moMinNeighborStat.h index bd1cae1f9..1a952292a --- a/mo/src/continuator/moMinNeighborStat.h +++ b/src/mo/continuator/moMinNeighborStat.h @@ -35,9 +35,9 @@ #ifndef moMinNeighborStat_h #define moMinNeighborStat_h -#include -#include -#include +#include "moStat.h" +#include "moNeighborhoodStat.h" +#include "../neighborhood/moNeighborhood.h" /** * From moNeighborhoodStat, to compute the min fitness in the neighborhood diff --git a/mo/src/continuator/moMinusOneCounterStat.h b/src/mo/continuator/moMinusOneCounterStat.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/continuator/moMinusOneCounterStat.h rename to src/mo/continuator/moMinusOneCounterStat.h index dfb9be881..3eba9dd73 --- a/mo/src/continuator/moMinusOneCounterStat.h +++ b/src/mo/continuator/moMinusOneCounterStat.h @@ -35,7 +35,7 @@ #ifndef moMinusOneCounterStat_h #define moMinusOneCounterStat_h -#include +#include "moStat.h" /** * The statistic gives the number of iteration minus 1 diff --git a/mo/src/continuator/moNbInfNeighborStat.h b/src/mo/continuator/moNbInfNeighborStat.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/continuator/moNbInfNeighborStat.h rename to src/mo/continuator/moNbInfNeighborStat.h index 1fa6783bb..724739e66 --- a/mo/src/continuator/moNbInfNeighborStat.h +++ b/src/mo/continuator/moNbInfNeighborStat.h @@ -35,9 +35,9 @@ #ifndef moNbInfNeighborStat_h #define moNbInfNeighborStat_h -#include -#include -#include +#include "moStat.h" +#include "moNeighborhoodStat.h" +#include "../neighborhood/moNeighborhood.h" /** * From moNeighborhoodStat, to compute the number of solutions in the neighborhood diff --git a/mo/src/continuator/moNbSupNeighborStat.h b/src/mo/continuator/moNbSupNeighborStat.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/continuator/moNbSupNeighborStat.h rename to src/mo/continuator/moNbSupNeighborStat.h index 027d8f1e8..af5f12874 --- a/mo/src/continuator/moNbSupNeighborStat.h +++ b/src/mo/continuator/moNbSupNeighborStat.h @@ -35,9 +35,9 @@ #ifndef moNbSupNeighborStat_h #define moNbSupNeighborStat_h -#include -#include -#include +#include "moStat.h" +#include "moNeighborhoodStat.h" +#include "../neighborhood/moNeighborhood.h" /** * From moNeighborhoodStat, to compute the number of solutions in the neighborhood diff --git a/mo/src/continuator/moNeighborBestStat.h b/src/mo/continuator/moNeighborBestStat.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/continuator/moNeighborBestStat.h rename to src/mo/continuator/moNeighborBestStat.h index 7aa4b2ed6..14f76ec8d --- a/mo/src/continuator/moNeighborBestStat.h +++ b/src/mo/continuator/moNeighborBestStat.h @@ -35,12 +35,12 @@ #ifndef moNeighborBestStat_h #define moNeighborBestStat_h -#include +#include "moStat.h" -#include -#include -#include -#include +#include "../explorer/moNeighborhoodExplorer.h" +#include "../comparator/moNeighborComparator.h" +#include "../comparator/moSolNeighborComparator.h" +#include "../neighborhood/moNeighborhood.h" /** * Compute the fitness of the best solution among k neighbor or all neighbors diff --git a/mo/src/continuator/moNeighborEvalContinuator.h b/src/mo/continuator/moNeighborEvalContinuator.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/continuator/moNeighborEvalContinuator.h rename to src/mo/continuator/moNeighborEvalContinuator.h index ba3a41a9d..9e0be7d39 --- a/mo/src/continuator/moNeighborEvalContinuator.h +++ b/src/mo/continuator/moNeighborEvalContinuator.h @@ -30,9 +30,9 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moNeighborEvalContinuator_h #define _moNeighborEvalContinuator_h -#include -#include -#include +#include "moContinuator.h" +#include "../neighborhood/moNeighborhood.h" +#include "../eval/moEvalCounter.h" /** * Continue until a maximum fixed number of neighbor evaluation is reached diff --git a/mo/src/continuator/moNeighborFitnessStat.h b/src/mo/continuator/moNeighborFitnessStat.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/continuator/moNeighborFitnessStat.h rename to src/mo/continuator/moNeighborFitnessStat.h index ab0d3bcb9..10556bc49 --- a/mo/src/continuator/moNeighborFitnessStat.h +++ b/src/mo/continuator/moNeighborFitnessStat.h @@ -35,9 +35,9 @@ #ifndef moNeighborFitnessStat_h #define moNeighborFitnessStat_h -#include -#include -#include +#include "moStat.h" +#include "../neighborhood/moNeighborhood.h" +#include "../eval/moEval.h" /** * Compute the fitness of one random neighbor diff --git a/mo/src/continuator/moNeighborhoodStat.h b/src/mo/continuator/moNeighborhoodStat.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/continuator/moNeighborhoodStat.h rename to src/mo/continuator/moNeighborhoodStat.h index c3fdc278e..e5d435fbe --- a/mo/src/continuator/moNeighborhoodStat.h +++ b/src/mo/continuator/moNeighborhoodStat.h @@ -35,12 +35,12 @@ #ifndef moNeighborhoodStat_h #define moNeighborhoodStat_h -#include +#include "moStat.h" -#include -#include -#include -#include +#include "../explorer/moNeighborhoodExplorer.h" +#include "../comparator/moNeighborComparator.h" +#include "../comparator/moSolNeighborComparator.h" +#include "../neighborhood/moNeighborhood.h" /** * All possible statitic on the neighborhood fitness diff --git a/mo/src/continuator/moNeutralDegreeNeighborStat.h b/src/mo/continuator/moNeutralDegreeNeighborStat.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/continuator/moNeutralDegreeNeighborStat.h rename to src/mo/continuator/moNeutralDegreeNeighborStat.h index 88ab663b4..805407ba0 --- a/mo/src/continuator/moNeutralDegreeNeighborStat.h +++ b/src/mo/continuator/moNeutralDegreeNeighborStat.h @@ -35,8 +35,8 @@ #ifndef moNeutralDegreeNeighborStat_h #define moNeutralDegreeNeighborStat_h -#include -#include +#include "moStat.h" +#include "moNeighborhoodStat.h" /** * From moNeighborhoodStat, to compute the neutral degree of the solution diff --git a/mo/src/continuator/moSecondMomentNeighborStat.h b/src/mo/continuator/moSecondMomentNeighborStat.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/continuator/moSecondMomentNeighborStat.h rename to src/mo/continuator/moSecondMomentNeighborStat.h index c5b1009f7..06bac1d40 --- a/mo/src/continuator/moSecondMomentNeighborStat.h +++ b/src/mo/continuator/moSecondMomentNeighborStat.h @@ -35,8 +35,8 @@ #ifndef moSecondMomentNeighborStat_h #define moSecondMomentNeighborStat_h -#include -#include +#include "moStat.h" +#include "moNeighborhoodStat.h" /** * From moNeighborhoodStat, to compute the average and the standard deviation of fitness in the neighborhood diff --git a/mo/src/continuator/moSizeNeighborStat.h b/src/mo/continuator/moSizeNeighborStat.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/continuator/moSizeNeighborStat.h rename to src/mo/continuator/moSizeNeighborStat.h index 6e7ae60f1..d7ef2494a --- a/mo/src/continuator/moSizeNeighborStat.h +++ b/src/mo/continuator/moSizeNeighborStat.h @@ -35,8 +35,8 @@ #ifndef moSizeNeighborStat_h #define moSizeNeighborStat_h -#include -#include +#include "moStat.h" +#include "moNeighborhoodStat.h" /** * From moNeighborhoodStat, to compute the number of solutions in the neighborhood diff --git a/mo/src/continuator/moSolutionStat.h b/src/mo/continuator/moSolutionStat.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/continuator/moSolutionStat.h rename to src/mo/continuator/moSolutionStat.h index 17a997e25..b5be5c78f --- a/mo/src/continuator/moSolutionStat.h +++ b/src/mo/continuator/moSolutionStat.h @@ -35,7 +35,7 @@ #ifndef moSolutionStat_h #define moSolutionStat_h -#include +#include "moStat.h" /** * The statistic which only give the current solution. diff --git a/mo/src/continuator/moStat.h b/src/mo/continuator/moStat.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/continuator/moStat.h rename to src/mo/continuator/moStat.h index b986166f3..903816440 --- a/mo/src/continuator/moStat.h +++ b/src/mo/continuator/moStat.h @@ -35,7 +35,7 @@ #ifndef moStat_h #define moStat_h -#include +#include "moStatBase.h" /** * The actual class that will be used as base for all statistics diff --git a/mo/src/continuator/moStatBase.h b/src/mo/continuator/moStatBase.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/continuator/moStatBase.h rename to src/mo/continuator/moStatBase.h index f0553ee1f..af4cc86bd --- a/mo/src/continuator/moStatBase.h +++ b/src/mo/continuator/moStatBase.h @@ -35,8 +35,8 @@ #ifndef moStatBase_h #define moStatBase_h -#include -#include +#include "../../eo/eoFunctor.h" +#include "../../eo/utils/eoParam.h" /** * Base class for all statistics that need to be calculated diff --git a/mo/src/continuator/moStatFromStat.h b/src/mo/continuator/moStatFromStat.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/continuator/moStatFromStat.h rename to src/mo/continuator/moStatFromStat.h index e8da634ad..599e7b6c7 --- a/mo/src/continuator/moStatFromStat.h +++ b/src/mo/continuator/moStatFromStat.h @@ -35,7 +35,7 @@ #ifndef moStatFromStat_h #define moStatFromStat_h -#include +#include "moStat.h" /** * The statistic which copy another statistic diff --git a/mo/src/continuator/moStdFitnessNeighborStat.h b/src/mo/continuator/moStdFitnessNeighborStat.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/continuator/moStdFitnessNeighborStat.h rename to src/mo/continuator/moStdFitnessNeighborStat.h index b9a547954..360747dd9 --- a/mo/src/continuator/moStdFitnessNeighborStat.h +++ b/src/mo/continuator/moStdFitnessNeighborStat.h @@ -35,8 +35,8 @@ #ifndef moStdFitnessNeighborStat_h #define moStdFitnessNeighborStat_h -#include -#include +#include "moStat.h" +#include "moNeighborhoodStat.h" /** * From moNeighborhoodStat, to compute the average and the standard deviation of fitness in the neighborhood diff --git a/mo/src/continuator/moTimeContinuator.h b/src/mo/continuator/moTimeContinuator.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/continuator/moTimeContinuator.h rename to src/mo/continuator/moTimeContinuator.h index 513928000..2d47313ac --- a/mo/src/continuator/moTimeContinuator.h +++ b/src/mo/continuator/moTimeContinuator.h @@ -32,7 +32,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include -#include +#include "moContinuator.h" /** * Termination condition until a running time is reached. diff --git a/mo/src/continuator/moTrueContinuator.h b/src/mo/continuator/moTrueContinuator.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/continuator/moTrueContinuator.h rename to src/mo/continuator/moTrueContinuator.h index 88feb91a3..d83af6ea6 --- a/mo/src/continuator/moTrueContinuator.h +++ b/src/mo/continuator/moTrueContinuator.h @@ -35,7 +35,7 @@ #ifndef _moTrueContinuator_h #define _moTrueContinuator_h -#include +#include "moContinuator.h" /** * Continuator always return True diff --git a/mo/src/continuator/moUnsignedStat.h b/src/mo/continuator/moUnsignedStat.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/continuator/moUnsignedStat.h rename to src/mo/continuator/moUnsignedStat.h index c1f8342cd..bc1eba9c3 --- a/mo/src/continuator/moUnsignedStat.h +++ b/src/mo/continuator/moUnsignedStat.h @@ -35,7 +35,7 @@ #ifndef moUnsignedStat_h #define moUnsignedStat_h -#include +#include "moStat.h" /** * The statistic gives from a boolean variable diff --git a/mo/src/continuator/moUpdater.h b/src/mo/continuator/moUpdater.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/continuator/moUpdater.h rename to src/mo/continuator/moUpdater.h index 0be846d38..8d20a3da7 --- a/mo/src/continuator/moUpdater.h +++ b/src/mo/continuator/moUpdater.h @@ -35,8 +35,8 @@ #ifndef moUpdater_h #define moUpdater_h -#include -#include +#include "../../eo/eoFunctor.h" +#include "../../eo/utils/eoParam.h" /** * Base class for to update what ever you want diff --git a/mo/src/continuator/moValueParamContinuator.h b/src/mo/continuator/moValueParamContinuator.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/continuator/moValueParamContinuator.h rename to src/mo/continuator/moValueParamContinuator.h index 3fade146c..a1f5e6904 --- a/mo/src/continuator/moValueParamContinuator.h +++ b/src/mo/continuator/moValueParamContinuator.h @@ -30,9 +30,9 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moValueParamContinuator_h #define _moValueParamContinuator_h -#include -//#include -#include +#include "moContinuator.h" +//#include "../neighborhood/moNeighborhood.h" +#include "../../eo/utils/eoParam.h" /** * Continue until a maximum fixed number of full evaluation is reached diff --git a/mo/src/continuator/moValueStat.h b/src/mo/continuator/moValueStat.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/continuator/moValueStat.h rename to src/mo/continuator/moValueStat.h index 6c8806e87..588e904f5 --- a/mo/src/continuator/moValueStat.h +++ b/src/mo/continuator/moValueStat.h @@ -35,8 +35,8 @@ #ifndef moValueStat_h #define moValueStat_h -#include -#include +#include "moStat.h" +#include "../../eo/utils/eoParam.h" /** * The statistic gives the number of iteration diff --git a/mo/src/continuator/moVectorMonitor.h b/src/mo/continuator/moVectorMonitor.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/continuator/moVectorMonitor.h rename to src/mo/continuator/moVectorMonitor.h index b04eb8adf..f9013f172 --- a/mo/src/continuator/moVectorMonitor.h +++ b/src/mo/continuator/moVectorMonitor.h @@ -36,8 +36,8 @@ #define moVectorMonitor_h #include -#include -#include +#include "../../eo/utils/eoMonitor.h" +#include "../../eo/utils/eoParam.h" /** * To save the values of the same type (double, unsigned int, or EOT) in a vector diff --git a/mo/src/coolingSchedule/moCoolingSchedule.h b/src/mo/coolingSchedule/moCoolingSchedule.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/coolingSchedule/moCoolingSchedule.h rename to src/mo/coolingSchedule/moCoolingSchedule.h index 9b65cf1b5..820402e45 --- a/mo/src/coolingSchedule/moCoolingSchedule.h +++ b/src/mo/coolingSchedule/moCoolingSchedule.h @@ -35,7 +35,7 @@ #ifndef _moCoolingSchedule_h #define _moCoolingSchedule_h -#include +#include "../../eo/eoFunctor.h" /** * Cooling Schedule of the temperature in the simulated algorithm diff --git a/mo/src/coolingSchedule/moDynSpanCoolingSchedule.h b/src/mo/coolingSchedule/moDynSpanCoolingSchedule.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/coolingSchedule/moDynSpanCoolingSchedule.h rename to src/mo/coolingSchedule/moDynSpanCoolingSchedule.h index 34b386312..ae5aae5ba --- a/mo/src/coolingSchedule/moDynSpanCoolingSchedule.h +++ b/src/mo/coolingSchedule/moDynSpanCoolingSchedule.h @@ -35,7 +35,7 @@ #ifndef _moDynSpanCoolingSchedule_h #define _moDynSpanCoolingSchedule_h -#include +#include "moCoolingSchedule.h" /** * Cooling Schedule of the temperature in the simulated algorithm diff --git a/mo/src/coolingSchedule/moSimpleCoolingSchedule.h b/src/mo/coolingSchedule/moSimpleCoolingSchedule.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/coolingSchedule/moSimpleCoolingSchedule.h rename to src/mo/coolingSchedule/moSimpleCoolingSchedule.h index 5ff4f4920..f3b7b8ae8 --- a/mo/src/coolingSchedule/moSimpleCoolingSchedule.h +++ b/src/mo/coolingSchedule/moSimpleCoolingSchedule.h @@ -35,7 +35,7 @@ #ifndef _moSimpleCoolingSchedule_h #define _moSimpleCoolingSchedule_h -#include +#include "moCoolingSchedule.h" /** * Classical cooling Schedule of the temperature in the simulated algorithm with initial and final temperature and a factor of decrease diff --git a/mo/src/eval/moDoubleIncrEvaluation.h b/src/mo/eval/moDoubleIncrEvaluation.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/eval/moDoubleIncrEvaluation.h rename to src/mo/eval/moDoubleIncrEvaluation.h index c7027e2b8..cf6ec57be --- a/mo/src/eval/moDoubleIncrEvaluation.h +++ b/src/mo/eval/moDoubleIncrEvaluation.h @@ -35,8 +35,8 @@ #ifndef moDoubleIncrEvaluation_H #define moDoubleIncrEvaluation_H -#include -#include +#include "moNeighborhoodEvaluation.h" +#include "../continuator/moUpdater.h" /** * Base class for the double incremental evaluation of the neighborhood diff --git a/mo/src/eval/moDoubleIncrNeighborhoodEval.h b/src/mo/eval/moDoubleIncrNeighborhoodEval.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/eval/moDoubleIncrNeighborhoodEval.h rename to src/mo/eval/moDoubleIncrNeighborhoodEval.h index 61ef09176..3cb11c684 --- a/mo/src/eval/moDoubleIncrNeighborhoodEval.h +++ b/src/mo/eval/moDoubleIncrNeighborhoodEval.h @@ -35,8 +35,8 @@ #ifndef moDoubleIncrNeighborhoodEval_H #define moDoubleIncrNeighborhoodEval_H -#include -#include +#include "moEval.h" +#include "moDoubleIncrEvaluation.h" /** * Evaluation of a neighbor from the full evaluation f the neighborhood diff --git a/mo/src/eval/moDummyEval.h b/src/mo/eval/moDummyEval.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/eval/moDummyEval.h rename to src/mo/eval/moDummyEval.h index 2809f12a3..424407046 --- a/mo/src/eval/moDummyEval.h +++ b/src/mo/eval/moDummyEval.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moDummyEval_h #define _moDummyEval_h -#include +#include "moEval.h" /** * Dummy Evaluation function diff --git a/mo/src/eval/moEval.h b/src/mo/eval/moEval.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/eval/moEval.h rename to src/mo/eval/moEval.h index 835a8ae8e..2046ab68b --- a/mo/src/eval/moEval.h +++ b/src/mo/eval/moEval.h @@ -35,7 +35,7 @@ #ifndef moEval_H #define moEval_H -#include +#include "../../eo/eoFunctor.h" /** * Abstract class for the evaluation diff --git a/mo/src/eval/moEvalCounter.h b/src/mo/eval/moEvalCounter.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/eval/moEvalCounter.h rename to src/mo/eval/moEvalCounter.h index e795f4384..2dbb20081 --- a/mo/src/eval/moEvalCounter.h +++ b/src/mo/eval/moEvalCounter.h @@ -30,8 +30,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moEvalCounter_h #define _moEvalCounter_h -#include -#include +#include "moEval.h" +#include "../../eo/utils/eoParam.h" /** Counts the number of neighbor evaluations actually performed, thus checks first diff --git a/mo/src/eval/moFullEvalByCopy.h b/src/mo/eval/moFullEvalByCopy.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/eval/moFullEvalByCopy.h rename to src/mo/eval/moFullEvalByCopy.h index 701a7b951..b7aa76d86 --- a/mo/src/eval/moFullEvalByCopy.h +++ b/src/mo/eval/moFullEvalByCopy.h @@ -35,8 +35,8 @@ #ifndef moFullEvalByCopy_H #define moFullEvalByCopy_H -#include -#include +#include "../../eo/eoEvalFunc.h" +#include "moEval.h" /** * Evaluation by copy diff --git a/mo/src/eval/moFullEvalByModif.h b/src/mo/eval/moFullEvalByModif.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/eval/moFullEvalByModif.h rename to src/mo/eval/moFullEvalByModif.h index 80ee94d1c..585023d69 --- a/mo/src/eval/moFullEvalByModif.h +++ b/src/mo/eval/moFullEvalByModif.h @@ -35,8 +35,8 @@ #ifndef moFullEvalByModif_H #define moFullEvalByModif_H -#include -#include +#include "../../eo/eoEvalFunc.h" +#include "moEval.h" /** * Full evaluation to use with a moBackableNeighbor diff --git a/mo/src/eval/moNeighborhoodEvaluation.h b/src/mo/eval/moNeighborhoodEvaluation.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/eval/moNeighborhoodEvaluation.h rename to src/mo/eval/moNeighborhoodEvaluation.h index 92274c133..a2ad6d675 --- a/mo/src/eval/moNeighborhoodEvaluation.h +++ b/src/mo/eval/moNeighborhoodEvaluation.h @@ -35,7 +35,7 @@ #ifndef moNeighborhoodEvaluation_H #define moNeighborhoodEvaluation_H -#include +#include "../../eo/eoFunctor.h" /** * Abstract class for the evaluation diff --git a/mo/src/explorer/moDummyExplorer.h b/src/mo/explorer/moDummyExplorer.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/explorer/moDummyExplorer.h rename to src/mo/explorer/moDummyExplorer.h index 3d58dbb08..62c94fd09 --- a/mo/src/explorer/moDummyExplorer.h +++ b/src/mo/explorer/moDummyExplorer.h @@ -35,7 +35,7 @@ #ifndef _moDummyExplorer_h #define _moDummyExplorer_h -#include +#include "moNeighborhoodExplorer.h" /** * Dummy Explorer the neighborhood: nothing is explored diff --git a/mo/src/explorer/moFirstImprHCexplorer.h b/src/mo/explorer/moFirstImprHCexplorer.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/explorer/moFirstImprHCexplorer.h rename to src/mo/explorer/moFirstImprHCexplorer.h index 16378e429..e2fd46d73 --- a/mo/src/explorer/moFirstImprHCexplorer.h +++ b/src/mo/explorer/moFirstImprHCexplorer.h @@ -35,10 +35,10 @@ #ifndef _moFirstImprHCexplorer_h #define _moFirstImprHCexplorer_h -#include -#include -#include -#include +#include "moNeighborhoodExplorer.h" +#include "../comparator/moNeighborComparator.h" +#include "../comparator/moSolNeighborComparator.h" +#include "../neighborhood/moNeighborhood.h" /** * Explorer for a first improvement heuristic diff --git a/mo/src/explorer/moILSexplorer.h b/src/mo/explorer/moILSexplorer.h old mode 100644 new mode 100755 similarity index 93% rename from mo/src/explorer/moILSexplorer.h rename to src/mo/explorer/moILSexplorer.h index 761009005..22b7f4c2e --- a/mo/src/explorer/moILSexplorer.h +++ b/src/mo/explorer/moILSexplorer.h @@ -35,14 +35,14 @@ #ifndef _moILSexplorer_h #define _moILSexplorer_h -#include -#include -#include -#include -#include -#include -//#include -//#include +#include "moNeighborhoodExplorer.h" +#include "../comparator/moNeighborComparator.h" +#include "../comparator/moSolNeighborComparator.h" +#include "../algo/moLocalSearch.h" +#include "../perturb/moPerturbation.h" +#include "../acceptCrit/moAcceptanceCriterion.h" +//#include "../neighborhood/moDummyNeighborhood.h" +//#include "../neighborhood/moDummyNeighbor.h" /** * Explorer for an Iterated Local Search diff --git a/mo/src/explorer/moMetropolisHastingExplorer.h b/src/mo/explorer/moMetropolisHastingExplorer.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/explorer/moMetropolisHastingExplorer.h rename to src/mo/explorer/moMetropolisHastingExplorer.h index 3123c4914..9bc02f707 --- a/mo/src/explorer/moMetropolisHastingExplorer.h +++ b/src/mo/explorer/moMetropolisHastingExplorer.h @@ -37,12 +37,12 @@ #include -#include -#include -#include -#include +#include "moNeighborhoodExplorer.h" +#include "../comparator/moNeighborComparator.h" +#include "../comparator/moSolNeighborComparator.h" +#include "../neighborhood/moNeighborhood.h" -#include +#include "../../eo/utils/eoRNG.h" /** * Explorer for the Metropolis-Hasting Sampling. diff --git a/mo/src/explorer/moNeighborhoodExplorer.h b/src/mo/explorer/moNeighborhoodExplorer.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/explorer/moNeighborhoodExplorer.h rename to src/mo/explorer/moNeighborhoodExplorer.h index 8b4113b7a..911d04b2e --- a/mo/src/explorer/moNeighborhoodExplorer.h +++ b/src/mo/explorer/moNeighborhoodExplorer.h @@ -36,12 +36,12 @@ #define _neighborhoodExplorer_h //EO inclusion -#include +#include "../../eo/eoFunctor.h" -#include -#include -#include -#include +#include "../neighborhood/moNeighborhood.h" +#include "../eval/moEval.h" +#include "../neighborhood/moDummyNeighborhood.h" +#include "../eval/moDummyEval.h" /** * Explore the neighborhood according to the local search algorithm diff --git a/mo/src/explorer/moNeutralHCexplorer.h b/src/mo/explorer/moNeutralHCexplorer.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/explorer/moNeutralHCexplorer.h rename to src/mo/explorer/moNeutralHCexplorer.h index 40443de40..00cc88cdc --- a/mo/src/explorer/moNeutralHCexplorer.h +++ b/src/mo/explorer/moNeutralHCexplorer.h @@ -35,10 +35,10 @@ #ifndef _moNeutralHCexplorer_h #define _moNeutralHCexplorer_h -#include -#include -#include -#include +#include "moRandomBestHCexplorer.h" +#include "../comparator/moNeighborComparator.h" +#include "../comparator/moSolNeighborComparator.h" +#include "../neighborhood/moNeighborhood.h" /** * Explorer for a neutral Hill-climbing diff --git a/mo/src/explorer/moRandomBestHCexplorer.h b/src/mo/explorer/moRandomBestHCexplorer.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/explorer/moRandomBestHCexplorer.h rename to src/mo/explorer/moRandomBestHCexplorer.h index d5e12f087..15bbd8917 --- a/mo/src/explorer/moRandomBestHCexplorer.h +++ b/src/mo/explorer/moRandomBestHCexplorer.h @@ -35,12 +35,12 @@ #ifndef _moRandomBestHCexplorer_h #define _moRandomBestHCexplorer_h -#include -#include -#include -#include +#include "moNeighborhoodExplorer.h" +#include "../comparator/moNeighborComparator.h" +#include "../comparator/moSolNeighborComparator.h" +#include "../neighborhood/moNeighborhood.h" #include -#include +#include "../../eo/utils/eoRNG.h" /** * Explorer for Hill-Climbing diff --git a/mo/src/explorer/moRandomNeutralWalkExplorer.h b/src/mo/explorer/moRandomNeutralWalkExplorer.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/explorer/moRandomNeutralWalkExplorer.h rename to src/mo/explorer/moRandomNeutralWalkExplorer.h index 3a5eddc3e..0ad6db61d --- a/mo/src/explorer/moRandomNeutralWalkExplorer.h +++ b/src/mo/explorer/moRandomNeutralWalkExplorer.h @@ -35,9 +35,9 @@ #ifndef _moRandomNeutralWalkexplorer_h #define _moRandomNeutralWalkexplorer_h -#include -#include -#include +#include "moNeighborhoodExplorer.h" +#include "../comparator/moSolNeighborComparator.h" +#include "../neighborhood/moNeighborhood.h" /** * Explorer for a random neutral walk diff --git a/mo/src/explorer/moRandomSearchExplorer.h b/src/mo/explorer/moRandomSearchExplorer.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/explorer/moRandomSearchExplorer.h rename to src/mo/explorer/moRandomSearchExplorer.h index 0b09da1d9..b90ac2545 --- a/mo/src/explorer/moRandomSearchExplorer.h +++ b/src/mo/explorer/moRandomSearchExplorer.h @@ -35,10 +35,10 @@ #ifndef _moRandomSearchexplorer_h #define _moRandomSearchexplorer_h -#include -#include -#include -#include +#include "moNeighborhoodExplorer.h" +#include "../neighborhood/moNeighborhood.h" +#include "../../eo/eoEvalFunc.h" +#include "../../eo/eoInit.h" /** * Explorer for a pure random search: diff --git a/mo/src/explorer/moRandomWalkExplorer.h b/src/mo/explorer/moRandomWalkExplorer.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/explorer/moRandomWalkExplorer.h rename to src/mo/explorer/moRandomWalkExplorer.h index 78f1be303..8bd78ac1d --- a/mo/src/explorer/moRandomWalkExplorer.h +++ b/src/mo/explorer/moRandomWalkExplorer.h @@ -35,10 +35,10 @@ #ifndef _moRandomWalkexplorer_h #define _moRandomWalkexplorer_h -#include -#include -#include -#include +#include "moNeighborhoodExplorer.h" +#include "../comparator/moNeighborComparator.h" +#include "../comparator/moSolNeighborComparator.h" +#include "../neighborhood/moNeighborhood.h" /** * Explorer for a random walk diff --git a/mo/src/explorer/moSAexplorer.h b/src/mo/explorer/moSAexplorer.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/explorer/moSAexplorer.h rename to src/mo/explorer/moSAexplorer.h index 3d9f477ee..0e883a33c --- a/mo/src/explorer/moSAexplorer.h +++ b/src/mo/explorer/moSAexplorer.h @@ -37,12 +37,12 @@ #include -#include -#include -#include -#include +#include "moNeighborhoodExplorer.h" +#include "../comparator/moSolNeighborComparator.h" +#include "../coolingSchedule/moCoolingSchedule.h" +#include "../neighborhood/moNeighborhood.h" -#include +#include "../../eo/utils/eoRNG.h" /** * Explorer for the Simulated Annealing diff --git a/mo/src/explorer/moSimpleHCexplorer.h b/src/mo/explorer/moSimpleHCexplorer.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/explorer/moSimpleHCexplorer.h rename to src/mo/explorer/moSimpleHCexplorer.h index 573881d2f..19471e065 --- a/mo/src/explorer/moSimpleHCexplorer.h +++ b/src/mo/explorer/moSimpleHCexplorer.h @@ -35,10 +35,10 @@ #ifndef _moSimpleHCexplorer_h #define _moSimpleHCexplorer_h -#include -#include -#include -#include +#include "moNeighborhoodExplorer.h" +#include "../comparator/moNeighborComparator.h" +#include "../comparator/moSolNeighborComparator.h" +#include "../neighborhood/moNeighborhood.h" /** * Explorer for a simple Hill-climbing diff --git a/mo/src/explorer/moTSexplorer.h b/src/mo/explorer/moTSexplorer.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/explorer/moTSexplorer.h rename to src/mo/explorer/moTSexplorer.h index 062af93cc..06c84c368 --- a/mo/src/explorer/moTSexplorer.h +++ b/src/mo/explorer/moTSexplorer.h @@ -34,14 +34,14 @@ #ifndef _moTSexplorer_h #define _moTSexplorer_h -#include -#include -#include -#include -#include -#include -#include -#include +#include "moNeighborhoodExplorer.h" +#include "../comparator/moNeighborComparator.h" +#include "../comparator/moSolNeighborComparator.h" +#include "../memory/moAspiration.h" +#include "../memory/moTabuList.h" +#include "../memory/moIntensification.h" +#include "../memory/moDiversification.h" +#include "../neighborhood/moNeighborhood.h" /** * Explorer for a Tabu Search diff --git a/mo/src/explorer/moVNSexplorer.h b/src/mo/explorer/moVNSexplorer.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/explorer/moVNSexplorer.h rename to src/mo/explorer/moVNSexplorer.h index 3c9c2ef27..2ae4a45c2 --- a/mo/src/explorer/moVNSexplorer.h +++ b/src/mo/explorer/moVNSexplorer.h @@ -30,10 +30,10 @@ #ifndef _moVNSexplorer_h #define _moVNSexplorer_h -#include -#include -#include -#include +#include "moNeighborhoodExplorer.h" +#include "../neighborhood/moVariableNeighborhoodSelection.h" +#include "../../eo/eoOp.h" +#include "../acceptCrit/moAcceptanceCriterion.h" /** * Explorer for the "Variable Neighborhood Search" metaheuristic diff --git a/mo/src/memory/moAspiration.h b/src/mo/memory/moAspiration.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/memory/moAspiration.h rename to src/mo/memory/moAspiration.h index 7a9e338e0..3b9209c9a --- a/mo/src/memory/moAspiration.h +++ b/src/mo/memory/moAspiration.h @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moAspiration_h #define _moAspiration_h -#include +#include "../../eo/eoFunctor.h" /** * Abstract class for Aspiration Criteria diff --git a/mo/src/memory/moBestImprAspiration.h b/src/mo/memory/moBestImprAspiration.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/memory/moBestImprAspiration.h rename to src/mo/memory/moBestImprAspiration.h index 7187ef666..6ef24441d --- a/mo/src/memory/moBestImprAspiration.h +++ b/src/mo/memory/moBestImprAspiration.h @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moBestImprAspiration_h #define _moBestImprAspiration_h -#include +#include "moAspiration.h" /** * Aspiration criteria accepts a solution better than the best so far diff --git a/mo/src/memory/moCountMoveMemory.h b/src/mo/memory/moCountMoveMemory.h old mode 100644 new mode 100755 similarity index 99% rename from mo/src/memory/moCountMoveMemory.h rename to src/mo/memory/moCountMoveMemory.h index 22cbba5fd..d9a1d330a --- a/mo/src/memory/moCountMoveMemory.h +++ b/src/mo/memory/moCountMoveMemory.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moCountMoveMemory_h #define _moCountMoveMemory_h -#include +#include "moMemory.h" /** * Count the number of move, no move and the successive stagnation since the last Move diff --git a/mo/src/memory/moDiversification.h b/src/mo/memory/moDiversification.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/memory/moDiversification.h rename to src/mo/memory/moDiversification.h index 5df67a3fe..e237401f4 --- a/mo/src/memory/moDiversification.h +++ b/src/mo/memory/moDiversification.h @@ -30,8 +30,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moDiversification_h #define _moDiversification_h -#include -#include +#include "moMemory.h" +#include "../../eo/eoFunctor.h" /** * Abstract class for diversification strategy diff --git a/mo/src/memory/moDummyDiversification.h b/src/mo/memory/moDummyDiversification.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/memory/moDummyDiversification.h rename to src/mo/memory/moDummyDiversification.h index 72cd1f686..c48a15a14 --- a/mo/src/memory/moDummyDiversification.h +++ b/src/mo/memory/moDummyDiversification.h @@ -30,8 +30,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moDummyDiversification_h #define _moDummyDiversification_h -#include -#include +#include "moDiversification.h" +#include "moDummyMemory.h" /** * Dummy diversification strategy diff --git a/mo/src/memory/moDummyIntensification.h b/src/mo/memory/moDummyIntensification.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/memory/moDummyIntensification.h rename to src/mo/memory/moDummyIntensification.h index d6fd9ef3d..7ad695f98 --- a/mo/src/memory/moDummyIntensification.h +++ b/src/mo/memory/moDummyIntensification.h @@ -30,8 +30,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moDummyIntensification_h #define _moDummyIntensification_h -#include -#include +#include "moIntensification.h" +#include "moDummyMemory.h" /** * Dummy intensification strategy diff --git a/mo/src/memory/moDummyMemory.h b/src/mo/memory/moDummyMemory.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/memory/moDummyMemory.h rename to src/mo/memory/moDummyMemory.h index c927a30f0..f9866f93d --- a/mo/src/memory/moDummyMemory.h +++ b/src/mo/memory/moDummyMemory.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moDummyMemory_h #define _moDummyMemory_h -#include +#include "moMemory.h" /** * Dummy memory to make an empty memory diff --git a/mo/src/memory/moIndexedVectorTabuList.h b/src/mo/memory/moIndexedVectorTabuList.h old mode 100644 new mode 100755 similarity index 99% rename from mo/src/memory/moIndexedVectorTabuList.h rename to src/mo/memory/moIndexedVectorTabuList.h index f01e17f1b..2687e89d7 --- a/mo/src/memory/moIndexedVectorTabuList.h +++ b/src/mo/memory/moIndexedVectorTabuList.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moIndexedVectorTabuList_h #define _moIndexedVectorTabuList_h -#include +#include "moTabuList.h" #include #include diff --git a/mo/src/memory/moIntensification.h b/src/mo/memory/moIntensification.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/memory/moIntensification.h rename to src/mo/memory/moIntensification.h index 44d6c1bc3..dda323444 --- a/mo/src/memory/moIntensification.h +++ b/src/mo/memory/moIntensification.h @@ -30,8 +30,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moIntensification_h #define _moIntensification_h -#include -#include +#include "moMemory.h" +#include "../../eo/eoFunctor.h" /** * Abstract class for intensification strategy diff --git a/mo/src/memory/moMemory.h b/src/mo/memory/moMemory.h old mode 100644 new mode 100755 similarity index 100% rename from mo/src/memory/moMemory.h rename to src/mo/memory/moMemory.h diff --git a/mo/src/memory/moMonOpDiversification.h b/src/mo/memory/moMonOpDiversification.h old mode 100644 new mode 100755 similarity index 95% rename from mo/src/memory/moMonOpDiversification.h rename to src/mo/memory/moMonOpDiversification.h index 46fa8547b..c5d3eb16b --- a/mo/src/memory/moMonOpDiversification.h +++ b/src/mo/memory/moMonOpDiversification.h @@ -31,10 +31,10 @@ Contact: paradiseo-help@lists.gforge.inria.fr #define _moMonOpDiversification_h -#include -#include -#include -#include +#include "../../eo/eoEvalFunc.h" +#include "../../eo/eoOp.h" +#include "moDiversification.h" +#include "moDummyMemory.h" /** * Diversification strategy applies a "monOp" operator diff --git a/mo/src/memory/moNeighborVectorTabuList.h b/src/mo/memory/moNeighborVectorTabuList.h old mode 100644 new mode 100755 similarity index 99% rename from mo/src/memory/moNeighborVectorTabuList.h rename to src/mo/memory/moNeighborVectorTabuList.h index dbf8edb0f..9a6d0c7de --- a/mo/src/memory/moNeighborVectorTabuList.h +++ b/src/mo/memory/moNeighborVectorTabuList.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moNeighborVectorTabuList_h #define _moNeighborVectorTabuList_h -#include +#include "moTabuList.h" #include #include diff --git a/mo/src/memory/moRndIndexedVectorTabuList.h b/src/mo/memory/moRndIndexedVectorTabuList.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/memory/moRndIndexedVectorTabuList.h rename to src/mo/memory/moRndIndexedVectorTabuList.h index 82ffc0e04..bb020b03a --- a/mo/src/memory/moRndIndexedVectorTabuList.h +++ b/src/mo/memory/moRndIndexedVectorTabuList.h @@ -30,8 +30,8 @@ #ifndef _moRndIndexedVectorTabuList_h #define _moRndIndexedVectorTabuList_h -#include -#include +#include "moIndexedVectorTabuList.h" +#include "../../eo/utils/eoRndGenerators.h" /** diff --git a/mo/src/memory/moSolVectorTabuList.h b/src/mo/memory/moSolVectorTabuList.h old mode 100644 new mode 100755 similarity index 99% rename from mo/src/memory/moSolVectorTabuList.h rename to src/mo/memory/moSolVectorTabuList.h index ba72ccc43..1e6a0694d --- a/mo/src/memory/moSolVectorTabuList.h +++ b/src/mo/memory/moSolVectorTabuList.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moSolVectorTabuList_h #define _moSolVectorTabuList_h -#include +#include "moTabuList.h" #include #include diff --git a/mo/src/memory/moTabuList.h b/src/mo/memory/moTabuList.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/memory/moTabuList.h rename to src/mo/memory/moTabuList.h index 018996e8a..a7b36a972 --- a/mo/src/memory/moTabuList.h +++ b/src/mo/memory/moTabuList.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moTabuList_h #define _moTabuList_h -#include +#include "moMemory.h" /** * Abstract class for the Tabu List diff --git a/mo/src/mo b/src/mo/mo similarity index 98% rename from mo/src/mo rename to src/mo/mo index 81d1f5305..79978f228 100755 --- a/mo/src/mo +++ b/src/mo/mo @@ -35,6 +35,6 @@ #ifndef __newmo #define __newmo -#include "mo.h" +#include #endif diff --git a/src/mo/mo.h b/src/mo/mo.h new file mode 100755 index 000000000..cfae24f40 --- /dev/null +++ b/src/mo/mo.h @@ -0,0 +1,211 @@ +/* + + Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2010 + + Sébastien Verel, Arnaud Liefooghe, Jérémie Humeau + + This software is governed by the CeCILL license under French law and + abiding by the rules of distribution of free software. You can use, + modify and/ or redistribute the software under the terms of the CeCILL + license as circulated by CEA, CNRS and INRIA at the following URL + "http://www.cecill.info". + + As a counterpart to the access to the source code and rights to copy, + modify and redistribute granted by the license, users are provided only + with a limited warranty and the software's author, the holder of the + economic rights, and the successive licensors have only limited liability. + + In this respect, the user's attention is drawn to the risks associated + with loading, using, modifying and/or developing or reproducing the + software by the user in light of its specific status of free software, + that may mean that it is complicated to manipulate, and that also + therefore means that it is reserved for developers and experienced + professionals having in-depth computer knowledge. Users are therefore + encouraged to load and test the software's suitability as regards their + requirements in conditions enabling the security of their systems and/or + data to be ensured and, more generally, to use and operate it in the + same conditions as regards security. + The fact that you are presently reading this means that you have had + knowledge of the CeCILL license and that you accept its terms. + + ParadisEO WebSite : http://paradiseo.gforge.inria.fr + Contact: paradiseo-help@lists.gforge.inria.fr +*/ + +#ifndef _newmo_h +#define _newmo_h + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +//#include +//#include +//#include +//#include +//#include +//#include +//#include + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/mo/src/neighborhood/moBackableNeighbor.h b/src/mo/neighborhood/moBackableNeighbor.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/neighborhood/moBackableNeighbor.h rename to src/mo/neighborhood/moBackableNeighbor.h index 4a851c451..608674938 --- a/mo/src/neighborhood/moBackableNeighbor.h +++ b/src/mo/neighborhood/moBackableNeighbor.h @@ -35,7 +35,7 @@ #ifndef _BackableNeighbor_h #define _BackableNeighbor_h -#include +#include "moNeighbor.h" /** * Neighbor with a move back function to use in a moFullEvalByModif diff --git a/mo/src/neighborhood/moBackwardVectorVNSelection.h b/src/mo/neighborhood/moBackwardVectorVNSelection.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/neighborhood/moBackwardVectorVNSelection.h rename to src/mo/neighborhood/moBackwardVectorVNSelection.h index b3050c439..cb9c41035 --- a/mo/src/neighborhood/moBackwardVectorVNSelection.h +++ b/src/mo/neighborhood/moBackwardVectorVNSelection.h @@ -30,7 +30,7 @@ #ifndef _moBackwardVectorVNSelection_h #define _moBackwardVectorVNSelection_h -#include +#include "moVectorVNSelection.h" /** * This class is used for the Variable Neighborhood Search explorer inherits from moVectorVNSelection diff --git a/mo/src/neighborhood/moDummyNeighbor.h b/src/mo/neighborhood/moDummyNeighbor.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/neighborhood/moDummyNeighbor.h rename to src/mo/neighborhood/moDummyNeighbor.h index a8cd01087..09913cb64 --- a/mo/src/neighborhood/moDummyNeighbor.h +++ b/src/mo/neighborhood/moDummyNeighbor.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moDummyNeighbor_h #define _moDummyNeighbor_h -#include +#include "moNeighbor.h" /** * Dummy Neighborhood diff --git a/mo/src/neighborhood/moDummyNeighborhood.h b/src/mo/neighborhood/moDummyNeighborhood.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/neighborhood/moDummyNeighborhood.h rename to src/mo/neighborhood/moDummyNeighborhood.h index 26c62163c..954416078 --- a/mo/src/neighborhood/moDummyNeighborhood.h +++ b/src/mo/neighborhood/moDummyNeighborhood.h @@ -30,8 +30,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moDummyNeighborhood_h #define _moDummyNeighborhood_h -#include -#include +#include "moDummyNeighbor.h" +#include "moNeighborhood.h" /** * Dummy Neighborhood diff --git a/mo/src/neighborhood/moEvaluatedNeighborhood.h b/src/mo/neighborhood/moEvaluatedNeighborhood.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/neighborhood/moEvaluatedNeighborhood.h rename to src/mo/neighborhood/moEvaluatedNeighborhood.h index 52f1f54d8..ac303ce4d --- a/mo/src/neighborhood/moEvaluatedNeighborhood.h +++ b/src/mo/neighborhood/moEvaluatedNeighborhood.h @@ -35,8 +35,8 @@ #ifndef _moEvaluatedNeighborhood_h #define _moEvaluatedNeighborhood_h -#include -#include +#include "moNeighborhood.h" +#include "../eval/moNeighborhoodEvaluation.h" /** * A Neighborhood for the evaluation of all neighbors diff --git a/mo/src/neighborhood/moForwardVectorVNSelection.h b/src/mo/neighborhood/moForwardVectorVNSelection.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/neighborhood/moForwardVectorVNSelection.h rename to src/mo/neighborhood/moForwardVectorVNSelection.h index d7d3546cb..b6ba0f7f9 --- a/mo/src/neighborhood/moForwardVectorVNSelection.h +++ b/src/mo/neighborhood/moForwardVectorVNSelection.h @@ -30,7 +30,7 @@ #ifndef _moForwardVectorVNSelection_h #define _moForwardVectorVNSelection_h -#include +#include "moVectorVNSelection.h" /** * This class is used for the Variable Neighborhood Search explorer inherits from moVectorVNSelection diff --git a/mo/src/neighborhood/moIndexNeighbor.h b/src/mo/neighborhood/moIndexNeighbor.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/neighborhood/moIndexNeighbor.h rename to src/mo/neighborhood/moIndexNeighbor.h index 5ce17cdda..f8838a8d2 --- a/mo/src/neighborhood/moIndexNeighbor.h +++ b/src/mo/neighborhood/moIndexNeighbor.h @@ -35,7 +35,7 @@ #ifndef _IndexNeighbor_h #define _IndexNeighbor_h -#include +#include "moNeighbor.h" /** * Index Neighbor diff --git a/mo/src/neighborhood/moIndexNeighborhood.h b/src/mo/neighborhood/moIndexNeighborhood.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/neighborhood/moIndexNeighborhood.h rename to src/mo/neighborhood/moIndexNeighborhood.h index 83d06b267..4eed4b826 --- a/mo/src/neighborhood/moIndexNeighborhood.h +++ b/src/mo/neighborhood/moIndexNeighborhood.h @@ -35,7 +35,7 @@ #ifndef _moIndexNeighborhood_h #define _moIndexNeighborhood_h -#include +#include "moNeighborhood.h" /** * A Indexed Neighborhood diff --git a/mo/src/neighborhood/moNeighbor.h b/src/mo/neighborhood/moNeighbor.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/neighborhood/moNeighbor.h rename to src/mo/neighborhood/moNeighbor.h index 889dd6817..08677ee77 --- a/mo/src/neighborhood/moNeighbor.h +++ b/src/mo/neighborhood/moNeighbor.h @@ -36,9 +36,9 @@ #define _moNeighbor_h //EO inclusion -#include -#include -#include +#include "../../eo/EO.h" +#include "../../eo/eoObject.h" +#include "../../eo/eoPersistent.h" /** * Container of the neighbor informations diff --git a/mo/src/neighborhood/moNeighborhood.h b/src/mo/neighborhood/moNeighborhood.h old mode 100644 new mode 100755 similarity index 99% rename from mo/src/neighborhood/moNeighborhood.h rename to src/mo/neighborhood/moNeighborhood.h index 60d11c1f2..0832a5aed --- a/mo/src/neighborhood/moNeighborhood.h +++ b/src/mo/neighborhood/moNeighborhood.h @@ -35,7 +35,7 @@ #ifndef _moNeighborhood_h #define _moNeighborhood_h -#include +#include "../../eo/eoObject.h" /** * A Neighborhood diff --git a/mo/src/neighborhood/moOrderNeighborhood.h b/src/mo/neighborhood/moOrderNeighborhood.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/neighborhood/moOrderNeighborhood.h rename to src/mo/neighborhood/moOrderNeighborhood.h index 384d0dda7..ac3a9276d --- a/mo/src/neighborhood/moOrderNeighborhood.h +++ b/src/mo/neighborhood/moOrderNeighborhood.h @@ -35,7 +35,7 @@ #ifndef _moOrderNeighborhood_h #define _moOrderNeighborhood_h -#include +#include "moIndexNeighborhood.h" /** * An ordered Neighborhood diff --git a/mo/src/neighborhood/moRndNeighborhood.h b/src/mo/neighborhood/moRndNeighborhood.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/neighborhood/moRndNeighborhood.h rename to src/mo/neighborhood/moRndNeighborhood.h index 9c7ec2d22..a9a9d28fa --- a/mo/src/neighborhood/moRndNeighborhood.h +++ b/src/mo/neighborhood/moRndNeighborhood.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moRndNeighborhood_h #define _moRndNeighborhood_h -#include +#include "moNeighborhood.h" /** * Class used to specify a neighborhood is random diff --git a/mo/src/neighborhood/moRndVectorVNSelection.h b/src/mo/neighborhood/moRndVectorVNSelection.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/neighborhood/moRndVectorVNSelection.h rename to src/mo/neighborhood/moRndVectorVNSelection.h index 3debb85d4..e1b31aba5 --- a/mo/src/neighborhood/moRndVectorVNSelection.h +++ b/src/mo/neighborhood/moRndVectorVNSelection.h @@ -30,10 +30,10 @@ #ifndef _moRndVectorVNSelection_h #define _moRndVectorVNSelection_h -#include -#include +#include "../../eo/utils/eoRndGenerators.h" +#include "../../eo/utils/rnd_generators.h" -#include +#include "moVectorVNSelection.h" /** * This class is used for the Variable Neighborhood Search explorer inherits from moVectorVNSelection diff --git a/mo/src/neighborhood/moRndWithReplNeighborhood.h b/src/mo/neighborhood/moRndWithReplNeighborhood.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/neighborhood/moRndWithReplNeighborhood.h rename to src/mo/neighborhood/moRndWithReplNeighborhood.h index 89537bf09..ad4aae8b3 --- a/mo/src/neighborhood/moRndWithReplNeighborhood.h +++ b/src/mo/neighborhood/moRndWithReplNeighborhood.h @@ -35,9 +35,9 @@ #ifndef _moRndWithReplNeighborhood_h #define _moRndWithReplNeighborhood_h -#include -#include -#include +#include "moIndexNeighborhood.h" +#include "moRndNeighborhood.h" +#include "../../eo/utils/eoRNG.h" /** * A Random With replacement Neighborhood diff --git a/mo/src/neighborhood/moRndWithoutReplNeighborhood.h b/src/mo/neighborhood/moRndWithoutReplNeighborhood.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/neighborhood/moRndWithoutReplNeighborhood.h rename to src/mo/neighborhood/moRndWithoutReplNeighborhood.h index 52113cc07..aacefd5fd --- a/mo/src/neighborhood/moRndWithoutReplNeighborhood.h +++ b/src/mo/neighborhood/moRndWithoutReplNeighborhood.h @@ -35,9 +35,9 @@ #ifndef _moRndWithoutReplNeighborhood_h #define _moRndWithoutReplNeighborhood_h -#include -#include -#include +#include "moIndexNeighborhood.h" +#include "moRndNeighborhood.h" +#include "../../eo/utils/eoRNG.h" /** * A Random without replacement Neighborhood diff --git a/mo/src/neighborhood/moVariableNeighborhoodSelection.h b/src/mo/neighborhood/moVariableNeighborhoodSelection.h old mode 100644 new mode 100755 similarity index 99% rename from mo/src/neighborhood/moVariableNeighborhoodSelection.h rename to src/mo/neighborhood/moVariableNeighborhoodSelection.h index 99af9a98d..11d86943c --- a/mo/src/neighborhood/moVariableNeighborhoodSelection.h +++ b/src/mo/neighborhood/moVariableNeighborhoodSelection.h @@ -30,7 +30,7 @@ #ifndef _moVariableNeighborhoodSelection_h #define _moVariableNeighborhoodSelection_h -#include +#include "../../eo/eoOp.h" #include /** diff --git a/mo/src/neighborhood/moVectorVNSelection.h b/src/mo/neighborhood/moVectorVNSelection.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/neighborhood/moVectorVNSelection.h rename to src/mo/neighborhood/moVectorVNSelection.h index 3070e0e9a..5377a01fe --- a/mo/src/neighborhood/moVectorVNSelection.h +++ b/src/mo/neighborhood/moVectorVNSelection.h @@ -30,8 +30,8 @@ #ifndef _moVectorVNSelection_h #define _moVectorVNSelection_h -#include -#include +#include "moVariableNeighborhoodSelection.h" +#include "../../eo/eoOp.h" /** * This class is used for the Variable Neighborhood Search explorer inherits from moVariableNeighborhoodSelection diff --git a/mo/src/perturb/moLocalSearchInit.h b/src/mo/perturb/moLocalSearchInit.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/perturb/moLocalSearchInit.h rename to src/mo/perturb/moLocalSearchInit.h index d91c5c719..e8f977111 --- a/mo/src/perturb/moLocalSearchInit.h +++ b/src/mo/perturb/moLocalSearchInit.h @@ -30,8 +30,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moLocalSearchInit_h #define _moLocalSearchInit_h -#include -#include +#include "../../eo/eoInit.h" +#include "../algo/moLocalSearch.h" /** * Initialization of the solution with a local search diff --git a/mo/src/perturb/moMonOpPerturb.h b/src/mo/perturb/moMonOpPerturb.h old mode 100644 new mode 100755 similarity index 95% rename from mo/src/perturb/moMonOpPerturb.h rename to src/mo/perturb/moMonOpPerturb.h index e0dc138da..ed1b67707 --- a/mo/src/perturb/moMonOpPerturb.h +++ b/src/mo/perturb/moMonOpPerturb.h @@ -30,10 +30,10 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moMonOpPerturb_h #define _moMonOpPerturb_h -#include -#include -#include -#include +#include "../../eo/eoEvalFunc.h" +#include "../../eo/eoOp.h" +#include "moPerturbation.h" +#include "../memory/moDummyMemory.h" /** * Perturbation operator using only a eoMonOp diff --git a/mo/src/perturb/moNeighborhoodPerturb.h b/src/mo/perturb/moNeighborhoodPerturb.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/perturb/moNeighborhoodPerturb.h rename to src/mo/perturb/moNeighborhoodPerturb.h index 676f5a828..30613e2f6 --- a/mo/src/perturb/moNeighborhoodPerturb.h +++ b/src/mo/perturb/moNeighborhoodPerturb.h @@ -30,9 +30,9 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moNeighborhoodPerturb_h #define _moNeighborhoodPerturb_h -#include -#include -#include +#include "../eval/moEval.h" +#include "moPerturbation.h" +#include "../neighborhood/moNeighborhood.h" /** * Neighborhood Perturbation: explore the neighborhood to perturb the solution (the neighborhood could be different as the one used in the Local Search) diff --git a/mo/src/perturb/moPerturbation.h b/src/mo/perturb/moPerturbation.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/perturb/moPerturbation.h rename to src/mo/perturb/moPerturbation.h index 46fb9b0b9..6f6a315c8 --- a/mo/src/perturb/moPerturbation.h +++ b/src/mo/perturb/moPerturbation.h @@ -30,8 +30,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moPertubation_h #define _moPertubation_h -#include -#include +#include "../../eo/eoOp.h" +#include "../memory/moMemory.h" /** * Abstract class for Perturbation operator diff --git a/mo/src/perturb/moRestartPerturb.h b/src/mo/perturb/moRestartPerturb.h old mode 100644 new mode 100755 similarity index 95% rename from mo/src/perturb/moRestartPerturb.h rename to src/mo/perturb/moRestartPerturb.h index c1b4b78ba..ed8372c38 --- a/mo/src/perturb/moRestartPerturb.h +++ b/src/mo/perturb/moRestartPerturb.h @@ -31,10 +31,10 @@ Contact: paradiseo-help@lists.gforge.inria.fr #define _moRestartPerturb_h -#include -#include -#include -#include +#include "../../eo/eoEvalFunc.h" +#include "../../eo/eoInit.h" +#include "moPerturbation.h" +#include "../memory/moCountMoveMemory.h" /** * Restart Perturbation : restart when maximum number of iteration with no improvement is reached diff --git a/mo/src/perturb/moSolInit.h b/src/mo/perturb/moSolInit.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/perturb/moSolInit.h rename to src/mo/perturb/moSolInit.h index 8707d47fa..643552188 --- a/mo/src/perturb/moSolInit.h +++ b/src/mo/perturb/moSolInit.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moSolInit_h #define _moSolInit_h -#include +#include "../../eo/eoInit.h" /** * Initialization of the solution with the external solution diff --git a/mo/src/problems/bitString/moBitFlipNeighborhood.h b/src/mo/problems/bitString/moBitFlipNeighborhood.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/problems/bitString/moBitFlipNeighborhood.h rename to src/mo/problems/bitString/moBitFlipNeighborhood.h index dbbe05c26..97f91ee44 --- a/mo/src/problems/bitString/moBitFlipNeighborhood.h +++ b/src/mo/problems/bitString/moBitFlipNeighborhood.h @@ -35,8 +35,8 @@ #ifndef _moBitFlipNeighborhood_h #define _moBitFlipNeighborhood_h -#include -#include +#include "../../neighborhood/moNeighborhood.h" +#include "../../../eo/utils/eoRNG.h" #include /** diff --git a/mo/src/problems/bitString/moBitNeighbor.h b/src/mo/problems/bitString/moBitNeighbor.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/problems/bitString/moBitNeighbor.h rename to src/mo/problems/bitString/moBitNeighbor.h index 28cda0093..38ab6b31c --- a/mo/src/problems/bitString/moBitNeighbor.h +++ b/src/mo/problems/bitString/moBitNeighbor.h @@ -35,9 +35,9 @@ #ifndef _bitNeighbor_h #define _bitNeighbor_h -#include -#include -#include +#include "../../../eo/ga/eoBit.h" +#include "../../neighborhood/moBackableNeighbor.h" +#include "../../neighborhood/moIndexNeighbor.h" /** * Neighbor related to a vector of Bit diff --git a/mo/src/problems/bitString/moBitsNeighbor.h b/src/mo/problems/bitString/moBitsNeighbor.h old mode 100644 new mode 100755 similarity index 99% rename from mo/src/problems/bitString/moBitsNeighbor.h rename to src/mo/problems/bitString/moBitsNeighbor.h index e0f1363f1..e9930e082 --- a/mo/src/problems/bitString/moBitsNeighbor.h +++ b/src/mo/problems/bitString/moBitsNeighbor.h @@ -35,7 +35,7 @@ #ifndef _moBitsNeighbor_h #define _moBitsNeighbor_h -#include +#include "../../neighborhood/moNeighbor.h" #include /** diff --git a/mo/src/problems/bitString/moBitsNeighborhood.h b/src/mo/problems/bitString/moBitsNeighborhood.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/problems/bitString/moBitsNeighborhood.h rename to src/mo/problems/bitString/moBitsNeighborhood.h index 5bfb2576d..84987a229 --- a/mo/src/problems/bitString/moBitsNeighborhood.h +++ b/src/mo/problems/bitString/moBitsNeighborhood.h @@ -35,8 +35,8 @@ #ifndef _moBitsNeighborhood_h #define _moBitsNeighborhood_h -#include -#include +#include "../../neighborhood/moNeighborhood.h" +#include "../../../eo/utils/eoRNG.h" #include /** diff --git a/mo/src/problems/bitString/moBitsWithReplNeighborhood.h b/src/mo/problems/bitString/moBitsWithReplNeighborhood.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/problems/bitString/moBitsWithReplNeighborhood.h rename to src/mo/problems/bitString/moBitsWithReplNeighborhood.h index 8c833f1a2..5fe73f95e --- a/mo/src/problems/bitString/moBitsWithReplNeighborhood.h +++ b/src/mo/problems/bitString/moBitsWithReplNeighborhood.h @@ -35,9 +35,9 @@ #ifndef _moBitsWithReplNeighborhood_h #define _moBitsWithReplNeighborhood_h -#include -#include -#include +#include "../../neighborhood/moNeighborhood.h" +#include "moBitsNeighborhood.h" +#include "../../../eo/utils/eoRNG.h" #include /** diff --git a/mo/src/problems/bitString/moBitsWithoutReplNeighborhood.h b/src/mo/problems/bitString/moBitsWithoutReplNeighborhood.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/problems/bitString/moBitsWithoutReplNeighborhood.h rename to src/mo/problems/bitString/moBitsWithoutReplNeighborhood.h index 4584a791a..29c311a87 --- a/mo/src/problems/bitString/moBitsWithoutReplNeighborhood.h +++ b/src/mo/problems/bitString/moBitsWithoutReplNeighborhood.h @@ -35,9 +35,9 @@ #ifndef _moBitsWithoutReplNeighborhood_h #define _moBitsWithoutReplNeighborhood_h -#include -#include -#include +#include "../../neighborhood/moNeighborhood.h" +#include "moBitsNeighborhood.h" +#include "../../../eo/utils/eoRNG.h" #include /** diff --git a/mo/src/problems/eval/moMaxSATincrEval.h b/src/mo/problems/eval/moMaxSATincrEval.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/problems/eval/moMaxSATincrEval.h rename to src/mo/problems/eval/moMaxSATincrEval.h index 69dfbdb2e..27bc07528 --- a/mo/src/problems/eval/moMaxSATincrEval.h +++ b/src/mo/problems/eval/moMaxSATincrEval.h @@ -30,8 +30,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moMaxSATincrEval_h #define _moMaxSATincrEval_h -#include -#include +#include "../../eval/moEval.h" +#include "../../../problems/eval/maxSATeval.h" /** * Incremental evaluation Function for the max SAT problem diff --git a/mo/src/problems/eval/moOneMaxBitsIncrEval.h b/src/mo/problems/eval/moOneMaxBitsIncrEval.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/problems/eval/moOneMaxBitsIncrEval.h rename to src/mo/problems/eval/moOneMaxBitsIncrEval.h index 5758d3c29..2f235709d --- a/mo/src/problems/eval/moOneMaxBitsIncrEval.h +++ b/src/mo/problems/eval/moOneMaxBitsIncrEval.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moOneMaxBitsIncrEval_H #define _moOneMaxBitsIncrEval_H -#include +#include "../../eval/moEval.h" /** * Incremental evaluation Function for the OneMax problem diff --git a/mo/src/problems/eval/moOneMaxIncrEval.h b/src/mo/problems/eval/moOneMaxIncrEval.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/problems/eval/moOneMaxIncrEval.h rename to src/mo/problems/eval/moOneMaxIncrEval.h index c97b096e2..f42b0b6ab --- a/mo/src/problems/eval/moOneMaxIncrEval.h +++ b/src/mo/problems/eval/moOneMaxIncrEval.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moOneMaxIncrEval_H #define _moOneMaxIncrEval_H -#include +#include "../../eval/moEval.h" /** * Incremental evaluation Function for the OneMax problem diff --git a/mo/src/problems/eval/moQAPIncrEval.h b/src/mo/problems/eval/moQAPIncrEval.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/problems/eval/moQAPIncrEval.h rename to src/mo/problems/eval/moQAPIncrEval.h index 5c47623d9..79fa6afad --- a/mo/src/problems/eval/moQAPIncrEval.h +++ b/src/mo/problems/eval/moQAPIncrEval.h @@ -30,8 +30,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moQAPIncrEval_H #define _moQAPIncrEval_H -#include -#include +#include "../../eval/moEval.h" +#include "../../../problems/eval/qapEval.h" /** * Incremental evaluation Function for the QAP problem diff --git a/mo/src/problems/eval/moRoyalRoadIncrEval.h b/src/mo/problems/eval/moRoyalRoadIncrEval.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/problems/eval/moRoyalRoadIncrEval.h rename to src/mo/problems/eval/moRoyalRoadIncrEval.h index 3296ab25f..2763e00c1 --- a/mo/src/problems/eval/moRoyalRoadIncrEval.h +++ b/src/mo/problems/eval/moRoyalRoadIncrEval.h @@ -30,8 +30,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moRoyalRoadIncrEval_H #define _moRoyalRoadIncrEval_H -#include -#include +#include "../../eval/moEval.h" +#include "../../../problems/eval/royalRoadEval.h" /** * Incremental evaluation Function for the Royal Road problem diff --git a/mo/src/problems/eval/moUBQPBitsIncrEval.h b/src/mo/problems/eval/moUBQPBitsIncrEval.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/problems/eval/moUBQPBitsIncrEval.h rename to src/mo/problems/eval/moUBQPBitsIncrEval.h index d6a55c3d7..00d2c1043 --- a/mo/src/problems/eval/moUBQPBitsIncrEval.h +++ b/src/mo/problems/eval/moUBQPBitsIncrEval.h @@ -30,8 +30,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moUBQPBitsIncrEval_H #define _moUBQPBitsIncrEval_H -#include -#include +#include "../../eval/moEval.h" +#include "../../../problems/eval/ubqpEval.h" /** * Incremental evaluation Function for the UBQPSimple problem diff --git a/mo/src/problems/eval/moUBQPSimpleIncrEval.h b/src/mo/problems/eval/moUBQPSimpleIncrEval.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/problems/eval/moUBQPSimpleIncrEval.h rename to src/mo/problems/eval/moUBQPSimpleIncrEval.h index 78e6be0f5..548b0c3c8 --- a/mo/src/problems/eval/moUBQPSimpleIncrEval.h +++ b/src/mo/problems/eval/moUBQPSimpleIncrEval.h @@ -30,8 +30,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moUBQPSimpleIncrEval_H #define _moUBQPSimpleIncrEval_H -#include -#include +#include "../../eval/moEval.h" +#include "../../../problems/eval/ubqpEval.h" /** * Incremental evaluation Function for the UBQPSimple problem diff --git a/mo/src/problems/eval/moUBQPdoubleIncrEvaluation.h b/src/mo/problems/eval/moUBQPdoubleIncrEvaluation.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/problems/eval/moUBQPdoubleIncrEvaluation.h rename to src/mo/problems/eval/moUBQPdoubleIncrEvaluation.h index d9d149a83..689e2e1bb --- a/mo/src/problems/eval/moUBQPdoubleIncrEvaluation.h +++ b/src/mo/problems/eval/moUBQPdoubleIncrEvaluation.h @@ -35,9 +35,9 @@ #ifndef moUBQPdoubleIncrEvaluation_H #define moUBQPdoubleIncrEvaluation_H -#include -#include -#include +#include "moDoubleIncrEvaluation.h" +#include "../../explorer/moNeighborhoodExplorer.h" +#include "../../eval/moEval.h" /** * The neighborhood evaluation for the UBQP diff --git a/mo/src/problems/permutation/moIndexedSwapNeighbor.h b/src/mo/problems/permutation/moIndexedSwapNeighbor.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/problems/permutation/moIndexedSwapNeighbor.h rename to src/mo/problems/permutation/moIndexedSwapNeighbor.h index d30305100..bc14cd61a --- a/mo/src/problems/permutation/moIndexedSwapNeighbor.h +++ b/src/mo/problems/permutation/moIndexedSwapNeighbor.h @@ -30,8 +30,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moIndexedSwapNeighbor_h #define _moIndexedSwapNeighbor_h -#include -#include +#include "../../neighborhood/moBackableNeighbor.h" +#include "../../neighborhood/moIndexNeighbor.h" /** * Indexed Swap Neighbor: the position of the swap are computed according to the index diff --git a/mo/src/problems/permutation/moShiftNeighbor.h b/src/mo/problems/permutation/moShiftNeighbor.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/problems/permutation/moShiftNeighbor.h rename to src/mo/problems/permutation/moShiftNeighbor.h index 87dfb9265..78f7fd87e --- a/mo/src/problems/permutation/moShiftNeighbor.h +++ b/src/mo/problems/permutation/moShiftNeighbor.h @@ -30,8 +30,8 @@ #ifndef _moShiftNeighbor_h #define _moShiftNeighbor_h -#include -#include +#include "../../neighborhood/moBackableNeighbor.h" +#include "../../neighborhood/moIndexNeighbor.h" /** * Indexed Shift Neighbor diff --git a/mo/src/problems/permutation/moSwapNeighbor.h b/src/mo/problems/permutation/moSwapNeighbor.h old mode 100644 new mode 100755 similarity index 98% rename from mo/src/problems/permutation/moSwapNeighbor.h rename to src/mo/problems/permutation/moSwapNeighbor.h index 55dfcbe8d..543d8a242 --- a/mo/src/problems/permutation/moSwapNeighbor.h +++ b/src/mo/problems/permutation/moSwapNeighbor.h @@ -30,7 +30,7 @@ #ifndef _moSwapNeighbor_h #define _moSwapNeighbor_h -#include +#include "../../neighborhood/moBackableNeighbor.h" /** * Swap Neighbor diff --git a/mo/src/problems/permutation/moSwapNeighborhood.h b/src/mo/problems/permutation/moSwapNeighborhood.h old mode 100644 new mode 100755 similarity index 97% rename from mo/src/problems/permutation/moSwapNeighborhood.h rename to src/mo/problems/permutation/moSwapNeighborhood.h index 8354337e6..e62ec8687 --- a/mo/src/problems/permutation/moSwapNeighborhood.h +++ b/src/mo/problems/permutation/moSwapNeighborhood.h @@ -30,8 +30,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moSwapNeighborhood_h #define _moSwapNeighborhood_h -#include -#include +#include "moSwapNeighbor.h" +#include "../../neighborhood/moNeighborhood.h" /** * Swap Neighborhood diff --git a/mo/src/problems/permutation/moTwoOptExNeighbor.h b/src/mo/problems/permutation/moTwoOptExNeighbor.h similarity index 98% rename from mo/src/problems/permutation/moTwoOptExNeighbor.h rename to src/mo/problems/permutation/moTwoOptExNeighbor.h index ed7198574..ba727f66d 100755 --- a/mo/src/problems/permutation/moTwoOptExNeighbor.h +++ b/src/mo/problems/permutation/moTwoOptExNeighbor.h @@ -30,7 +30,7 @@ #ifndef _moTwoOptExNeighbor_h #define _moTwoOptExNeighbor_h -#include +#include "../../neighborhood/moBackableNeighbor.h" /** * Two-opt exchange neighbor diff --git a/mo/src/problems/permutation/moTwoOptExNeighborhood.h b/src/mo/problems/permutation/moTwoOptExNeighborhood.h similarity index 95% rename from mo/src/problems/permutation/moTwoOptExNeighborhood.h rename to src/mo/problems/permutation/moTwoOptExNeighborhood.h index 9723946bb..5418fd312 100755 --- a/mo/src/problems/permutation/moTwoOptExNeighborhood.h +++ b/src/mo/problems/permutation/moTwoOptExNeighborhood.h @@ -30,10 +30,10 @@ #ifndef _moTwoOptExNeighborhood_h #define _moTwoOptExNeighborhood_h -#include -#include +#include "moTwoOptExNeighbor.h" +#include "../../neighborhood/moNeighborhood.h" -#include +#include "../../neighborhood/moIndexNeighborhood.h" /** * Two-opt exchange neighborhood diff --git a/mo/src/sampling/moAdaptiveWalkSampling.h b/src/mo/sampling/moAdaptiveWalkSampling.h old mode 100644 new mode 100755 similarity index 90% rename from mo/src/sampling/moAdaptiveWalkSampling.h rename to src/mo/sampling/moAdaptiveWalkSampling.h index 14d99ac44..ea656d498 --- a/mo/src/sampling/moAdaptiveWalkSampling.h +++ b/src/mo/sampling/moAdaptiveWalkSampling.h @@ -35,17 +35,17 @@ #ifndef moAdaptiveWalkSampling_h #define moAdaptiveWalkSampling_h -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoInit.h" +#include "../eval/moEval.h" +#include "../../eo/eoEvalFunc.h" +#include "../continuator/moCheckpoint.h" +#include "../perturb/moLocalSearchInit.h" +#include "../algo/moRandomSearch.h" +#include "../algo/moFirstImprHC.h" +#include "../continuator/moSolutionStat.h" +#include "../continuator/moMinusOneCounterStat.h" +#include "../continuator/moStatFromStat.h" +#include "moSampling.h" /** * To compute the length and final solution of an adaptive walk: diff --git a/mo/src/sampling/moAutocorrelationSampling.h b/src/mo/sampling/moAutocorrelationSampling.h old mode 100644 new mode 100755 similarity index 94% rename from mo/src/sampling/moAutocorrelationSampling.h rename to src/mo/sampling/moAutocorrelationSampling.h index 3dbeaf954..f5e5d9c06 --- a/mo/src/sampling/moAutocorrelationSampling.h +++ b/src/mo/sampling/moAutocorrelationSampling.h @@ -35,12 +35,12 @@ #ifndef moAutocorrelationSampling_h #define moAutocorrelationSampling_h -#include -#include -#include -#include -#include -#include +#include "../../eo/eoInit.h" +#include "../eval/moEval.h" +#include "../../eo/eoEvalFunc.h" +#include "../algo/moRandomWalk.h" +#include "../continuator/moFitnessStat.h" +#include "moSampling.h" /** * To compute the autocorrelation function: diff --git a/mo/src/sampling/moDensityOfStatesSampling.h b/src/mo/sampling/moDensityOfStatesSampling.h old mode 100644 new mode 100755 similarity index 94% rename from mo/src/sampling/moDensityOfStatesSampling.h rename to src/mo/sampling/moDensityOfStatesSampling.h index 571f546de..6c15cec5d --- a/mo/src/sampling/moDensityOfStatesSampling.h +++ b/src/mo/sampling/moDensityOfStatesSampling.h @@ -35,11 +35,11 @@ #ifndef moDensityOfStatesSampling_h #define moDensityOfStatesSampling_h -#include -#include -#include -#include -#include +#include "../../eo/eoInit.h" +#include "../../eo/eoEvalFunc.h" +#include "../algo/moRandomSearch.h" +#include "../continuator/moFitnessStat.h" +#include "moSampling.h" /** * To compute the density of states: diff --git a/mo/src/sampling/moFDCsampling.h b/src/mo/sampling/moFDCsampling.h old mode 100644 new mode 100755 similarity index 92% rename from mo/src/sampling/moFDCsampling.h rename to src/mo/sampling/moFDCsampling.h index f3ed422c1..eea33a95b --- a/mo/src/sampling/moFDCsampling.h +++ b/src/mo/sampling/moFDCsampling.h @@ -35,14 +35,14 @@ #ifndef moFDCsampling_h #define moFDCsampling_h -#include -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoInit.h" +#include "../eval/moEval.h" +#include "../../eo/eoEvalFunc.h" +#include "../algo/moRandomSearch.h" +#include "../continuator/moFitnessStat.h" +#include "../../eo/utils/eoDistance.h" +#include "../continuator/moDistanceStat.h" +#include "moSampling.h" /** * To compute the fitness distance correlation: diff --git a/mo/src/sampling/moFitnessCloudSampling.h b/src/mo/sampling/moFitnessCloudSampling.h old mode 100644 new mode 100755 similarity index 92% rename from mo/src/sampling/moFitnessCloudSampling.h rename to src/mo/sampling/moFitnessCloudSampling.h index 15817555a..02769ea49 --- a/mo/src/sampling/moFitnessCloudSampling.h +++ b/src/mo/sampling/moFitnessCloudSampling.h @@ -35,14 +35,14 @@ #ifndef moFitnessCloudSampling_h #define moFitnessCloudSampling_h -#include -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoInit.h" +#include "../neighborhood/moNeighborhood.h" +#include "../eval/moEval.h" +#include "../../eo/eoEvalFunc.h" +#include "../algo/moDummyLS.h" +#include "../continuator/moFitnessStat.h" +#include "../continuator/moNeighborFitnessStat.h" +#include "moSampling.h" /** * To compute an estimation of the fitness cloud, diff --git a/mo/src/sampling/moHillClimberSampling.h b/src/mo/sampling/moHillClimberSampling.h old mode 100644 new mode 100755 similarity index 90% rename from mo/src/sampling/moHillClimberSampling.h rename to src/mo/sampling/moHillClimberSampling.h index 7ca2fb538..37b126361 --- a/mo/src/sampling/moHillClimberSampling.h +++ b/src/mo/sampling/moHillClimberSampling.h @@ -35,17 +35,17 @@ #ifndef moHillClimberSampling_h #define moHillClimberSampling_h -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoInit.h" +#include "../eval/moEval.h" +#include "../../eo/eoEvalFunc.h" +#include "../continuator/moCheckpoint.h" +#include "../perturb/moLocalSearchInit.h" +#include "../algo/moRandomSearch.h" +#include "../algo/moSimpleHC.h" +#include "../continuator/moSolutionStat.h" +#include "../continuator/moMinusOneCounterStat.h" +#include "../continuator/moStatFromStat.h" +#include "moSampling.h" /** * To compute the length and final solution of an adaptive walk: diff --git a/mo/src/sampling/moMHBestFitnessCloudSampling.h b/src/mo/sampling/moMHBestFitnessCloudSampling.h old mode 100644 new mode 100755 similarity index 94% rename from mo/src/sampling/moMHBestFitnessCloudSampling.h rename to src/mo/sampling/moMHBestFitnessCloudSampling.h index ebba8a3b9..c98429c00 --- a/mo/src/sampling/moMHBestFitnessCloudSampling.h +++ b/src/mo/sampling/moMHBestFitnessCloudSampling.h @@ -35,13 +35,13 @@ #ifndef moMHBestFitnessCloudSampling_h #define moMHBestFitnessCloudSampling_h -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoInit.h" +#include "../neighborhood/moNeighborhood.h" +#include "../eval/moEval.h" +#include "../../eo/eoEvalFunc.h" +#include "../algo/moMetropolisHasting.h" +#include "../continuator/moNeighborBestStat.h" +#include "moFitnessCloudSampling.h" /** * To compute an estimation of the fitness cloud, diff --git a/mo/src/sampling/moMHRndFitnessCloudSampling.h b/src/mo/sampling/moMHRndFitnessCloudSampling.h old mode 100644 new mode 100755 similarity index 94% rename from mo/src/sampling/moMHRndFitnessCloudSampling.h rename to src/mo/sampling/moMHRndFitnessCloudSampling.h index 292d42344..b8ed737f5 --- a/mo/src/sampling/moMHRndFitnessCloudSampling.h +++ b/src/mo/sampling/moMHRndFitnessCloudSampling.h @@ -35,13 +35,13 @@ #ifndef moMHRndFitnessCloudSampling_h #define moMHRndFitnessCloudSampling_h -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoInit.h" +#include "../neighborhood/moNeighborhood.h" +#include "../eval/moEval.h" +#include "../../eo/eoEvalFunc.h" +#include "../algo/moMetropolisHasting.h" +#include "../continuator/moNeighborFitnessStat.h" +#include "moFitnessCloudSampling.h" /** * To compute an estimation of the fitness cloud, diff --git a/mo/src/sampling/moNeutralDegreeSampling.h b/src/mo/sampling/moNeutralDegreeSampling.h old mode 100644 new mode 100755 similarity index 93% rename from mo/src/sampling/moNeutralDegreeSampling.h rename to src/mo/sampling/moNeutralDegreeSampling.h index 397a3bd43..41ac000c7 --- a/mo/src/sampling/moNeutralDegreeSampling.h +++ b/src/mo/sampling/moNeutralDegreeSampling.h @@ -35,15 +35,15 @@ #ifndef moNeutralDegreeSampling_h #define moNeutralDegreeSampling_h -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoInit.h" +#include "../neighborhood/moNeighborhood.h" +#include "../eval/moEval.h" +#include "../../eo/eoEvalFunc.h" +#include "../algo/moRandomSearch.h" +#include "../continuator/moFitnessStat.h" +#include "../continuator/moNeighborhoodStat.h" +#include "../continuator/moNeutralDegreeNeighborStat.h" +#include "moSampling.h" /** * To compute the neutral degree: diff --git a/mo/src/sampling/moNeutralWalkSampling.h b/src/mo/sampling/moNeutralWalkSampling.h old mode 100644 new mode 100755 similarity index 87% rename from mo/src/sampling/moNeutralWalkSampling.h rename to src/mo/sampling/moNeutralWalkSampling.h index 789dd8fed..fa1003454 --- a/mo/src/sampling/moNeutralWalkSampling.h +++ b/src/mo/sampling/moNeutralWalkSampling.h @@ -35,24 +35,24 @@ #ifndef moNeutralWalkSampling_h #define moNeutralWalkSampling_h -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoInit.h" +#include "../eval/moEval.h" +#include "../../eo/eoEvalFunc.h" +#include "../algo/moRandomNeutralWalk.h" +#include "moSampling.h" +#include "../perturb/moSolInit.h" +#include "../continuator/moSolutionStat.h" +#include "../../eo/utils/eoDistance.h" +#include "../continuator/moDistanceStat.h" +#include "../continuator/moNeighborhoodStat.h" +#include "../continuator/moMaxNeighborStat.h" +#include "../continuator/moMinNeighborStat.h" +#include "../continuator/moAverageFitnessNeighborStat.h" +#include "../continuator/moStdFitnessNeighborStat.h" +#include "../continuator/moSizeNeighborStat.h" +#include "../continuator/moNbInfNeighborStat.h" +#include "../continuator/moNbSupNeighborStat.h" +#include "../continuator/moNeutralDegreeNeighborStat.h" /** * To explore the evolvability of solutions in a neutral networks: diff --git a/mo/src/sampling/moRndBestFitnessCloudSampling.h b/src/mo/sampling/moRndBestFitnessCloudSampling.h old mode 100644 new mode 100755 similarity index 94% rename from mo/src/sampling/moRndBestFitnessCloudSampling.h rename to src/mo/sampling/moRndBestFitnessCloudSampling.h index 371aead94..04440410a --- a/mo/src/sampling/moRndBestFitnessCloudSampling.h +++ b/src/mo/sampling/moRndBestFitnessCloudSampling.h @@ -35,13 +35,13 @@ #ifndef moRndBestFitnessCloudSampling_h #define moRndBestFitnessCloudSampling_h -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoInit.h" +#include "../neighborhood/moNeighborhood.h" +#include "../eval/moEval.h" +#include "../../eo/eoEvalFunc.h" +#include "../algo/moRandomSearch.h" +#include "../continuator/moNeighborBestStat.h" +#include "moFitnessCloudSampling.h" /** * To compute an estimation of the fitness cloud, diff --git a/mo/src/sampling/moRndRndFitnessCloudSampling.h b/src/mo/sampling/moRndRndFitnessCloudSampling.h old mode 100644 new mode 100755 similarity index 94% rename from mo/src/sampling/moRndRndFitnessCloudSampling.h rename to src/mo/sampling/moRndRndFitnessCloudSampling.h index db6ddb984..2bc419c06 --- a/mo/src/sampling/moRndRndFitnessCloudSampling.h +++ b/src/mo/sampling/moRndRndFitnessCloudSampling.h @@ -35,13 +35,13 @@ #ifndef moRndRndFitnessCloudSampling_h #define moRndRndFitnessCloudSampling_h -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoInit.h" +#include "../neighborhood/moNeighborhood.h" +#include "../eval/moEval.h" +#include "../../eo/eoEvalFunc.h" +#include "../algo/moRandomSearch.h" +#include "../continuator/moNeighborFitnessStat.h" +#include "moFitnessCloudSampling.h" /** * To compute an estimation of the fitness cloud, diff --git a/mo/src/sampling/moSampling.h b/src/mo/sampling/moSampling.h old mode 100644 new mode 100755 similarity index 96% rename from mo/src/sampling/moSampling.h rename to src/mo/sampling/moSampling.h index b118b9d48..9cabdded5 --- a/mo/src/sampling/moSampling.h +++ b/src/mo/sampling/moSampling.h @@ -40,13 +40,13 @@ #include #include #include -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoFunctor.h" +#include "../../eo/utils/eoMonitor.h" +#include "../continuator/moStat.h" +#include "../continuator/moCheckpoint.h" +#include "../continuator/moVectorMonitor.h" +#include "../algo/moLocalSearch.h" +#include "../../eo/eoInit.h" /** diff --git a/mo/src/sampling/moStatistics.h b/src/mo/sampling/moStatistics.h old mode 100644 new mode 100755 similarity index 99% rename from mo/src/sampling/moStatistics.h rename to src/mo/sampling/moStatistics.h index 7c74cbc16..9e427453e --- a/mo/src/sampling/moStatistics.h +++ b/src/mo/sampling/moStatistics.h @@ -37,7 +37,7 @@ #include #include -#include +#include "../../eo/utils/eoDistance.h" /** * Tools to compute some basic statistics diff --git a/moeo/src/CMakeLists.txt b/src/moeo/CMakeLists.txt old mode 100644 new mode 100755 similarity index 75% rename from moeo/src/CMakeLists.txt rename to src/moeo/CMakeLists.txt index 6c645008b..223cf541f --- a/moeo/src/CMakeLists.txt +++ b/src/moeo/CMakeLists.txt @@ -1,9 +1,10 @@ ###################################################################################### ### 0) Include directories ###################################################################################### -include_directories(${EO_SRC_DIR}) -include_directories(${MO_SRC_DIR}/src) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) + +#include_directories(${EO_SRC_DIR}) +#include_directories(${MO_SRC_DIR}/src) +#include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ###################################################################################### ### 1) Set paths @@ -29,15 +30,14 @@ install(TARGETS moeo ARCHIVE DESTINATION ${LIB} COMPONENT libraries) ### 3) Look for headers ###################################################################################### -file(GLOB HDRS moeo) -install(FILES ${HDRS} DESTINATION include${INSTALL_SUB_DIR}/moeo COMPONENT headers) +install(FILES moeo.h DESTINATION ${PROJECT_HDRS_INSTALL_SUBPATH}/${PROJECT_TAG} COMPONENT headers) ###################################################################################### ### 4) Install directories ###################################################################################### -install(DIRECTORY acceptCrit algo archive comparator core distance diversity do explorer fitness hybridization metric replacement scalarStuffs selection utils - DESTINATION include${INSTALL_SUB_DIR}/moeo +install(DIRECTORY acceptCrit algo archive comparator continue core distance diversity do explorer fitness hybridization metric replacement scalarStuffs selection utils + DESTINATION ${PROJECT_HDRS_INSTALL_SUBPATH}/${PROJECT_TAG}/moeo COMPONENT headers FILES_MATCHING PATTERN "*.h" ) diff --git a/moeo/src/algo/moeoASEEA.h b/src/moeo/algo/moeoASEEA.h old mode 100644 new mode 100755 similarity index 94% rename from moeo/src/algo/moeoASEEA.h rename to src/moeo/algo/moeoASEEA.h index b8afcc175..006517033 --- a/moeo/src/algo/moeoASEEA.h +++ b/src/moeo/algo/moeoASEEA.h @@ -41,20 +41,20 @@ #ifndef MOEOASEEA_H_ #define MOEOASEEA_H_ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoBreed.h" +#include "../../eo/eoCloneOps.h" +#include "../../eo/eoContinue.h" +#include "../../eo/eoEvalFunc.h" +#include "../../eo/eoGenContinue.h" +#include "../../eo/eoGeneralBreeder.h" +#include "../../eo/eoGenOp.h" +#include "../../eo/eoPopEvalFunc.h" +#include "../../eo/eoSGAGenOp.h" +#include "moeoEA.h" +#include "../archive/moeoArchive.h" +#include "../selection/moeoRandomSelect.h" +#include "../selection/moeoSelectFromPopAndArch.h" +#include "../selection/moeoDetArchiveSelect.h" /** * ASEEA (Adaptive Simple Elitist Evolutionary Algorithm). diff --git a/moeo/src/algo/moeoAlgo.h b/src/moeo/algo/moeoAlgo.h old mode 100644 new mode 100755 similarity index 100% rename from moeo/src/algo/moeoAlgo.h rename to src/moeo/algo/moeoAlgo.h diff --git a/moeo/src/algo/moeoEA.h b/src/moeo/algo/moeoEA.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/algo/moeoEA.h rename to src/moeo/algo/moeoEA.h index a37407f87..4f2b2bfe6 --- a/moeo/src/algo/moeoEA.h +++ b/src/moeo/algo/moeoEA.h @@ -38,7 +38,7 @@ #ifndef MOEOEA_H_ #define MOEOEA_H_ -#include +#include "moeoPopAlgo.h" /** * Abstract class for multi-objective evolutionary algorithms. diff --git a/moeo/src/algo/moeoEasyEA.h b/src/moeo/algo/moeoEasyEA.h similarity index 95% rename from moeo/src/algo/moeoEasyEA.h rename to src/moeo/algo/moeoEasyEA.h index 8155bfaaa..c3a35dd7b 100755 --- a/moeo/src/algo/moeoEasyEA.h +++ b/src/moeo/algo/moeoEasyEA.h @@ -38,18 +38,18 @@ #ifndef _MOEOEASYEA_H #define _MOEOEASYEA_H -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/apply.h" +#include "../../eo/eoBreed.h" +#include "../../eo/eoContinue.h" +#include "../../eo/eoMergeReduce.h" +#include "../../eo/eoPopEvalFunc.h" +#include "../../eo/eoSelect.h" +#include "../../eo/eoTransform.h" +#include "moeoEA.h" +#include "../diversity/moeoDiversityAssignment.h" +#include "../diversity/moeoDummyDiversityAssignment.h" +#include "../fitness/moeoFitnessAssignment.h" +#include "../replacement/moeoReplacement.h" /** * An easy class to design multi-objective evolutionary algorithms. diff --git a/moeo/src/algo/moeoIBEA.h b/src/moeo/algo/moeoIBEA.h old mode 100644 new mode 100755 similarity index 95% rename from moeo/src/algo/moeoIBEA.h rename to src/moeo/algo/moeoIBEA.h index b8170a08e..f94b154e0 --- a/moeo/src/algo/moeoIBEA.h +++ b/src/moeo/algo/moeoIBEA.h @@ -38,21 +38,21 @@ #ifndef MOEOIBEA_H_ #define MOEOIBEA_H_ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoBreed.h" +#include "../../eo/eoCloneOps.h" +#include "../../eo/eoContinue.h" +#include "../../eo/eoEvalFunc.h" +#include "../../eo/eoGenContinue.h" +#include "../../eo/eoGeneralBreeder.h" +#include "../../eo/eoGenOp.h" +#include "../../eo/eoPopEvalFunc.h" +#include "../../eo/eoSGAGenOp.h" +#include "moeoEA.h" +#include "../diversity/moeoDummyDiversityAssignment.h" +#include "../fitness/moeoExpBinaryIndicatorBasedFitnessAssignment.h" +#include "../metric/moeoNormalizedSolutionVsSolutionBinaryMetric.h" +#include "../replacement/moeoEnvironmentalReplacement.h" +#include "../selection/moeoDetTournamentSelect.h" /** * IBEA (Indicator-Based Evolutionary Algorithm). diff --git a/moeo/src/algo/moeoMOGA.h b/src/moeo/algo/moeoMOGA.h old mode 100644 new mode 100755 similarity index 94% rename from moeo/src/algo/moeoMOGA.h rename to src/moeo/algo/moeoMOGA.h index 5bc3fad90..5f71e5305 --- a/moeo/src/algo/moeoMOGA.h +++ b/src/moeo/algo/moeoMOGA.h @@ -39,19 +39,19 @@ #ifndef MOEOMOGA_H_ #define MOEOMOGA_H_ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoBreed.h" +#include "../../eo/eoContinue.h" +#include "../../eo/eoEvalFunc.h" +#include "../../eo/eoGenContinue.h" +#include "../../eo/eoGeneralBreeder.h" +#include "../../eo/eoGenOp.h" +#include "../../eo/eoPopEvalFunc.h" +#include "../../eo/eoSGAGenOp.h" +#include "moeoEA.h" +#include "../diversity/moeoFrontByFrontSharingDiversityAssignment.h" +#include "../fitness/moeoDominanceRankFitnessAssignment.h" +#include "../replacement/moeoElitistReplacement.h" +#include "../selection/moeoDetTournamentSelect.h" /** * MOGA. diff --git a/moeo/src/algo/moeoNSGA.h b/src/moeo/algo/moeoNSGA.h old mode 100644 new mode 100755 similarity index 94% rename from moeo/src/algo/moeoNSGA.h rename to src/moeo/algo/moeoNSGA.h index 1db0b0f14..30a4f4de5 --- a/moeo/src/algo/moeoNSGA.h +++ b/src/moeo/algo/moeoNSGA.h @@ -38,19 +38,19 @@ #ifndef MOEONSGA_H_ #define MOEONSGA_H_ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoBreed.h" +#include "../../eo/eoContinue.h" +#include "../../eo/eoEvalFunc.h" +#include "../../eo/eoGenContinue.h" +#include "../../eo/eoGeneralBreeder.h" +#include "../../eo/eoGenOp.h" +#include "../../eo/eoPopEvalFunc.h" +#include "../../eo/eoSGAGenOp.h" +#include "moeoEA.h" +#include "../diversity/moeoFrontByFrontSharingDiversityAssignment.h" +#include "../fitness/moeoDominanceDepthFitnessAssignment.h" +#include "../replacement/moeoElitistReplacement.h" +#include "../selection/moeoDetTournamentSelect.h" /** * NSGA (Non-dominated Sorting Genetic Algorithm). diff --git a/moeo/src/algo/moeoNSGAII.h b/src/moeo/algo/moeoNSGAII.h old mode 100644 new mode 100755 similarity index 94% rename from moeo/src/algo/moeoNSGAII.h rename to src/moeo/algo/moeoNSGAII.h index 137592865..0a5b6a554 --- a/moeo/src/algo/moeoNSGAII.h +++ b/src/moeo/algo/moeoNSGAII.h @@ -38,20 +38,20 @@ #ifndef MOEONSGAII_H_ #define MOEONSGAII_H_ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoBreed.h" +#include "../../eo/eoCloneOps.h" +#include "../../eo/eoContinue.h" +#include "../../eo/eoEvalFunc.h" +#include "../../eo/eoGenContinue.h" +#include "../../eo/eoGeneralBreeder.h" +#include "../../eo/eoGenOp.h" +#include "../../eo/eoPopEvalFunc.h" +#include "../../eo/eoSGAGenOp.h" +#include "moeoEA.h" +#include "../diversity/moeoFrontByFrontCrowdingDiversityAssignment.h" +#include "../fitness/moeoDominanceDepthFitnessAssignment.h" +#include "../replacement/moeoElitistReplacement.h" +#include "../selection/moeoDetTournamentSelect.h" /** * NSGA-II (Non-dominated Sorting Genetic Algorithm II). diff --git a/moeo/src/algo/moeoPLS1.h b/src/moeo/algo/moeoPLS1.h old mode 100644 new mode 100755 similarity index 95% rename from moeo/src/algo/moeoPLS1.h rename to src/moeo/algo/moeoPLS1.h index 04558ecf0..c0eb7ef3c --- a/moeo/src/algo/moeoPLS1.h +++ b/src/moeo/algo/moeoPLS1.h @@ -39,9 +39,9 @@ #ifndef _MOEOPLS1_H #define _MOEOPLS1_H -#include -#include -#include +#include "moeoUnifiedDominanceBasedLS.h" +#include "../selection/moeoNumberUnvisitedSelect.h" +#include "../explorer/moeoExhaustiveNeighborhoodExplorer.h" /** * PLS1 algorithm diff --git a/moeo/src/algo/moeoPLS2.h b/src/moeo/algo/moeoPLS2.h old mode 100644 new mode 100755 similarity index 96% rename from moeo/src/algo/moeoPLS2.h rename to src/moeo/algo/moeoPLS2.h index 84a50c1c4..7fdc81d55 --- a/moeo/src/algo/moeoPLS2.h +++ b/src/moeo/algo/moeoPLS2.h @@ -39,9 +39,9 @@ #ifndef _MOEOPLS2_H #define _MOEOPLS2_H -#include -#include -#include +#include "moeoUnifiedDominanceBasedLS.h" +#include "../selection/moeoExhaustiveUnvisitedSelect.h" +#include "../explorer/moeoExhaustiveNeighborhoodExplorer.h" /** * PLS2 algorithm diff --git a/moeo/src/algo/moeoPopAlgo.h b/src/moeo/algo/moeoPopAlgo.h old mode 100644 new mode 100755 similarity index 97% rename from moeo/src/algo/moeoPopAlgo.h rename to src/moeo/algo/moeoPopAlgo.h index a3b948a3e..ef51b423a --- a/moeo/src/algo/moeoPopAlgo.h +++ b/src/moeo/algo/moeoPopAlgo.h @@ -39,8 +39,8 @@ #ifndef MOEOPOPALGO_H_ #define MOEOPOPALGO_H_ -#include -#include +#include "../../eo/eoAlgo.h" +#include "moeoAlgo.h" /** * Abstract class for population based multi-objective evolutionary algorithms. diff --git a/moeo/src/algo/moeoPopLS.h b/src/moeo/algo/moeoPopLS.h similarity index 98% rename from moeo/src/algo/moeoPopLS.h rename to src/moeo/algo/moeoPopLS.h index 357a9fb61..9c58eab57 100755 --- a/moeo/src/algo/moeoPopLS.h +++ b/src/moeo/algo/moeoPopLS.h @@ -39,7 +39,7 @@ #ifndef MOEOPOPLS_H_ #define MOEOPOPLS_H_ -#include +#include "moeoPopAlgo.h" /** * Abstract class for Population based multi-objective local search. diff --git a/moeo/src/algo/moeoSEEA.h b/src/moeo/algo/moeoSEEA.h old mode 100644 new mode 100755 similarity index 92% rename from moeo/src/algo/moeoSEEA.h rename to src/moeo/algo/moeoSEEA.h index 055fc80f8..fabdadca1 --- a/moeo/src/algo/moeoSEEA.h +++ b/src/moeo/algo/moeoSEEA.h @@ -37,20 +37,20 @@ #ifndef MOEOSEEA_H_ #define MOEOSEEA_H_ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoBreed.h" +#include "../../eo/eoCloneOps.h" +#include "../../eo/eoContinue.h" +#include "../../eo/eoEvalFunc.h" +#include "../../eo/eoGenContinue.h" +#include "../../eo/eoGeneralBreeder.h" +#include "../../eo/eoGenOp.h" +#include "../../eo/eoPopEvalFunc.h" +#include "../../eo/eoSGAGenOp.h" +#include "moeoEA.h" +#include "../archive/moeoArchive.h" +#include "../replacement/moeoGenerationalReplacement.h" +#include "../selection/moeoRandomSelect.h" +#include "../selection/moeoSelectFromPopAndArch.h" /** * SEEA (Simple Elitist Evolutionary Algorithm). diff --git a/moeo/src/algo/moeoSPEA2.h b/src/moeo/algo/moeoSPEA2.h old mode 100644 new mode 100755 similarity index 92% rename from moeo/src/algo/moeoSPEA2.h rename to src/moeo/algo/moeoSPEA2.h index a6416ecc2..c3c97aa63 --- a/moeo/src/algo/moeoSPEA2.h +++ b/src/moeo/algo/moeoSPEA2.h @@ -40,24 +40,24 @@ #ifndef MOEOSPEA2_H_ #define MOEOSPEA2_H_ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoBreed.h" +#include "../../eo/eoCloneOps.h" +#include "../../eo/eoContinue.h" +#include "../../eo/eoEvalFunc.h" +#include "../../eo/eoGenContinue.h" +#include "../../eo/eoGeneralBreeder.h" +#include "../../eo/eoGenOp.h" +#include "../../eo/eoPopEvalFunc.h" +#include "../../eo/eoSGAGenOp.h" +#include "moeoEA.h" +#include "../diversity/moeoNearestNeighborDiversityAssignment.h" +#include "../fitness/moeoDominanceCountFitnessAssignment.h" +#include "../fitness/moeoDominanceCountRankingFitnessAssignment.h" +#include "../replacement/moeoGenerationalReplacement.h" +#include "../selection/moeoDetTournamentSelect.h" +#include "../archive/moeoFixedSizeArchive.h" +#include "../distance/moeoEuclideanDistance.h" +#include "../selection/moeoSelectFromPopAndArch.h" /** * SPEA2 algorithm. diff --git a/moeo/src/algo/moeoUnifiedDominanceBasedLS.h b/src/moeo/algo/moeoUnifiedDominanceBasedLS.h similarity index 94% rename from moeo/src/algo/moeoUnifiedDominanceBasedLS.h rename to src/moeo/algo/moeoUnifiedDominanceBasedLS.h index 0c3d819c1..eb9c639f8 100755 --- a/moeo/src/algo/moeoUnifiedDominanceBasedLS.h +++ b/src/moeo/algo/moeoUnifiedDominanceBasedLS.h @@ -39,14 +39,14 @@ #ifndef _MOEOUNIFIEDDOMINANCEBASEDLS_H #define _MOEOUNIFIEDDOMINANCEBASEDLS_H -#include -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoPop.h" +#include "../../eo/eoContinue.h" +#include "../../eo/eoEvalFunc.h" +#include "../../eo/eoPopEvalFunc.h" +#include "../archive/moeoArchive.h" +#include "moeoPopLS.h" +#include "../explorer/moeoPopNeighborhoodExplorer.h" +#include "../selection/moeoUnvisitedSelect.h" /** * A class to design dominance based local searches diff --git a/moeo/src/archive/moeo2DMinHypervolumeArchive.h b/src/moeo/archive/moeo2DMinHypervolumeArchive.h old mode 100644 new mode 100755 similarity index 100% rename from moeo/src/archive/moeo2DMinHypervolumeArchive.h rename to src/moeo/archive/moeo2DMinHypervolumeArchive.h diff --git a/moeo/src/archive/moeoArchive.h b/src/moeo/archive/moeoArchive.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/archive/moeoArchive.h rename to src/moeo/archive/moeoArchive.h index 0d3cfe3f4..850e3e52e --- a/moeo/src/archive/moeoArchive.h +++ b/src/moeo/archive/moeoArchive.h @@ -38,9 +38,9 @@ #ifndef MOEOARCHIVE_H_ #define MOEOARCHIVE_H_ -#include -#include -#include +#include "../../eo/eoPop.h" +#include "../comparator/moeoObjectiveVectorComparator.h" +#include "../comparator/moeoParetoObjectiveVectorComparator.h" /** diff --git a/moeo/src/archive/moeoBoundedArchive.h b/src/moeo/archive/moeoBoundedArchive.h old mode 100644 new mode 100755 similarity index 99% rename from moeo/src/archive/moeoBoundedArchive.h rename to src/moeo/archive/moeoBoundedArchive.h index 0370e08bc..86dd2e5ca --- a/moeo/src/archive/moeoBoundedArchive.h +++ b/src/moeo/archive/moeoBoundedArchive.h @@ -41,7 +41,7 @@ #ifndef MOEOBOUNDEDARCHIVE_H_ #define MOEOBOUNDEDARCHIVE_H_ -#include +#include "moeoArchive.h" /** * This class represents a bounded archive which different parameters to specify. diff --git a/moeo/src/archive/moeoEpsilonHyperboxArchive.h b/src/moeo/archive/moeoEpsilonHyperboxArchive.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/archive/moeoEpsilonHyperboxArchive.h rename to src/moeo/archive/moeoEpsilonHyperboxArchive.h index 7a773e0c8..c0de85460 --- a/moeo/src/archive/moeoEpsilonHyperboxArchive.h +++ b/src/moeo/archive/moeoEpsilonHyperboxArchive.h @@ -41,12 +41,12 @@ #ifndef MOEOEPSILONBOXARCHIVE_H_ #define MOEOEPSILONBOXARCHIVE_H_ -#include -#include -#include -#include -#include -#include +#include "../../eo/eoPop.h" +#include "../comparator/moeoComparator.h" +#include "../comparator/moeoObjectiveVectorComparator.h" +#include "../distance/moeoEuclideanDistance.h" +#include "../utils/moeoObjectiveVectorNormalizer.h" +#include "../../eo/utils/eoRealBounds.h" /** * This class represents an epsilon hyperbox archive. diff --git a/moeo/src/archive/moeoFitDivBoundedArchive.h b/src/moeo/archive/moeoFitDivBoundedArchive.h old mode 100644 new mode 100755 similarity index 96% rename from moeo/src/archive/moeoFitDivBoundedArchive.h rename to src/moeo/archive/moeoFitDivBoundedArchive.h index 32e13ec5a..3bd082062 --- a/moeo/src/archive/moeoFitDivBoundedArchive.h +++ b/src/moeo/archive/moeoFitDivBoundedArchive.h @@ -42,11 +42,11 @@ #define MOEOFITDIVBOUNDEDARCHIVE_H_ #include -#include -#include -#include -#include -#include +#include "../../eo/eoPop.h" +#include "../comparator/moeoComparator.h" +#include "../comparator/moeoObjectiveVectorComparator.h" +#include "../diversity/moeoDiversityAssignment.h" +#include "../fitness/moeoFitnessAssignment.h" /** * This class represents a bounded archive which different parameters to specify. diff --git a/moeo/src/archive/moeoFixedSizeArchive.h b/src/moeo/archive/moeoFixedSizeArchive.h old mode 100644 new mode 100755 similarity index 94% rename from moeo/src/archive/moeoFixedSizeArchive.h rename to src/moeo/archive/moeoFixedSizeArchive.h index 99437e899..c74ebef39 --- a/moeo/src/archive/moeoFixedSizeArchive.h +++ b/src/moeo/archive/moeoFixedSizeArchive.h @@ -41,9 +41,9 @@ #ifndef MOEOFIXEDSIZEARCHIVE_H_ #define MOEOFIXEDSIZEARCHIVE_H_ -#include -#include -#include +#include "../../eo/eoPop.h" +#include "moeoArchive.h" +#include "../comparator/moeoObjectiveVectorComparator.h" /** * Abstract class for representing a fixed size archive ; diff --git a/moeo/src/archive/moeoImprOnlyBoundedArchive.h b/src/moeo/archive/moeoImprOnlyBoundedArchive.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/archive/moeoImprOnlyBoundedArchive.h rename to src/moeo/archive/moeoImprOnlyBoundedArchive.h index 78aac5e16..3e5fb2118 --- a/moeo/src/archive/moeoImprOnlyBoundedArchive.h +++ b/src/moeo/archive/moeoImprOnlyBoundedArchive.h @@ -41,8 +41,8 @@ #ifndef MOEOImprOnlyBoundedArchive_H_ #define MOEOImprOnlyBoundedArchive_H_ -#include -#include +#include "moeoBoundedArchive.h" +#include "moeoArchive.h" /** * This class represents a bounded archive which different parameters to specify. */ diff --git a/moeo/src/archive/moeoSPEA2Archive.h b/src/moeo/archive/moeoSPEA2Archive.h old mode 100644 new mode 100755 similarity index 95% rename from moeo/src/archive/moeoSPEA2Archive.h rename to src/moeo/archive/moeoSPEA2Archive.h index f7ea9927d..552c89676 --- a/moeo/src/archive/moeoSPEA2Archive.h +++ b/src/moeo/archive/moeoSPEA2Archive.h @@ -43,13 +43,13 @@ #include #include -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoPop.h" +#include "moeoFixedSizeArchive.h" +#include "../comparator/moeoComparator.h" +#include "../comparator/moeoFitnessThenDiversityComparator.h" +#include "../comparator/moeoObjectiveVectorComparator.h" +#include "../distance/moeoDistance.h" +#include "../distance/moeoEuclideanDistance.h" /** * This class represents a bounded archive as defined in the SPEA2 algorithm. diff --git a/moeo/src/archive/moeoUnboundedArchive.h b/src/moeo/archive/moeoUnboundedArchive.h old mode 100644 new mode 100755 similarity index 94% rename from moeo/src/archive/moeoUnboundedArchive.h rename to src/moeo/archive/moeoUnboundedArchive.h index 7d328221a..779eac760 --- a/moeo/src/archive/moeoUnboundedArchive.h +++ b/src/moeo/archive/moeoUnboundedArchive.h @@ -40,9 +40,9 @@ #ifndef MOEOUNBOUNDEDARCHIVE_H_ #define MOEOUNBOUNDEDARCHIVE_H_ -#include -#include -#include +#include "../../eo/eoPop.h" +#include "moeoArchive.h" +#include "../comparator/moeoObjectiveVectorComparator.h" /** * An unbounded archive is an archive storing an unbounded number of non-dominated solutions. diff --git a/moeo/src/comparator/moeoAggregativeComparator.h b/src/moeo/comparator/moeoAggregativeComparator.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/comparator/moeoAggregativeComparator.h rename to src/moeo/comparator/moeoAggregativeComparator.h index e969f27d9..29c129f76 --- a/moeo/src/comparator/moeoAggregativeComparator.h +++ b/src/moeo/comparator/moeoAggregativeComparator.h @@ -38,7 +38,7 @@ #ifndef MOEOAGGREGATIVECOMPARATOR_H_ #define MOEOAGGREGATIVECOMPARATOR_H_ -#include +#include "moeoComparator.h" /** * Functor allowing to compare two solutions according to their fitness and diversity values, each according to its aggregative value. diff --git a/moeo/src/comparator/moeoComparator.h b/src/moeo/comparator/moeoComparator.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/comparator/moeoComparator.h rename to src/moeo/comparator/moeoComparator.h index ca0a1afe9..c6eeb4754 --- a/moeo/src/comparator/moeoComparator.h +++ b/src/moeo/comparator/moeoComparator.h @@ -38,7 +38,7 @@ #ifndef MOEOCOMPARATOR_H_ #define MOEOCOMPARATOR_H_ -#include +#include "../../eo/eoFunctor.h" /** * Functor allowing to compare two solutions. diff --git a/moeo/src/comparator/moeoDiversityThenFitnessComparator.h b/src/moeo/comparator/moeoDiversityThenFitnessComparator.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/comparator/moeoDiversityThenFitnessComparator.h rename to src/moeo/comparator/moeoDiversityThenFitnessComparator.h index b094a7787..78493ee38 --- a/moeo/src/comparator/moeoDiversityThenFitnessComparator.h +++ b/src/moeo/comparator/moeoDiversityThenFitnessComparator.h @@ -38,7 +38,7 @@ #ifndef MOEODIVERSITYTHENFITNESSCOMPARATOR_H_ #define MOEODIVERSITYTHENFITNESSCOMPARATOR_H_ -#include +#include "moeoComparator.h" /** * Functor allowing to compare two solutions according to their diversity values, then according to their fitness values. diff --git a/moeo/src/comparator/moeoEpsilonObjectiveVectorComparator.h b/src/moeo/comparator/moeoEpsilonObjectiveVectorComparator.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/comparator/moeoEpsilonObjectiveVectorComparator.h rename to src/moeo/comparator/moeoEpsilonObjectiveVectorComparator.h index 8d7639fc3..690a6a054 --- a/moeo/src/comparator/moeoEpsilonObjectiveVectorComparator.h +++ b/src/moeo/comparator/moeoEpsilonObjectiveVectorComparator.h @@ -38,7 +38,7 @@ #ifndef MOEOEPSILONOBJECTIVEVECTORCOMPARATOR_H_ #define MOEOEPSILONOBJECTIVEVECTORCOMPARATOR_H_ -#include +#include "moeoObjectiveVectorComparator.h" /** * This functor class allows to compare 2 objective vectors according to epsilon dominance. diff --git a/moeo/src/comparator/moeoFitnessComparator.h b/src/moeo/comparator/moeoFitnessComparator.h similarity index 98% rename from moeo/src/comparator/moeoFitnessComparator.h rename to src/moeo/comparator/moeoFitnessComparator.h index a90d3a52c..262f5371d 100755 --- a/moeo/src/comparator/moeoFitnessComparator.h +++ b/src/moeo/comparator/moeoFitnessComparator.h @@ -39,7 +39,7 @@ #ifndef MOEOFITNESSCOMPARATOR_H_ #define MOEOFITNESSCOMPARATOR_H_ -#include +#include "moeoComparator.h" /** * Functor allowing to compare two solutions according to their fitness values diff --git a/moeo/src/comparator/moeoFitnessThenDiversityComparator.h b/src/moeo/comparator/moeoFitnessThenDiversityComparator.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/comparator/moeoFitnessThenDiversityComparator.h rename to src/moeo/comparator/moeoFitnessThenDiversityComparator.h index 910e5458f..df6436e20 --- a/moeo/src/comparator/moeoFitnessThenDiversityComparator.h +++ b/src/moeo/comparator/moeoFitnessThenDiversityComparator.h @@ -38,7 +38,7 @@ #ifndef MOEOFITNESSTHENDIVERSITYCOMPARATOR_H_ #define MOEOFITNESSTHENDIVERSITYCOMPARATOR_H_ -#include +#include "moeoComparator.h" /** * Functor allowing to compare two solutions according to their fitness values, then according to their diversity values. diff --git a/moeo/src/comparator/moeoGDominanceObjectiveVectorComparator.h b/src/moeo/comparator/moeoGDominanceObjectiveVectorComparator.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/comparator/moeoGDominanceObjectiveVectorComparator.h rename to src/moeo/comparator/moeoGDominanceObjectiveVectorComparator.h index ecdb54064..c75c5b21b --- a/moeo/src/comparator/moeoGDominanceObjectiveVectorComparator.h +++ b/src/moeo/comparator/moeoGDominanceObjectiveVectorComparator.h @@ -38,7 +38,7 @@ #ifndef MOEOGDOMINANCEOBJECTIVEVECTORCOMPARATOR_H_ #define MOEOGDOMINANCEOBJECTIVEVECTORCOMPARATOR_H_ -#include +#include "moeoObjectiveVectorComparator.h" /** * This functor class allows to compare 2 objective vectors according to g-dominance. diff --git a/moeo/src/comparator/moeoObjectiveObjectiveVectorComparator.h b/src/moeo/comparator/moeoObjectiveObjectiveVectorComparator.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/comparator/moeoObjectiveObjectiveVectorComparator.h rename to src/moeo/comparator/moeoObjectiveObjectiveVectorComparator.h index 86ff74e86..d51f1c1bf --- a/moeo/src/comparator/moeoObjectiveObjectiveVectorComparator.h +++ b/src/moeo/comparator/moeoObjectiveObjectiveVectorComparator.h @@ -38,7 +38,7 @@ #ifndef MOEOOBJECTIVEOBJECTIVEVECTORCOMPARATOR_H_ #define MOEOOBJECTIVEOBJECTIVEVECTORCOMPARATOR_H_ -#include +#include "moeoObjectiveVectorComparator.h" /** * Functor allowing to compare two objective vectors according to their first objective value, then their second, and so on. diff --git a/moeo/src/comparator/moeoObjectiveVectorComparator.h b/src/moeo/comparator/moeoObjectiveVectorComparator.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/comparator/moeoObjectiveVectorComparator.h rename to src/moeo/comparator/moeoObjectiveVectorComparator.h index 76a41eff1..8fac3e6f0 --- a/moeo/src/comparator/moeoObjectiveVectorComparator.h +++ b/src/moeo/comparator/moeoObjectiveVectorComparator.h @@ -39,7 +39,7 @@ #define MOEOOBJECTIVEVECTORCOMPARATOR_H_ #include -#include +#include "../../eo/eoFunctor.h" /** * Abstract class allowing to compare 2 objective vectors. diff --git a/moeo/src/comparator/moeoOneObjectiveComparator.h b/src/moeo/comparator/moeoOneObjectiveComparator.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/comparator/moeoOneObjectiveComparator.h rename to src/moeo/comparator/moeoOneObjectiveComparator.h index 32b7ca093..ee975845e --- a/moeo/src/comparator/moeoOneObjectiveComparator.h +++ b/src/moeo/comparator/moeoOneObjectiveComparator.h @@ -38,7 +38,7 @@ #ifndef MOEOONEOBJECTIVECOMPARATOR_H_ #define MOEOONEOBJECTIVECOMPARATOR_H_ -#include +#include "moeoComparator.h" /** * Functor allowing to compare two solutions according to one objective. diff --git a/moeo/src/comparator/moeoParetoDualObjectiveVectorComparator.h b/src/moeo/comparator/moeoParetoDualObjectiveVectorComparator.h old mode 100644 new mode 100755 similarity index 96% rename from moeo/src/comparator/moeoParetoDualObjectiveVectorComparator.h rename to src/moeo/comparator/moeoParetoDualObjectiveVectorComparator.h index e7e1ffd06..11ec674d5 --- a/moeo/src/comparator/moeoParetoDualObjectiveVectorComparator.h +++ b/src/moeo/comparator/moeoParetoDualObjectiveVectorComparator.h @@ -27,7 +27,7 @@ Contact: http://eodev.sourceforge.net #ifndef MOEOPARETODUALOBJECTIVEVECTORCOMPARATOR_H_ #define MOEOPARETODUALOBJECTIVEVECTORCOMPARATOR_H_ -#include +#include "moeoParetoObjectiveVectorComparator.h" /** * This functor class allows to compare 2 objective vectors according to Pareto dominance. diff --git a/moeo/src/comparator/moeoParetoObjectiveVectorComparator.h b/src/moeo/comparator/moeoParetoObjectiveVectorComparator.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/comparator/moeoParetoObjectiveVectorComparator.h rename to src/moeo/comparator/moeoParetoObjectiveVectorComparator.h index 34757114e..e1a61dd6a --- a/moeo/src/comparator/moeoParetoObjectiveVectorComparator.h +++ b/src/moeo/comparator/moeoParetoObjectiveVectorComparator.h @@ -38,7 +38,7 @@ #ifndef MOEOPARETOOBJECTIVEVECTORCOMPARATOR_H_ #define MOEOPARETOOBJECTIVEVECTORCOMPARATOR_H_ -#include +#include "moeoObjectiveVectorComparator.h" /** * This functor class allows to compare 2 objective vectors according to Pareto dominance. diff --git a/moeo/src/comparator/moeoPtrComparator.h b/src/moeo/comparator/moeoPtrComparator.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/comparator/moeoPtrComparator.h rename to src/moeo/comparator/moeoPtrComparator.h index 6ee76a7b0..c2171d55c --- a/moeo/src/comparator/moeoPtrComparator.h +++ b/src/moeo/comparator/moeoPtrComparator.h @@ -21,7 +21,7 @@ #ifndef MOEOPTRCOMPARATOR_H_ #define MOEOPTRCOMPARATOR_H_ -#include +#include "moeoComparator.h" /** * Functor allowing to compare two solutions.referenced by pointers. * Several MOEO related stuff have to sort populations according some criterion diff --git a/moeo/src/comparator/moeoStrictObjectiveVectorComparator.h b/src/moeo/comparator/moeoStrictObjectiveVectorComparator.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/comparator/moeoStrictObjectiveVectorComparator.h rename to src/moeo/comparator/moeoStrictObjectiveVectorComparator.h index 55863e427..792afc489 --- a/moeo/src/comparator/moeoStrictObjectiveVectorComparator.h +++ b/src/moeo/comparator/moeoStrictObjectiveVectorComparator.h @@ -38,7 +38,7 @@ #ifndef MOEOSTRICTOBJECTIVEVECTORCOMPARATOR_H_ #define MOEOSTRICTOBJECTIVEVECTORCOMPARATOR_H_ -#include +#include "moeoObjectiveVectorComparator.h" /** * This functor class allows to compare 2 objective vectors according to strict dominance. diff --git a/moeo/src/comparator/moeoWeakObjectiveVectorComparator.h b/src/moeo/comparator/moeoWeakObjectiveVectorComparator.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/comparator/moeoWeakObjectiveVectorComparator.h rename to src/moeo/comparator/moeoWeakObjectiveVectorComparator.h index 3974b9429..44fe60734 --- a/moeo/src/comparator/moeoWeakObjectiveVectorComparator.h +++ b/src/moeo/comparator/moeoWeakObjectiveVectorComparator.h @@ -38,7 +38,7 @@ #ifndef MOEOWEAKOBJECTIVEVECTORCOMPARATOR_H_ #define MOEOWEAKOBJECTIVEVECTORCOMPARATOR_H_ -#include +#include "moeoObjectiveVectorComparator.h" /** * This functor class allows to compare 2 objective vectors according to weak dominance. diff --git a/moeo/src/continue/moeoDualHypContinue.h b/src/moeo/continue/moeoDualHypContinue.h old mode 100644 new mode 100755 similarity index 99% rename from moeo/src/continue/moeoDualHypContinue.h rename to src/moeo/continue/moeoDualHypContinue.h index 99c33d45f..28a92c813 --- a/moeo/src/continue/moeoDualHypContinue.h +++ b/src/moeo/continue/moeoDualHypContinue.h @@ -26,7 +26,7 @@ Contact: http://eodev.sourceforge.net #ifndef _moeoDualHypContinue_h #define _moeoDualHypContinue_h -#include +#include "moeoHypContinue.h" /** Continues until the (feasible or unfeasible) given Pareto set is reached. diff --git a/moeo/src/continue/moeoHypContinue.h b/src/moeo/continue/moeoHypContinue.h old mode 100644 new mode 100755 similarity index 96% rename from moeo/src/continue/moeoHypContinue.h rename to src/moeo/continue/moeoHypContinue.h index bbc1a799b..258fc3539 --- a/moeo/src/continue/moeoHypContinue.h +++ b/src/moeo/continue/moeoHypContinue.h @@ -39,10 +39,10 @@ #ifndef _moeoHypContinue_h #define _moeoHypContinue_h -#include -#include -#include -#include +#include "../../eo/eoContinue.h" +#include "../../eo/utils/eoLogger.h" +#include "../metric/moeoHyperVolumeMetric.h" +#include "../archive/moeoUnboundedArchive.h" /** Continues until the given ParetoSet level is reached. diff --git a/moeo/src/core/MOEO.h b/src/moeo/core/MOEO.h old mode 100644 new mode 100755 similarity index 99% rename from moeo/src/core/MOEO.h rename to src/moeo/core/MOEO.h index 1a9e1b118..3dc180f13 --- a/moeo/src/core/MOEO.h +++ b/src/moeo/core/MOEO.h @@ -41,7 +41,7 @@ #include #include #include -#include +#include "../../eo/EO.h" /** * Base class allowing to represent a solution (an individual) for multi-objective optimization. diff --git a/moeo/src/core/moeoBitVector.h b/src/moeo/core/moeoBitVector.h old mode 100644 new mode 100755 similarity index 99% rename from moeo/src/core/moeoBitVector.h rename to src/moeo/core/moeoBitVector.h index f3c1be705..bca399e64 --- a/moeo/src/core/moeoBitVector.h +++ b/src/moeo/core/moeoBitVector.h @@ -38,7 +38,7 @@ #ifndef MOEOBITVECTOR_H_ #define MOEOBITVECTOR_H_ -#include +#include "moeoVector.h" /** * This class is an implementationeo of a simple bit-valued moeoVector. diff --git a/moeo/src/core/moeoDualRealObjectiveVector.h b/src/moeo/core/moeoDualRealObjectiveVector.h old mode 100644 new mode 100755 similarity index 96% rename from moeo/src/core/moeoDualRealObjectiveVector.h rename to src/moeo/core/moeoDualRealObjectiveVector.h index 64bf65f57..c1ef74cc4 --- a/moeo/src/core/moeoDualRealObjectiveVector.h +++ b/src/moeo/core/moeoDualRealObjectiveVector.h @@ -29,11 +29,9 @@ Contact: http://eodev.sourceforge.net #include #include -#include - -#include -#include -#include +#include "../comparator/moeoObjectiveObjectiveVectorComparator.h" +#include "../comparator/moeoParetoObjectiveVectorComparator.h" +#include "moeoScalarObjectiveVector.h" template < class ObjectiveVectorTraits, class T = eoMaximizingDualFitness /* can be an eoMinimizingDualFitness */> class moeoDualRealObjectiveVector : public moeoScalarObjectiveVector diff --git a/moeo/src/core/moeoEvalFunc.h b/src/moeo/core/moeoEvalFunc.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/core/moeoEvalFunc.h rename to src/moeo/core/moeoEvalFunc.h index 767fe8f9d..d0b6fed6b --- a/moeo/src/core/moeoEvalFunc.h +++ b/src/moeo/core/moeoEvalFunc.h @@ -38,7 +38,7 @@ #ifndef MOEOEVALFUNC_H_ #define MOEOEVALFUNC_H_ -#include +#include "../../eo/eoEvalFunc.h" /* * Functor that evaluates one MOEO by setting all its objective values. diff --git a/moeo/src/core/moeoIntVector.h b/src/moeo/core/moeoIntVector.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/core/moeoIntVector.h rename to src/moeo/core/moeoIntVector.h index 57904a1c6..e80937080 --- a/moeo/src/core/moeoIntVector.h +++ b/src/moeo/core/moeoIntVector.h @@ -39,7 +39,7 @@ #ifndef MOEOINTVECTOR_H_ #define MOEOINTVECTOR_H_ -#include +#include "moeoVector.h" /** * This class is an implementation of a simple double-valued moeoVector. diff --git a/moeo/src/core/moeoObjectiveVector.h b/src/moeo/core/moeoObjectiveVector.h old mode 100644 new mode 100755 similarity index 100% rename from moeo/src/core/moeoObjectiveVector.h rename to src/moeo/core/moeoObjectiveVector.h diff --git a/moeo/src/core/moeoObjectiveVectorTraits.cpp b/src/moeo/core/moeoObjectiveVectorTraits.cpp old mode 100644 new mode 100755 similarity index 97% rename from moeo/src/core/moeoObjectiveVectorTraits.cpp rename to src/moeo/core/moeoObjectiveVectorTraits.cpp index ffa042f24..9ea609181 --- a/moeo/src/core/moeoObjectiveVectorTraits.cpp +++ b/src/moeo/core/moeoObjectiveVectorTraits.cpp @@ -35,7 +35,7 @@ */ //----------------------------------------------------------------------------- -#include +#include "moeoObjectiveVectorTraits.h" // The static variables of the moeoObjectiveVectorTraits class need to be allocated unsigned int moeoObjectiveVectorTraits::nObj; diff --git a/moeo/src/core/moeoObjectiveVectorTraits.h b/src/moeo/core/moeoObjectiveVectorTraits.h old mode 100644 new mode 100755 similarity index 100% rename from moeo/src/core/moeoObjectiveVectorTraits.h rename to src/moeo/core/moeoObjectiveVectorTraits.h diff --git a/moeo/src/core/moeoRealObjectiveVector.h b/src/moeo/core/moeoRealObjectiveVector.h old mode 100644 new mode 100755 similarity index 97% rename from moeo/src/core/moeoRealObjectiveVector.h rename to src/moeo/core/moeoRealObjectiveVector.h index 135a13f75..b72e7ddd0 --- a/moeo/src/core/moeoRealObjectiveVector.h +++ b/src/moeo/core/moeoRealObjectiveVector.h @@ -40,9 +40,9 @@ #include #include -#include -#include -#include +#include "../comparator/moeoObjectiveObjectiveVectorComparator.h" +#include "../comparator/moeoParetoObjectiveVectorComparator.h" +#include "moeoObjectiveVector.h" /** * This class allows to represent a solution in the objective space (phenotypic representation) by a std::vector of real values, diff --git a/moeo/src/core/moeoRealVector.h b/src/moeo/core/moeoRealVector.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/core/moeoRealVector.h rename to src/moeo/core/moeoRealVector.h index 6157ef9da..82913151a --- a/moeo/src/core/moeoRealVector.h +++ b/src/moeo/core/moeoRealVector.h @@ -38,7 +38,7 @@ #ifndef MOEOREALVECTOR_H_ #define MOEOREALVECTOR_H_ -#include +#include "moeoVector.h" /** * This class is an implementation of a simple double-valued moeoVector. diff --git a/moeo/src/core/moeoScalarObjectiveVector.h b/src/moeo/core/moeoScalarObjectiveVector.h old mode 100644 new mode 100755 similarity index 97% rename from moeo/src/core/moeoScalarObjectiveVector.h rename to src/moeo/core/moeoScalarObjectiveVector.h index 9d1183ad7..37a835537 --- a/moeo/src/core/moeoScalarObjectiveVector.h +++ b/src/moeo/core/moeoScalarObjectiveVector.h @@ -29,9 +29,9 @@ Contact: http://eodev.sourceforge.net #include #include -#include -#include -#include +#include "../comparator/moeoObjectiveObjectiveVectorComparator.h" +#include "../comparator/moeoParetoObjectiveVectorComparator.h" +#include "moeoObjectiveVector.h" /** * This class allows to represent a solution in the objective space (phenotypic representation) by a std::vector of typed values, diff --git a/moeo/src/core/moeoVector.h b/src/moeo/core/moeoVector.h old mode 100644 new mode 100755 similarity index 99% rename from moeo/src/core/moeoVector.h rename to src/moeo/core/moeoVector.h index ea4bfc4e0..166d1a108 --- a/moeo/src/core/moeoVector.h +++ b/src/moeo/core/moeoVector.h @@ -40,7 +40,7 @@ #include #include -#include +#include "MOEO.h" /** * Base class for fixed length chromosomes, just derives from MOEO and std::vector and redirects the smaller than operator to MOEO (objective vector based comparison). diff --git a/moeo/src/distance/moeoDistance.h b/src/moeo/distance/moeoDistance.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/distance/moeoDistance.h rename to src/moeo/distance/moeoDistance.h index d5cf75c75..594a70bec --- a/moeo/src/distance/moeoDistance.h +++ b/src/moeo/distance/moeoDistance.h @@ -38,7 +38,7 @@ #ifndef MOEODISTANCE_H_ #define MOEODISTANCE_H_ -#include +#include "../../eo/eoFunctor.h" /** * The base class for distance computation. diff --git a/moeo/src/distance/moeoDistanceMatrix.h b/src/moeo/distance/moeoDistanceMatrix.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/distance/moeoDistanceMatrix.h rename to src/moeo/distance/moeoDistanceMatrix.h index 40514dc28..b8a13b605 --- a/moeo/src/distance/moeoDistanceMatrix.h +++ b/src/moeo/distance/moeoDistanceMatrix.h @@ -39,8 +39,8 @@ #define MOEODISTANCEMATRIX_H_ #include -#include -#include +#include "../../eo/eoFunctor.h" +#include "moeoDistance.h" /** * A matrix to compute distances between every pair of individuals contained in a population. diff --git a/moeo/src/distance/moeoEuclideanDistance.h b/src/moeo/distance/moeoEuclideanDistance.h old mode 100644 new mode 100755 similarity index 97% rename from moeo/src/distance/moeoEuclideanDistance.h rename to src/moeo/distance/moeoEuclideanDistance.h index 5c43c7599..421e3d029 --- a/moeo/src/distance/moeoEuclideanDistance.h +++ b/src/moeo/distance/moeoEuclideanDistance.h @@ -40,8 +40,8 @@ #define MOEOEUCLIDEANDISTANCE_H_ #include -#include -#include +#include "moeoObjSpaceDistance.h" +#include "../utils/moeoObjectiveVectorNormalizer.h" /** * A class allowing to compute an euclidian distance between two solutions in the objective space with normalized objective values (i.e. between 0 and 1). diff --git a/moeo/src/distance/moeoManhattanDistance.h b/src/moeo/distance/moeoManhattanDistance.h old mode 100644 new mode 100755 similarity index 97% rename from moeo/src/distance/moeoManhattanDistance.h rename to src/moeo/distance/moeoManhattanDistance.h index 37d70c879..7218e0e29 --- a/moeo/src/distance/moeoManhattanDistance.h +++ b/src/moeo/distance/moeoManhattanDistance.h @@ -40,8 +40,8 @@ #define MOEOMANHATTANDISTANCE_H_ #include -#include -#include +#include "moeoObjSpaceDistance.h" +#include "../utils/moeoObjectiveVectorNormalizer.h" /** * A class allowing to compute the Manhattan distance between two solutions in the objective space normalized objective values (i.e. between 0 and 1). diff --git a/moeo/src/distance/moeoNormalizedDistance.h b/src/moeo/distance/moeoNormalizedDistance.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/distance/moeoNormalizedDistance.h rename to src/moeo/distance/moeoNormalizedDistance.h index 8cf2f93a5..fb53de173 --- a/moeo/src/distance/moeoNormalizedDistance.h +++ b/src/moeo/distance/moeoNormalizedDistance.h @@ -39,8 +39,8 @@ #define MOEONORMALIZEDDISTANCE_H_ #include -#include -#include +#include "../../eo/utils/eoRealBounds.h" +#include "moeoDistance.h" /** * The base class for double distance computation with normalized objective values (i.e. between 0 and 1). diff --git a/moeo/src/distance/moeoObjSpaceDistance.h b/src/moeo/distance/moeoObjSpaceDistance.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/distance/moeoObjSpaceDistance.h rename to src/moeo/distance/moeoObjSpaceDistance.h index 2158a7934..622fcbfed --- a/moeo/src/distance/moeoObjSpaceDistance.h +++ b/src/moeo/distance/moeoObjSpaceDistance.h @@ -40,8 +40,7 @@ #define MOEOOBJDIST_H_ -#include -#include +//#include #include /** diff --git a/moeo/src/diversity/moeoCrowdingDiversityAssignment.h b/src/moeo/diversity/moeoCrowdingDiversityAssignment.h old mode 100644 new mode 100755 similarity index 97% rename from moeo/src/diversity/moeoCrowdingDiversityAssignment.h rename to src/moeo/diversity/moeoCrowdingDiversityAssignment.h index 3a37f2db9..0f111fc88 --- a/moeo/src/diversity/moeoCrowdingDiversityAssignment.h +++ b/src/moeo/diversity/moeoCrowdingDiversityAssignment.h @@ -38,9 +38,9 @@ #ifndef MOEOCROWDINGDIVERSITYASSIGNMENT_H_ #define MOEOCROWDINGDIVERSITYASSIGNMENT_H_ -#include -#include -#include +#include "../../eo/eoPop.h" +#include "../comparator/moeoOneObjectiveComparator.h" +#include "moeoDiversityAssignment.h" /** * Diversity assignment sheme based on crowding proposed in: diff --git a/moeo/src/diversity/moeoDiversityAssignment.h b/src/moeo/diversity/moeoDiversityAssignment.h old mode 100644 new mode 100755 similarity index 97% rename from moeo/src/diversity/moeoDiversityAssignment.h rename to src/moeo/diversity/moeoDiversityAssignment.h index 1f3e50560..18418e10d --- a/moeo/src/diversity/moeoDiversityAssignment.h +++ b/src/moeo/diversity/moeoDiversityAssignment.h @@ -38,8 +38,8 @@ #ifndef MOEODIVERSITYASSIGNMENT_H_ #define MOEODIVERSITYASSIGNMENT_H_ -#include -#include +#include "../../eo/eoFunctor.h" +#include "../../eo/eoPop.h" /** * Functor that sets the diversity values of a whole population. diff --git a/moeo/src/diversity/moeoDummyDiversityAssignment.h b/src/moeo/diversity/moeoDummyDiversityAssignment.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/diversity/moeoDummyDiversityAssignment.h rename to src/moeo/diversity/moeoDummyDiversityAssignment.h index b233f3863..71f6f1e77 --- a/moeo/src/diversity/moeoDummyDiversityAssignment.h +++ b/src/moeo/diversity/moeoDummyDiversityAssignment.h @@ -38,7 +38,7 @@ #ifndef MOEODUMMYDIVERSITYASSIGNMENT_H_ #define MOEODUMMYDIVERSITYASSIGNMENT_H_ -#include +#include "moeoDiversityAssignment.h" /** * moeoDummyDiversityAssignment is a moeoDiversityAssignment that gives the value '0' as the individual's diversity for a whole population if it is invalid. diff --git a/moeo/src/diversity/moeoFrontByFrontCrowdingDiversityAssignment.h b/src/moeo/diversity/moeoFrontByFrontCrowdingDiversityAssignment.h old mode 100644 new mode 100755 similarity index 97% rename from moeo/src/diversity/moeoFrontByFrontCrowdingDiversityAssignment.h rename to src/moeo/diversity/moeoFrontByFrontCrowdingDiversityAssignment.h index 7ab4e0067..13cc941f5 --- a/moeo/src/diversity/moeoFrontByFrontCrowdingDiversityAssignment.h +++ b/src/moeo/diversity/moeoFrontByFrontCrowdingDiversityAssignment.h @@ -38,9 +38,9 @@ #ifndef MOEOFRONTBYFRONTCROWDINGDIVERSITYASSIGNMENT2_H_ #define MOEOFRONTBYFRONTCROWDINGDIVERSITYASSIGNMENT2_H_ -#include -#include -#include +#include "moeoCrowdingDiversityAssignment.h" +#include "../comparator/moeoFitnessThenDiversityComparator.h" +#include "../comparator/moeoPtrComparator.h" /** diff --git a/moeo/src/diversity/moeoFrontByFrontSharingDiversityAssignment.h b/src/moeo/diversity/moeoFrontByFrontSharingDiversityAssignment.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/diversity/moeoFrontByFrontSharingDiversityAssignment.h rename to src/moeo/diversity/moeoFrontByFrontSharingDiversityAssignment.h index 56b4cedca..1c9767f27 --- a/moeo/src/diversity/moeoFrontByFrontSharingDiversityAssignment.h +++ b/src/moeo/diversity/moeoFrontByFrontSharingDiversityAssignment.h @@ -38,7 +38,7 @@ #ifndef MOEOFRONTBYFRONTSHARINGDIVERSITYASSIGNMENT_H_ #define MOEOFRONTBYFRONTSHARINGDIVERSITYASSIGNMENT_H_ -#include +#include "moeoSharingDiversityAssignment.h" /** * Sharing assignment scheme on the way it is used in NSGA. diff --git a/moeo/src/diversity/moeoNearestNeighborDiversityAssignment.h b/src/moeo/diversity/moeoNearestNeighborDiversityAssignment.h old mode 100644 new mode 100755 similarity index 95% rename from moeo/src/diversity/moeoNearestNeighborDiversityAssignment.h rename to src/moeo/diversity/moeoNearestNeighborDiversityAssignment.h index 8571ed475..296d4fe2e --- a/moeo/src/diversity/moeoNearestNeighborDiversityAssignment.h +++ b/src/moeo/diversity/moeoNearestNeighborDiversityAssignment.h @@ -41,9 +41,9 @@ #define MOEONEARESTNEIGHBORDIVERSITYASSIGNMENT_H_ #include -#include -#include -#include +#include "moeoDiversityAssignment.h" +#include "../archive/moeoUnboundedArchive.h" +#include "../archive/moeoArchive.h" /** * moeoNearestNeighborDiversityAssignment is a moeoDiversityAssignment using distance between individuals to assign diversity. diff --git a/moeo/src/diversity/moeoSharingDiversityAssignment.h b/src/moeo/diversity/moeoSharingDiversityAssignment.h old mode 100644 new mode 100755 similarity index 95% rename from moeo/src/diversity/moeoSharingDiversityAssignment.h rename to src/moeo/diversity/moeoSharingDiversityAssignment.h index 6fa66193a..093b45647 --- a/moeo/src/diversity/moeoSharingDiversityAssignment.h +++ b/src/moeo/diversity/moeoSharingDiversityAssignment.h @@ -38,12 +38,12 @@ #ifndef MOEOSHARINGDIVERSITYASSIGNMENT_H_ #define MOEOSHARINGDIVERSITYASSIGNMENT_H_ -#include -#include -#include -#include -#include -#include +#include "../../eo/eoPop.h" +#include "../comparator/moeoDiversityThenFitnessComparator.h" +#include "../distance/moeoDistance.h" +#include "../distance/moeoDistanceMatrix.h" +#include "../distance/moeoEuclideanDistance.h" +#include "moeoDiversityAssignment.h" /** * Sharing assignment scheme originally porposed by: diff --git a/moeo/src/do/make_checkpoint_moeo.h b/src/moeo/do/make_checkpoint_moeo.h similarity index 94% rename from moeo/src/do/make_checkpoint_moeo.h rename to src/moeo/do/make_checkpoint_moeo.h index 188c340ea..54ae9a8bb 100755 --- a/moeo/src/do/make_checkpoint_moeo.h +++ b/src/moeo/do/make_checkpoint_moeo.h @@ -41,17 +41,17 @@ #include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoContinue.h" +#include "../../eo/eoEvalFuncCounter.h" +#include "../../eo/utils/checkpointing" +#include "../../eo/utils/selectors.h" +#include "../../eo/utils/eoParser.h" +#include "../../eo/utils/eoState.h" +#include "../metric/moeoContributionMetric.h" +#include "../metric/moeoEntropyMetric.h" +#include "../utils/moeoArchiveUpdater.h" +#include "../utils/moeoArchiveObjectiveVectorSavingUpdater.h" +#include "../utils/moeoBinaryMetricSavingUpdater.h" bool testDirRes(std::string _dirName, bool _erase); diff --git a/moeo/src/do/make_continue_moeo.h b/src/moeo/do/make_continue_moeo.h similarity index 94% rename from moeo/src/do/make_continue_moeo.h rename to src/moeo/do/make_continue_moeo.h index 84695d7ee..c6e5e402d 100755 --- a/moeo/src/do/make_continue_moeo.h +++ b/src/moeo/do/make_continue_moeo.h @@ -38,16 +38,16 @@ #ifndef MAKE_CONTINUE_MOEO_H_ #define MAKE_CONTINUE_MOEO_H_ -#include -#include -#include -#include -#include +#include "../../eo/eoCombinedContinue.h" +#include "../../eo/eoGenContinue.h" +#include "../../eo/eoEvalContinue.h" +#include "../../eo/eoFitContinue.h" +#include "../../eo/eoTimeContinue.h" #ifndef _MSC_VER -#include +#include "../../eo/eoCtrlCContinue.h" #endif -#include -#include +#include "../../eo/utils/eoParser.h" +#include "../../eo/utils/eoState.h" /** diff --git a/moeo/src/do/make_ea_moeo.h b/src/moeo/do/make_ea_moeo.h similarity index 86% rename from moeo/src/do/make_ea_moeo.h rename to src/moeo/do/make_ea_moeo.h index aa5a38ad9..f6af6756a 100755 --- a/moeo/src/do/make_ea_moeo.h +++ b/src/moeo/do/make_ea_moeo.h @@ -39,40 +39,40 @@ #define MAKE_EA_MOEO_H_ #include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoContinue.h" +#include "../../eo/eoEvalFunc.h" +#include "../../eo/eoGeneralBreeder.h" +#include "../../eo/eoGenOp.h" +#include "../../eo/utils/eoParser.h" +#include "../../eo/utils/eoState.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "../algo/moeoEA.h" +#include "../algo/moeoEasyEA.h" +#include "../archive/moeoArchive.h" +#include "../comparator/moeoAggregativeComparator.h" +#include "../comparator/moeoComparator.h" +#include "../comparator/moeoDiversityThenFitnessComparator.h" +#include "../comparator/moeoFitnessThenDiversityComparator.h" +#include "../diversity/moeoDiversityAssignment.h" +#include "../diversity/moeoDummyDiversityAssignment.h" +#include "../diversity/moeoFrontByFrontCrowdingDiversityAssignment.h" +#include "../diversity/moeoFrontByFrontSharingDiversityAssignment.h" +#include "../fitness/moeoDummyFitnessAssignment.h" +#include "../fitness/moeoExpBinaryIndicatorBasedFitnessAssignment.h" +#include "../fitness/moeoDominanceDepthFitnessAssignment.h" +#include "../fitness/moeoFitnessAssignment.h" +#include "../metric/moeoAdditiveEpsilonBinaryMetric.h" +#include "../metric/moeoHypervolumeBinaryMetric.h" +#include "../metric/moeoNormalizedSolutionVsSolutionBinaryMetric.h" +#include "../replacement/moeoElitistReplacement.h" +#include "../replacement/moeoEnvironmentalReplacement.h" +#include "../replacement/moeoGenerationalReplacement.h" +#include "../replacement/moeoReplacement.h" +#include "../selection/moeoDetTournamentSelect.h" +#include "../selection/moeoRandomSelect.h" +#include "../selection/moeoStochTournamentSelect.h" +#include "../selection/moeoSelectOne.h" +#include "../selection/moeoSelectors.h" /** diff --git a/moeo/src/explorer/moeoExhaustiveNeighborhoodExplorer.h b/src/moeo/explorer/moeoExhaustiveNeighborhoodExplorer.h old mode 100644 new mode 100755 similarity index 95% rename from moeo/src/explorer/moeoExhaustiveNeighborhoodExplorer.h rename to src/moeo/explorer/moeoExhaustiveNeighborhoodExplorer.h index 1f08a9a92..19014de6c --- a/moeo/src/explorer/moeoExhaustiveNeighborhoodExplorer.h +++ b/src/moeo/explorer/moeoExhaustiveNeighborhoodExplorer.h @@ -39,11 +39,11 @@ #ifndef _MOEOEXHAUSTIVENEIGHBORHOODEXPLORER_H #define _MOEOEXHAUSTIVENEIGHBORHOODEXPLORER_H -#include -#include -#include -#include -#include +#include "../../eo/eoPop.h" +#include "../../mo/neighborhood/moNeighbor.h" +#include "../../mo/neighborhood/moNeighborhood.h" +#include "moeoPopNeighborhoodExplorer.h" +#include "../../mo/eval/moEval.h" /** * Explorer which explore all the neighborhood diff --git a/moeo/src/explorer/moeoFirstImprovingNeighborhoodExplorer.h b/src/moeo/explorer/moeoFirstImprovingNeighborhoodExplorer.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/explorer/moeoFirstImprovingNeighborhoodExplorer.h rename to src/moeo/explorer/moeoFirstImprovingNeighborhoodExplorer.h index fdc3ad4e7..2ea395395 --- a/moeo/src/explorer/moeoFirstImprovingNeighborhoodExplorer.h +++ b/src/moeo/explorer/moeoFirstImprovingNeighborhoodExplorer.h @@ -39,7 +39,7 @@ #ifndef _MOEOFIRSTIMPROVINGNEIGHBORHOODEXPLORER_H #define _MOEOFIRSTIMPROVINGNEIGHBORHOODEXPLORER_H -#include +#include "moeoSubNeighborhoodExplorer.h" /** * Explorer which explore the neighborhood until a improving neighbor is found. diff --git a/moeo/src/explorer/moeoNoDesimprovingNeighborhoodExplorer.h b/src/moeo/explorer/moeoNoDesimprovingNeighborhoodExplorer.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/explorer/moeoNoDesimprovingNeighborhoodExplorer.h rename to src/moeo/explorer/moeoNoDesimprovingNeighborhoodExplorer.h index d5858a70d..339d0ea62 --- a/moeo/src/explorer/moeoNoDesimprovingNeighborhoodExplorer.h +++ b/src/moeo/explorer/moeoNoDesimprovingNeighborhoodExplorer.h @@ -39,7 +39,7 @@ #ifndef _MOEONODESIMPROVINGNEIGHBORHOODEXPLORER_H #define _MOEONODESIMPROVINGNEIGHBORHOODEXPLORER_H -#include +#include "moeoSubNeighborhoodExplorer.h" /** * Explorer which explore the neighborhood until a no desimproving neighbor is found. diff --git a/moeo/src/explorer/moeoPopNeighborhoodExplorer.h b/src/moeo/explorer/moeoPopNeighborhoodExplorer.h similarity index 98% rename from moeo/src/explorer/moeoPopNeighborhoodExplorer.h rename to src/moeo/explorer/moeoPopNeighborhoodExplorer.h index ef7b6e589..c0ef0001e 100755 --- a/moeo/src/explorer/moeoPopNeighborhoodExplorer.h +++ b/src/moeo/explorer/moeoPopNeighborhoodExplorer.h @@ -39,7 +39,7 @@ #ifndef _MOEOPOPNEIGHBORHOODEXPLORER_H #define _MOEOPOPNEIGHBORHOODEXPLORER_H -#include +#include "../../eo/eoPop.h" /** * Abstract class for multi-objective local search neighborhood exploration diff --git a/moeo/src/explorer/moeoSimpleSubNeighborhoodExplorer.h b/src/moeo/explorer/moeoSimpleSubNeighborhoodExplorer.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/explorer/moeoSimpleSubNeighborhoodExplorer.h rename to src/moeo/explorer/moeoSimpleSubNeighborhoodExplorer.h index ab79cd61b..00da919e9 --- a/moeo/src/explorer/moeoSimpleSubNeighborhoodExplorer.h +++ b/src/moeo/explorer/moeoSimpleSubNeighborhoodExplorer.h @@ -39,7 +39,7 @@ #ifndef _MOEOSIMPLESUBNEIGHBORHOODEXPLORER_H #define _MOEOSIMPLESUBNEIGHBORHOODEXPLORER_H -#include +#include "moeoSubNeighborhoodExplorer.h" /** * Explorer which explore a part of the neighborhood diff --git a/moeo/src/explorer/moeoSubNeighborhoodExplorer.h b/src/moeo/explorer/moeoSubNeighborhoodExplorer.h old mode 100644 new mode 100755 similarity index 95% rename from moeo/src/explorer/moeoSubNeighborhoodExplorer.h rename to src/moeo/explorer/moeoSubNeighborhoodExplorer.h index d41bc5c9f..d27a46996 --- a/moeo/src/explorer/moeoSubNeighborhoodExplorer.h +++ b/src/moeo/explorer/moeoSubNeighborhoodExplorer.h @@ -39,10 +39,10 @@ #ifndef _MOEOSUBNEIGHBORHOODEXPLORER_H #define _MOEOSUBNEIGHBORHOODEXPLORER_H -#include -#include -#include -#include +#include "../../eo/eoPop.h" +#include "../../mo/neighborhood/moNeighbor.h" +#include "../../mo/neighborhood/moNeighborhood.h" +#include "moeoPopNeighborhoodExplorer.h" /** * Explorer which explore a part of the neighborhood diff --git a/moeo/src/fitness/moeoAggregationFitnessAssignment.h b/src/moeo/fitness/moeoAggregationFitnessAssignment.h old mode 100644 new mode 100755 similarity index 97% rename from moeo/src/fitness/moeoAggregationFitnessAssignment.h rename to src/moeo/fitness/moeoAggregationFitnessAssignment.h index 7b9c809e4..0cc79fea5 --- a/moeo/src/fitness/moeoAggregationFitnessAssignment.h +++ b/src/moeo/fitness/moeoAggregationFitnessAssignment.h @@ -39,9 +39,9 @@ #ifndef MOEOAGGREGATIONFITNESSASSIGNMENT_H_ #define MOEOAGGREGATIONFITNESSASSIGNMENT_H_ -#include -#include -#include +#include "../../eo/eoPop.h" +#include "../../eo/eoEvalFunc.h" +#include "moeoSingleObjectivization.h" /* * Fitness assignment scheme which use weight for each objective diff --git a/moeo/src/fitness/moeoBinaryIndicatorBasedFitnessAssignment.h b/src/moeo/fitness/moeoBinaryIndicatorBasedFitnessAssignment.h old mode 100644 new mode 100755 similarity index 97% rename from moeo/src/fitness/moeoBinaryIndicatorBasedFitnessAssignment.h rename to src/moeo/fitness/moeoBinaryIndicatorBasedFitnessAssignment.h index 3a06b0443..af9b3b035 --- a/moeo/src/fitness/moeoBinaryIndicatorBasedFitnessAssignment.h +++ b/src/moeo/fitness/moeoBinaryIndicatorBasedFitnessAssignment.h @@ -38,7 +38,7 @@ #ifndef MOEOBINARYINDICATORBASEDFITNESSASSIGNMENT_H_ #define MOEOBINARYINDICATORBASEDFITNESSASSIGNMENT_H_ -#include +#include "moeoIndicatorBasedFitnessAssignment.h" /** * moeoIndicatorBasedFitnessAssignment for binary indicators. diff --git a/moeo/src/fitness/moeoConstraintFitnessAssignment.h b/src/moeo/fitness/moeoConstraintFitnessAssignment.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/fitness/moeoConstraintFitnessAssignment.h rename to src/moeo/fitness/moeoConstraintFitnessAssignment.h index c87ee3514..5445fe441 --- a/moeo/src/fitness/moeoConstraintFitnessAssignment.h +++ b/src/moeo/fitness/moeoConstraintFitnessAssignment.h @@ -39,9 +39,9 @@ #ifndef MOEOCONSTRAINTFITNESSASSIGNMENT_H_ #define MOEOCONSTRAINTFITNESSASSIGNMENT_H_ -#include -#include -#include +#include "../../eo/eoPop.h" +#include "moeoSingleObjectivization.h" +#include "../utils/moeoObjectiveVectorNormalizer.h" /* * Fitness assignment scheme which give a penalty if MOEOT does not respect constraints diff --git a/moeo/src/fitness/moeoCriterionBasedFitnessAssignment.h b/src/moeo/fitness/moeoCriterionBasedFitnessAssignment.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/fitness/moeoCriterionBasedFitnessAssignment.h rename to src/moeo/fitness/moeoCriterionBasedFitnessAssignment.h index 398e005bc..410c3c464 --- a/moeo/src/fitness/moeoCriterionBasedFitnessAssignment.h +++ b/src/moeo/fitness/moeoCriterionBasedFitnessAssignment.h @@ -38,7 +38,7 @@ #ifndef MOEOCRITERIONBASEDFITNESSASSIGNMENT_H_ #define MOEOCRITERIONBASEDFITNESSASSIGNMENT_H_ -#include +#include "moeoFitnessAssignment.h" /** * moeoCriterionBasedFitnessAssignment is a moeoFitnessAssignment for criterion-based strategies. diff --git a/moeo/src/fitness/moeoDominanceBasedFitnessAssignment.h b/src/moeo/fitness/moeoDominanceBasedFitnessAssignment.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/fitness/moeoDominanceBasedFitnessAssignment.h rename to src/moeo/fitness/moeoDominanceBasedFitnessAssignment.h index af5ca70dd..da52bf13b --- a/moeo/src/fitness/moeoDominanceBasedFitnessAssignment.h +++ b/src/moeo/fitness/moeoDominanceBasedFitnessAssignment.h @@ -38,7 +38,7 @@ #ifndef MOEODOMINANCEBASEDFITNESSASSIGNMENT_H_ #define MOEODOMINANCEBASEDFITNESSASSIGNMENT_H_ -#include +#include "moeoFitnessAssignment.h" /** * moeoDominanceBasedFitnessAssignment is a moeoFitnessAssignment for dominance-based strategies. diff --git a/moeo/src/fitness/moeoDominanceCountFitnessAssignment.h b/src/moeo/fitness/moeoDominanceCountFitnessAssignment.h old mode 100644 new mode 100755 similarity index 92% rename from moeo/src/fitness/moeoDominanceCountFitnessAssignment.h rename to src/moeo/fitness/moeoDominanceCountFitnessAssignment.h index 2de727d7e..f69933143 --- a/moeo/src/fitness/moeoDominanceCountFitnessAssignment.h +++ b/src/moeo/fitness/moeoDominanceCountFitnessAssignment.h @@ -41,13 +41,13 @@ #define MOEODOMINANCECOUNTFITNESSASSIGNMENT_H_ #include -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoPop.h" +#include "../archive/moeoArchive.h" +#include "../archive/moeoUnboundedArchive.h" +#include "../comparator/moeoObjectiveVectorComparator.h" +#include "../comparator/moeoParetoObjectiveVectorComparator.h" +#include "moeoDominanceBasedFitnessAssignment.h" +#include "../utils/moeoDominanceMatrix.h" /** * Fitness assignment sheme that computes how many solutions does each solution dominate. diff --git a/moeo/src/fitness/moeoDominanceCountRankingFitnessAssignment.h b/src/moeo/fitness/moeoDominanceCountRankingFitnessAssignment.h old mode 100644 new mode 100755 similarity index 92% rename from moeo/src/fitness/moeoDominanceCountRankingFitnessAssignment.h rename to src/moeo/fitness/moeoDominanceCountRankingFitnessAssignment.h index 562823703..c82fb72f2 --- a/moeo/src/fitness/moeoDominanceCountRankingFitnessAssignment.h +++ b/src/moeo/fitness/moeoDominanceCountRankingFitnessAssignment.h @@ -42,13 +42,13 @@ #define MOEODOMINANCECOUNTRANKINGFITNESSASSIGNMENT_H_ #include -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoPop.h" +#include "../archive/moeoArchive.h" +#include "../archive/moeoUnboundedArchive.h" +#include "../comparator/moeoObjectiveVectorComparator.h" +#include "../comparator/moeoParetoObjectiveVectorComparator.h" +#include "moeoDominanceBasedFitnessAssignment.h" +#include "../utils/moeoDominanceMatrix.h" /** * Fitness assignment sheme that sum-up the ranks of all solutions dominated by each solution. diff --git a/moeo/src/fitness/moeoDominanceDepthFitnessAssignment.h b/src/moeo/fitness/moeoDominanceDepthFitnessAssignment.h old mode 100644 new mode 100755 similarity index 97% rename from moeo/src/fitness/moeoDominanceDepthFitnessAssignment.h rename to src/moeo/fitness/moeoDominanceDepthFitnessAssignment.h index 6aad16fe2..e15ec75a0 --- a/moeo/src/fitness/moeoDominanceDepthFitnessAssignment.h +++ b/src/moeo/fitness/moeoDominanceDepthFitnessAssignment.h @@ -39,12 +39,12 @@ #define MOEODOMINANCEDEPTHFITNESSASSIGNMENT_H_ #include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoPop.h" +#include "../comparator/moeoObjectiveObjectiveVectorComparator.h" +#include "../comparator/moeoObjectiveVectorComparator.h" +#include "../comparator/moeoParetoObjectiveVectorComparator.h" +#include "moeoDominanceBasedFitnessAssignment.h" +#include "../comparator/moeoPtrComparator.h" /** * Fitness assignment sheme based on Pareto-dominance count proposed in: diff --git a/moeo/src/fitness/moeoDominanceRankFitnessAssignment.h b/src/moeo/fitness/moeoDominanceRankFitnessAssignment.h old mode 100644 new mode 100755 similarity index 92% rename from moeo/src/fitness/moeoDominanceRankFitnessAssignment.h rename to src/moeo/fitness/moeoDominanceRankFitnessAssignment.h index e265b94c1..923e4a365 --- a/moeo/src/fitness/moeoDominanceRankFitnessAssignment.h +++ b/src/moeo/fitness/moeoDominanceRankFitnessAssignment.h @@ -41,13 +41,13 @@ #define MOEODOMINANCERANKFITNESSASSIGNEMENT_H_ #include -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoPop.h" +#include "../archive/moeoArchive.h" +#include "../archive/moeoUnboundedArchive.h" +#include "../comparator/moeoObjectiveVectorComparator.h" +#include "../comparator/moeoParetoObjectiveVectorComparator.h" +#include "moeoDominanceBasedFitnessAssignment.h" +#include "../utils/moeoDominanceMatrix.h" /** * Fitness assignment sheme that computes how many solutions each solution is dominated by. diff --git a/moeo/src/fitness/moeoDummyFitnessAssignment.h b/src/moeo/fitness/moeoDummyFitnessAssignment.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/fitness/moeoDummyFitnessAssignment.h rename to src/moeo/fitness/moeoDummyFitnessAssignment.h index be80edb57..2a5813c8d --- a/moeo/src/fitness/moeoDummyFitnessAssignment.h +++ b/src/moeo/fitness/moeoDummyFitnessAssignment.h @@ -38,7 +38,7 @@ #ifndef MOEODUMMYFITNESSASSIGNMENT_H_ #define MOEODUMMYFITNESSASSIGNMENT_H_ -#include +#include "moeoFitnessAssignment.h" /** * moeoDummyFitnessAssignment is a moeoFitnessAssignment that gives the value '0' as the individual's fitness for a whole population if it is invalid. diff --git a/moeo/src/fitness/moeoExpBinaryIndicatorBasedDualFitnessAssignment.h b/src/moeo/fitness/moeoExpBinaryIndicatorBasedDualFitnessAssignment.h old mode 100644 new mode 100755 similarity index 99% rename from moeo/src/fitness/moeoExpBinaryIndicatorBasedDualFitnessAssignment.h rename to src/moeo/fitness/moeoExpBinaryIndicatorBasedDualFitnessAssignment.h index 98c6a51d2..1d9f05130 --- a/moeo/src/fitness/moeoExpBinaryIndicatorBasedDualFitnessAssignment.h +++ b/src/moeo/fitness/moeoExpBinaryIndicatorBasedDualFitnessAssignment.h @@ -27,7 +27,7 @@ Contact: http://eodev.sourceforge.net #ifndef MOEOEXPBINARYINDICATORBASEDDUALFITNESSASSIGNMENT_H_ #define MOEOEXPBINARYINDICATORBASEDDUALFITNESSASSIGNMENT_H_ -#include +#include "moeoExpBinaryIndicatorBasedFitnessAssignment.h" template class moeoExpBinaryIndicatorBasedDualFitnessAssignment : public moeoExpBinaryIndicatorBasedFitnessAssignment diff --git a/moeo/src/fitness/moeoExpBinaryIndicatorBasedFitnessAssignment.h b/src/moeo/fitness/moeoExpBinaryIndicatorBasedFitnessAssignment.h old mode 100644 new mode 100755 similarity index 97% rename from moeo/src/fitness/moeoExpBinaryIndicatorBasedFitnessAssignment.h rename to src/moeo/fitness/moeoExpBinaryIndicatorBasedFitnessAssignment.h index fdc2f9240..26e7d06eb --- a/moeo/src/fitness/moeoExpBinaryIndicatorBasedFitnessAssignment.h +++ b/src/moeo/fitness/moeoExpBinaryIndicatorBasedFitnessAssignment.h @@ -40,10 +40,10 @@ #include #include -#include -#include -#include -#include +#include "../../eo/eoPop.h" +#include "moeoBinaryIndicatorBasedFitnessAssignment.h" +#include "../metric/moeoNormalizedSolutionVsSolutionBinaryMetric.h" +#include "../utils/moeoConvertPopToObjectiveVectors.h" /** * Fitness assignment sheme based on an indicator proposed in: diff --git a/moeo/src/fitness/moeoFitnessAssignment.h b/src/moeo/fitness/moeoFitnessAssignment.h old mode 100644 new mode 100755 similarity index 97% rename from moeo/src/fitness/moeoFitnessAssignment.h rename to src/moeo/fitness/moeoFitnessAssignment.h index 396c46bfa..fdf178289 --- a/moeo/src/fitness/moeoFitnessAssignment.h +++ b/src/moeo/fitness/moeoFitnessAssignment.h @@ -38,8 +38,8 @@ #ifndef MOEOFITNESSASSIGNMENT_H_ #define MOEOFITNESSASSIGNMENT_H_ -#include -#include +#include "../../eo/eoFunctor.h" +#include "../../eo/eoPop.h" /** * Functor that sets the fitness values of a whole population. diff --git a/moeo/src/fitness/moeoIndicatorBasedFitnessAssignment.h b/src/moeo/fitness/moeoIndicatorBasedFitnessAssignment.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/fitness/moeoIndicatorBasedFitnessAssignment.h rename to src/moeo/fitness/moeoIndicatorBasedFitnessAssignment.h index 23a761436..f9d00b961 --- a/moeo/src/fitness/moeoIndicatorBasedFitnessAssignment.h +++ b/src/moeo/fitness/moeoIndicatorBasedFitnessAssignment.h @@ -38,7 +38,7 @@ #ifndef MOEOINDICATORBASEDFITNESSASSIGNMENT_H_ #define MOEOINDICATORBASEDFITNESSASSIGNMENT_H_ -#include +#include "moeoFitnessAssignment.h" /** * moeoIndicatorBasedFitnessAssignment is a moeoFitnessAssignment for Indicator-based strategies. diff --git a/moeo/src/fitness/moeoReferencePointIndicatorBasedFitnessAssignment.h b/src/moeo/fitness/moeoReferencePointIndicatorBasedFitnessAssignment.h similarity index 97% rename from moeo/src/fitness/moeoReferencePointIndicatorBasedFitnessAssignment.h rename to src/moeo/fitness/moeoReferencePointIndicatorBasedFitnessAssignment.h index 6fb4470d2..8b2a7133b 100755 --- a/moeo/src/fitness/moeoReferencePointIndicatorBasedFitnessAssignment.h +++ b/src/moeo/fitness/moeoReferencePointIndicatorBasedFitnessAssignment.h @@ -39,9 +39,9 @@ #define MOEOREFERENCEPOINTINDICATORBASEDFITNESSASSIGNMENT_H_ #include -#include -#include -#include +#include "../../eo/eoPop.h" +#include "moeoFitnessAssignment.h" +#include "../metric/moeoNormalizedSolutionVsSolutionBinaryMetric.h" /** * Fitness assignment sheme based a Reference Point and a Quality Indicator. diff --git a/moeo/src/fitness/moeoScalarFitnessAssignment.h b/src/moeo/fitness/moeoScalarFitnessAssignment.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/fitness/moeoScalarFitnessAssignment.h rename to src/moeo/fitness/moeoScalarFitnessAssignment.h index 1cbbd56d9..2decd733e --- a/moeo/src/fitness/moeoScalarFitnessAssignment.h +++ b/src/moeo/fitness/moeoScalarFitnessAssignment.h @@ -38,7 +38,7 @@ #ifndef MOEOSCALARFITNESSASSIGNMENT_H_ #define MOEOSCALARFITNESSASSIGNMENT_H_ -#include +#include "moeoFitnessAssignment.h" /** * moeoScalarFitnessAssignment is a moeoFitnessAssignment for scalar strategies. diff --git a/moeo/src/fitness/moeoSingleObjectivization.h b/src/moeo/fitness/moeoSingleObjectivization.h old mode 100644 new mode 100755 similarity index 97% rename from moeo/src/fitness/moeoSingleObjectivization.h rename to src/moeo/fitness/moeoSingleObjectivization.h index f3ecbba06..4c9ebcb5e --- a/moeo/src/fitness/moeoSingleObjectivization.h +++ b/src/moeo/fitness/moeoSingleObjectivization.h @@ -38,8 +38,8 @@ #ifndef MOEOSINGLEOBJECTIVIZATION_H_ #define MOEOSINGLEOBJECTIVIZATION_H_ -#include -#include +#include "moeoFitnessAssignment.h" +#include "../../eo/eoEvalFunc.h" /** * Class to adapt multiobjective problems to single objective algorithms */ diff --git a/moeo/src/fitness/moeoUnaryIndicatorBasedFitnessAssignment.h b/src/moeo/fitness/moeoUnaryIndicatorBasedFitnessAssignment.h old mode 100644 new mode 100755 similarity index 97% rename from moeo/src/fitness/moeoUnaryIndicatorBasedFitnessAssignment.h rename to src/moeo/fitness/moeoUnaryIndicatorBasedFitnessAssignment.h index 119ea37a8..5d8bc3829 --- a/moeo/src/fitness/moeoUnaryIndicatorBasedFitnessAssignment.h +++ b/src/moeo/fitness/moeoUnaryIndicatorBasedFitnessAssignment.h @@ -38,7 +38,7 @@ #ifndef MOEOUNARYINDICATORBASEDFITNESSASSIGNMENT_H_ #define MOEOUNARYINDICATORBASEDFITNESSASSIGNMENT_H_ -#include +#include "moeoIndicatorBasedFitnessAssignment.h" /** * moeoIndicatorBasedFitnessAssignment for unary indicators. diff --git a/moeo/src/hybridization/moeoDMLSGenUpdater.h b/src/moeo/hybridization/moeoDMLSGenUpdater.h old mode 100644 new mode 100755 similarity index 95% rename from moeo/src/hybridization/moeoDMLSGenUpdater.h rename to src/moeo/hybridization/moeoDMLSGenUpdater.h index c318f76ca..4a803d0eb --- a/moeo/src/hybridization/moeoDMLSGenUpdater.h +++ b/src/moeo/hybridization/moeoDMLSGenUpdater.h @@ -39,13 +39,13 @@ #ifndef _MOEODMLSGENUPDATER_H #define _MOEODMLSGENUPDATER_H -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoGenContinue.h" +#include "../../eo/eoEvalFunc.h" +#include "../archive/moeoArchive.h" +#include "../archive/moeoUnboundedArchive.h" +#include "../explorer/moeoPopNeighborhoodExplorer.h" +#include "../selection/moeoUnvisitedSelect.h" +#include "../algo/moeoUnifiedDominanceBasedLS.h" /** updater allowing hybridization with a dmls at checkpointing*/ template < class Neighbor > diff --git a/moeo/src/hybridization/moeoDMLSMonOp.h b/src/moeo/hybridization/moeoDMLSMonOp.h old mode 100644 new mode 100755 similarity index 94% rename from moeo/src/hybridization/moeoDMLSMonOp.h rename to src/moeo/hybridization/moeoDMLSMonOp.h index a9c52d4c8..4b324a025 --- a/moeo/src/hybridization/moeoDMLSMonOp.h +++ b/src/moeo/hybridization/moeoDMLSMonOp.h @@ -39,14 +39,14 @@ #ifndef _MOEODMLSMONOP_H #define _MOEODMLSMONOP_H -#include -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoGenContinue.h" +#include "../../eo/utils/eoRNG.h" +#include "../../eo/eoEvalFunc.h" +#include "../archive/moeoArchive.h" +#include "../archive/moeoUnboundedArchive.h" +#include "../explorer/moeoPopNeighborhoodExplorer.h" +#include "../selection/moeoUnvisitedSelect.h" +#include "../algo/moeoUnifiedDominanceBasedLS.h" /** eoMonOp allowing hybridization with a dmls at mutation */ template < class Neighbor > diff --git a/moeo/src/metric/moeoAdditiveEpsilonBinaryMetric.h b/src/moeo/metric/moeoAdditiveEpsilonBinaryMetric.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/metric/moeoAdditiveEpsilonBinaryMetric.h rename to src/moeo/metric/moeoAdditiveEpsilonBinaryMetric.h index 8dacc9d7c..e0067d77b --- a/moeo/src/metric/moeoAdditiveEpsilonBinaryMetric.h +++ b/src/moeo/metric/moeoAdditiveEpsilonBinaryMetric.h @@ -38,7 +38,7 @@ #ifndef MOEOADDITIVEEPSILONBINARYMETRIC_H_ #define MOEOADDITIVEEPSILONBINARYMETRIC_H_ -#include +#include "moeoNormalizedSolutionVsSolutionBinaryMetric.h" /** * Additive epsilon binary metric allowing to compare two objective vectors as proposed in diff --git a/moeo/src/metric/moeoContributionMetric.h b/src/moeo/metric/moeoContributionMetric.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/metric/moeoContributionMetric.h rename to src/moeo/metric/moeoContributionMetric.h index f8df458da..fd639b7bf --- a/moeo/src/metric/moeoContributionMetric.h +++ b/src/moeo/metric/moeoContributionMetric.h @@ -38,8 +38,8 @@ #ifndef MOEOCONTRIBUTIONMETRIC_H_ #define MOEOCONTRIBUTIONMETRIC_H_ -#include -#include +#include "../comparator/moeoParetoObjectiveVectorComparator.h" +#include "moeoMetric.h" /** * The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set diff --git a/moeo/src/metric/moeoDistanceMetric.h b/src/moeo/metric/moeoDistanceMetric.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/metric/moeoDistanceMetric.h rename to src/moeo/metric/moeoDistanceMetric.h index 13c642acd..1ddb09ca7 --- a/moeo/src/metric/moeoDistanceMetric.h +++ b/src/moeo/metric/moeoDistanceMetric.h @@ -40,7 +40,7 @@ #define MOEODISTANCEMETRIC_H_ #include -#include +#include "../distance/moeoObjSpaceDistance.h" /** Adapter to use Distances as a metric diff --git a/moeo/src/metric/moeoDualHyperVolumeDifferenceMetric.h b/src/moeo/metric/moeoDualHyperVolumeDifferenceMetric.h old mode 100644 new mode 100755 similarity index 99% rename from moeo/src/metric/moeoDualHyperVolumeDifferenceMetric.h rename to src/moeo/metric/moeoDualHyperVolumeDifferenceMetric.h index 9cea4fd76..e6b6149d2 --- a/moeo/src/metric/moeoDualHyperVolumeDifferenceMetric.h +++ b/src/moeo/metric/moeoDualHyperVolumeDifferenceMetric.h @@ -26,7 +26,7 @@ Contact: http://eodev.sourceforge.net #ifndef MOEODUALHYPERVOLUMEDIFFERENCEMETRIC_H_ #define MOEODUALHYPERVOLUMEDIFFERENCEMETRIC_H_ -#include +#include "moeoHyperVolumeDifferenceMetric.h" template diff --git a/moeo/src/metric/moeoEntropyMetric.h b/src/moeo/metric/moeoEntropyMetric.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/metric/moeoEntropyMetric.h rename to src/moeo/metric/moeoEntropyMetric.h index 012e99d9e..1e68f9d5b --- a/moeo/src/metric/moeoEntropyMetric.h +++ b/src/moeo/metric/moeoEntropyMetric.h @@ -39,8 +39,8 @@ #define MOEOENTROPYMETRIC_H_ #include -#include -#include +#include "../comparator/moeoParetoObjectiveVectorComparator.h" +#include "moeoMetric.h" /** * The entropy gives an idea of the diversity of a Pareto set relatively to another diff --git a/moeo/src/metric/moeoHyperVolumeDifferenceMetric.h b/src/moeo/metric/moeoHyperVolumeDifferenceMetric.h old mode 100644 new mode 100755 similarity index 99% rename from moeo/src/metric/moeoHyperVolumeDifferenceMetric.h rename to src/moeo/metric/moeoHyperVolumeDifferenceMetric.h index ad3336cd7..577137845 --- a/moeo/src/metric/moeoHyperVolumeDifferenceMetric.h +++ b/src/moeo/metric/moeoHyperVolumeDifferenceMetric.h @@ -39,8 +39,8 @@ #ifndef MOEOHYPERVOLUMEDIFFERENCEMETRIC_H_ #define MOEOHYPERVOLUMEDIFFERENCEMETRIC_H_ -#include -#include +#include "moeoMetric.h" +#include "moeoHyperVolumeMetric.h" /** * The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set diff --git a/moeo/src/metric/moeoHyperVolumeMetric.h b/src/moeo/metric/moeoHyperVolumeMetric.h old mode 100644 new mode 100755 similarity index 99% rename from moeo/src/metric/moeoHyperVolumeMetric.h rename to src/moeo/metric/moeoHyperVolumeMetric.h index f59ba19a6..2a68c5943 --- a/moeo/src/metric/moeoHyperVolumeMetric.h +++ b/src/moeo/metric/moeoHyperVolumeMetric.h @@ -39,7 +39,7 @@ #ifndef MOEOHYPERVOLUMEMETRIC_H_ #define MOEOHYPERVOLUMEMETRIC_H_ -#include +#include "moeoMetric.h" /** * The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set diff --git a/moeo/src/metric/moeoHypervolumeBinaryMetric.h b/src/moeo/metric/moeoHypervolumeBinaryMetric.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/metric/moeoHypervolumeBinaryMetric.h rename to src/moeo/metric/moeoHypervolumeBinaryMetric.h index bd6b1e606..31b5d6ea4 --- a/moeo/src/metric/moeoHypervolumeBinaryMetric.h +++ b/src/moeo/metric/moeoHypervolumeBinaryMetric.h @@ -39,8 +39,8 @@ #define MOEOHYPERVOLUMEBINARYMETRIC_H_ #include -#include -#include +#include "../comparator/moeoParetoObjectiveVectorComparator.h" +#include "moeoNormalizedSolutionVsSolutionBinaryMetric.h" /** * Hypervolume binary metric allowing to compare two objective vectors as proposed in diff --git a/moeo/src/metric/moeoMetric.h b/src/moeo/metric/moeoMetric.h old mode 100644 new mode 100755 similarity index 99% rename from moeo/src/metric/moeoMetric.h rename to src/moeo/metric/moeoMetric.h index b214803de..8f86f6b42 --- a/moeo/src/metric/moeoMetric.h +++ b/src/moeo/metric/moeoMetric.h @@ -39,7 +39,7 @@ #define MOEOMETRIC_H_ #include -#include +#include "../../eo/eoFunctor.h" /** * Base class for performance metrics (also known as quality indicators). diff --git a/moeo/src/metric/moeoNormalizedSolutionVsSolutionBinaryMetric.h b/src/moeo/metric/moeoNormalizedSolutionVsSolutionBinaryMetric.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/metric/moeoNormalizedSolutionVsSolutionBinaryMetric.h rename to src/moeo/metric/moeoNormalizedSolutionVsSolutionBinaryMetric.h index 6a6368f1d..8f2baec4a --- a/moeo/src/metric/moeoNormalizedSolutionVsSolutionBinaryMetric.h +++ b/src/moeo/metric/moeoNormalizedSolutionVsSolutionBinaryMetric.h @@ -39,8 +39,8 @@ #define MOEONORMALIZEDSOLUTIONVSSOLUTIONBINARYMETRIC_H_ #include -#include -#include +#include "../../eo/utils/eoRealBounds.h" +#include "moeoMetric.h" /** * Base class for binary metrics dedicated to the performance comparison between two solutions's objective vectors using normalized values. diff --git a/moeo/src/metric/moeoVecVsVecAdditiveEpsilonBinaryMetric.h b/src/moeo/metric/moeoVecVsVecAdditiveEpsilonBinaryMetric.h old mode 100644 new mode 100755 similarity index 96% rename from moeo/src/metric/moeoVecVsVecAdditiveEpsilonBinaryMetric.h rename to src/moeo/metric/moeoVecVsVecAdditiveEpsilonBinaryMetric.h index c157c49fe..1d5b642f4 --- a/moeo/src/metric/moeoVecVsVecAdditiveEpsilonBinaryMetric.h +++ b/src/moeo/metric/moeoVecVsVecAdditiveEpsilonBinaryMetric.h @@ -39,9 +39,9 @@ #ifndef MOEOVECVSVECADDITIVEEPSILONBINARYMETRIC_H_ #define MOEOVECVSVECADDITIVEEPSILONBINARYMETRIC_H_ -#include -#include -#include +#include "../comparator/moeoParetoObjectiveVectorComparator.h" +#include "moeoMetric.h" +#include "moeoVecVsVecEpsilonBinaryMetric.h" /** * moeoVecVsVecAdditiveEpsilonBinaryMetric is the implementation of moeoVecVsVecEpsilonBinaryMetric whose calculate an additive epsilon indicator diff --git a/moeo/src/metric/moeoVecVsVecEpsilonBinaryMetric.h b/src/moeo/metric/moeoVecVsVecEpsilonBinaryMetric.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/metric/moeoVecVsVecEpsilonBinaryMetric.h rename to src/moeo/metric/moeoVecVsVecEpsilonBinaryMetric.h index 570d3e577..e22496b8e --- a/moeo/src/metric/moeoVecVsVecEpsilonBinaryMetric.h +++ b/src/moeo/metric/moeoVecVsVecEpsilonBinaryMetric.h @@ -39,8 +39,8 @@ #ifndef MOEOVECVSVECEPSILONBINARYMETRIC_H_ #define MOEOVECVSVECEPSILONBINARYMETRIC_H_ -#include -#include +#include "../comparator/moeoParetoObjectiveVectorComparator.h" +#include "moeoMetric.h" /** * moeoVecVsVecEpsilonBinaryMetric is an abstract class allow to calculate the epsilon indicator betweend two Pareto sets diff --git a/moeo/src/metric/moeoVecVsVecMultiplicativeEpsilonBinaryMetric.h b/src/moeo/metric/moeoVecVsVecMultiplicativeEpsilonBinaryMetric.h old mode 100644 new mode 100755 similarity index 97% rename from moeo/src/metric/moeoVecVsVecMultiplicativeEpsilonBinaryMetric.h rename to src/moeo/metric/moeoVecVsVecMultiplicativeEpsilonBinaryMetric.h index 803d44bbb..3bedfc13f --- a/moeo/src/metric/moeoVecVsVecMultiplicativeEpsilonBinaryMetric.h +++ b/src/moeo/metric/moeoVecVsVecMultiplicativeEpsilonBinaryMetric.h @@ -39,8 +39,8 @@ #ifndef MOEOVECVSVECMULTIPLICATIVEEPSILONBINARYMETRIC_H_ #define MOEOVECVSVECMULTIPLICATIVEEPSILONBINARYMETRIC_H_ -#include -#include +#include "../comparator/moeoParetoObjectiveVectorComparator.h" +#include "moeoMetric.h" #include /** diff --git a/src/moeo/moeo.h b/src/moeo/moeo.h new file mode 100755 index 000000000..d431f7478 --- /dev/null +++ b/src/moeo/moeo.h @@ -0,0 +1,224 @@ +/* +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Arnaud Liefooghe +* +* This software is governed by the CeCILL license under French law and +* abiding by the rules of distribution of free software. You can use, +* modify and/ or redistribute the software under the terms of the CeCILL +* license as circulated by CEA, CNRS and INRIA at the following URL +* "http://www.cecill.info". +* +* As a counterpart to the access to the source code and rights to copy, +* modify and redistribute granted by the license, users are provided only +* with a limited warranty and the software's author, the holder of the +* economic rights, and the successive licensors have only limited liability. +* +* In this respect, the user's attention is drawn to the risks associated +* with loading, using, modifying and/or developing or reproducing the +* software by the user in light of its specific status of free software, +* that may mean that it is complicated to manipulate, and that also +* therefore means that it is reserved for developers and experienced +* professionals having in-depth computer knowledge. Users are therefore +* encouraged to load and test the software's suitability as regards their +* requirements in conditions enabling the security of their systems and/or +* data to be ensured and, more generally, to use and operate it in the +* same conditions as regards security. +* The fact that you are presently reading this means that you have had +* knowledge of the CeCILL license and that you accept its terms. +* +* ParadisEO WebSite : http://paradiseo.gforge.inria.fr +* Contact: paradiseo-help@lists.gforge.inria.fr +* +*/ +//----------------------------------------------------------------------------- + +#ifndef MOEO_ +#define MOEO_ + + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +//#include +//#include +//#include +//#include +//#include +//#include +//#include +#include +#include +//#include +//#include +#include +//#include +//#include +#include +//#include +//#include +//#include +#include +#include +#include +#include +//#include +//#include +#include +//#include +//#include +//#include +//#include +//#include +//#include +//#include +//#include +//#include +//#include +//#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#endif /*MOEO_*/ diff --git a/moeo/src/replacement/moeoElitistReplacement.h b/src/moeo/replacement/moeoElitistReplacement.h old mode 100644 new mode 100755 similarity index 95% rename from moeo/src/replacement/moeoElitistReplacement.h rename to src/moeo/replacement/moeoElitistReplacement.h index 75f896b2e..f38f27465 --- a/moeo/src/replacement/moeoElitistReplacement.h +++ b/src/moeo/replacement/moeoElitistReplacement.h @@ -38,12 +38,12 @@ #ifndef MOEOELITISTREPLACEMENT_H_ #define MOEOELITISTREPLACEMENT_H_ -#include -#include -#include -#include -#include -#include +#include "../comparator/moeoComparator.h" +#include "../comparator/moeoFitnessThenDiversityComparator.h" +#include "../diversity/moeoDiversityAssignment.h" +#include "../diversity/moeoDummyDiversityAssignment.h" +#include "../fitness/moeoFitnessAssignment.h" +#include "moeoReplacement.h" /** * Elitist replacement strategy that consists in keeping the N best individuals. diff --git a/moeo/src/replacement/moeoEnvironmentalReplacement.h b/src/moeo/replacement/moeoEnvironmentalReplacement.h similarity index 96% rename from moeo/src/replacement/moeoEnvironmentalReplacement.h rename to src/moeo/replacement/moeoEnvironmentalReplacement.h index 4bba8e962..b0413661b 100755 --- a/moeo/src/replacement/moeoEnvironmentalReplacement.h +++ b/src/moeo/replacement/moeoEnvironmentalReplacement.h @@ -38,11 +38,11 @@ #ifndef MOEOENVIRONMENTALREPLACEMENT_H_ #define MOEOENVIRONMENTALREPLACEMENT_H_ -#include -#include -#include -#include -#include +#include "../comparator/moeoComparator.h" +#include "../comparator/moeoFitnessThenDiversityComparator.h" +#include "../diversity/moeoDiversityAssignment.h" +#include "../fitness/moeoFitnessAssignment.h" +#include "moeoReplacement.h" /** * Environmental replacement strategy that consists in keeping the N best individuals by deleting individuals 1 by 1 diff --git a/moeo/src/replacement/moeoGenerationalReplacement.h b/src/moeo/replacement/moeoGenerationalReplacement.h old mode 100644 new mode 100755 similarity index 97% rename from moeo/src/replacement/moeoGenerationalReplacement.h rename to src/moeo/replacement/moeoGenerationalReplacement.h index bf78a7745..211a8b050 --- a/moeo/src/replacement/moeoGenerationalReplacement.h +++ b/src/moeo/replacement/moeoGenerationalReplacement.h @@ -38,8 +38,8 @@ #ifndef MOEOGENERATIONALREPLACEMENT_H_ #define MOEOGENERATIONALREPLACEMENT_H_ -#include -#include +#include "../../eo/eoReplacement.h" +#include "moeoReplacement.h" /** * Generational replacement: only the new individuals are preserved. diff --git a/moeo/src/replacement/moeoReplacement.h b/src/moeo/replacement/moeoReplacement.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/replacement/moeoReplacement.h rename to src/moeo/replacement/moeoReplacement.h index 286575cc7..084d3f6e4 --- a/moeo/src/replacement/moeoReplacement.h +++ b/src/moeo/replacement/moeoReplacement.h @@ -38,7 +38,7 @@ #ifndef MOEOREPLACEMENT_H_ #define MOEOREPLACEMENT_H_ -#include +#include "../../eo/eoReplacement.h" /** * Replacement strategy for multi-objective optimization. diff --git a/moeo/src/scalarStuffs/algo/moeoHC.h b/src/moeo/scalarStuffs/algo/moeoHC.h old mode 100644 new mode 100755 similarity index 94% rename from moeo/src/scalarStuffs/algo/moeoHC.h rename to src/moeo/scalarStuffs/algo/moeoHC.h index 8c922b1b3..84ce2dffd --- a/moeo/src/scalarStuffs/algo/moeoHC.h +++ b/src/moeo/scalarStuffs/algo/moeoHC.h @@ -36,11 +36,11 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef __moeoHC_h #define __moeoHC_h -#include -#include -#include -#include -#include +#include "../explorer/moeoHCMoveLoopExpl.h" +#include "../fitness/moeoSingleObjectivization.h" +#include "../fitness/moeoIncrEvalSingleObjectivizer.h" +#include "moeoSolAlgo.h" +#include "moHC.h" //! Hill Climbing (HC) /*! Class which describes the algorithm for a hill climbing. diff --git a/moeo/src/scalarStuffs/algo/moeoILS.h b/src/moeo/scalarStuffs/algo/moeoILS.h old mode 100644 new mode 100755 similarity index 95% rename from moeo/src/scalarStuffs/algo/moeoILS.h rename to src/moeo/scalarStuffs/algo/moeoILS.h index 37b9ea8f7..9bddb8179 --- a/moeo/src/scalarStuffs/algo/moeoILS.h +++ b/src/moeo/scalarStuffs/algo/moeoILS.h @@ -41,14 +41,14 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include -#include -#include -#include -#include -#include -#include -#include -#include +#include "algo/moeoHC.h" +#include "algo/moeoTS.h" +#include "algo/moeoSA.h" +#include "../../eo/eoEvalFunc.h" +#include "algo/moeoSolAlgo.h" +#include "moHCMoveLoopExpl.h" +#include "../fitness/moeoSingleObjectivization.h" +#include "explorer/moeoHCMoveLoopExpl.h" //! Iterated Local Search (ILS) /*! diff --git a/moeo/src/scalarStuffs/algo/moeoSA.h b/src/moeo/scalarStuffs/algo/moeoSA.h old mode 100644 new mode 100755 similarity index 93% rename from moeo/src/scalarStuffs/algo/moeoSA.h rename to src/moeo/scalarStuffs/algo/moeoSA.h index 9b1615a2f..2b6741b0e --- a/moeo/src/scalarStuffs/algo/moeoSA.h +++ b/src/moeo/scalarStuffs/algo/moeoSA.h @@ -37,12 +37,12 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef __moeoSA_h #define __moeoSA_h -#include -#include -#include -#include -#include -#include +#include "../../eo/eoEvalFunc.h" +#include "algo/moeoSolAlgo.h" +#include "moTSMoveLoopExpl.h" +#include "../fitness/moeoSingleObjectivization.h" +#include "explorer/moeoTSMoveLoopExpl.h" +#include "moSA.h" //! Simulated annealing (SA) /*! Generic algorithm that describes a Simulated Annealing algorithm. diff --git a/moeo/src/scalarStuffs/algo/moeoSolAlgo.h b/src/moeo/scalarStuffs/algo/moeoSolAlgo.h similarity index 96% rename from moeo/src/scalarStuffs/algo/moeoSolAlgo.h rename to src/moeo/scalarStuffs/algo/moeoSolAlgo.h index 4bdafc583..8b36383ce 100755 --- a/moeo/src/scalarStuffs/algo/moeoSolAlgo.h +++ b/src/moeo/scalarStuffs/algo/moeoSolAlgo.h @@ -40,9 +40,9 @@ #ifndef MOEOSOLALGO_H_ #define MOEOSOLALGO_H_ -#include -#include -#include +#include "../../eo/eoAlgo.h" +#include "../algo/moeoAlgo.h" +#include "moeoAlgo.h" /** * Abstract class for Solution based multi-objective evolutionary algorithms. diff --git a/moeo/src/scalarStuffs/algo/moeoTS.h b/src/moeo/scalarStuffs/algo/moeoTS.h old mode 100644 new mode 100755 similarity index 95% rename from moeo/src/scalarStuffs/algo/moeoTS.h rename to src/moeo/scalarStuffs/algo/moeoTS.h index 4eadcb289..628fef9ec --- a/moeo/src/scalarStuffs/algo/moeoTS.h +++ b/src/moeo/scalarStuffs/algo/moeoTS.h @@ -38,10 +38,10 @@ Contact: paradiseo-help@lists.gforge.inria.fr #define __moeoTS_h #include -#include -#include -#include -#include +#include "../../eo/eoEvalFunc.h" +#include "algo/moeoSolAlgo.h" +#include "../fitness/moeoSingleObjectivization.h" +#include "explorer/moeoTSMoveLoopExpl.h" //! Tabu Search (TS) /*! Generic algorithm that describes a tabu search. diff --git a/moeo/src/scalarStuffs/algo/moeoVFAS.h b/src/moeo/scalarStuffs/algo/moeoVFAS.h old mode 100644 new mode 100755 similarity index 93% rename from moeo/src/scalarStuffs/algo/moeoVFAS.h rename to src/moeo/scalarStuffs/algo/moeoVFAS.h index 507063322..3d1dd4707 --- a/moeo/src/scalarStuffs/algo/moeoVFAS.h +++ b/src/moeo/scalarStuffs/algo/moeoVFAS.h @@ -39,15 +39,15 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "../../eo/eoEvalFunc.h" +#include "algo/moeoSolAlgo.h" +#include "../fitness/moeoSingleObjectivization.h" +#include "../fitness/moeoAggregationFitnessAssignment.h" +#include "explorer/moeoHCMoveLoopExpl.h" +#include "weighting/moeoVariableWeightStrategy.h" +#include "weighting/moeoVariableRefPointStrategy.h" +#include "weighting/moeoDummyWeightStrategy.h" +#include "weighting/moeoDummyRefPointStrategy.h" //! Variable fitness assignment search (vfas) /*! Search using multiple fitness assignment to search solution to a multi objective problem diff --git a/moeo/src/scalarStuffs/algo/moeoVNS.h b/src/moeo/scalarStuffs/algo/moeoVNS.h old mode 100644 new mode 100755 similarity index 93% rename from moeo/src/scalarStuffs/algo/moeoVNS.h rename to src/moeo/scalarStuffs/algo/moeoVNS.h index 3d3668174..157e615d5 --- a/moeo/src/scalarStuffs/algo/moeoVNS.h +++ b/src/moeo/scalarStuffs/algo/moeoVNS.h @@ -37,12 +37,12 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moeoVNS_h #define _moeoVNS_h -#include -#include -#include +#include "algo/moeoAlgo.h" +#include "../../eo/eoEvalFunc.h" +#include "algo/moeoSolAlgo.h" #include -#include -#include +#include "../fitness/moeoSingleObjectivization.h" +#include "explorer/moeoHCMoveLoopExpl.h" //! Variable Neighbors Search (VNS) /*! Class which describes the algorithm for a Variable Neighbors Search. diff --git a/moeo/src/scalarStuffs/archive/moeoArchiveIndex.h b/src/moeo/scalarStuffs/archive/moeoArchiveIndex.h similarity index 97% rename from moeo/src/scalarStuffs/archive/moeoArchiveIndex.h rename to src/moeo/scalarStuffs/archive/moeoArchiveIndex.h index 809530d6e..aa2eefb41 100755 --- a/moeo/src/scalarStuffs/archive/moeoArchiveIndex.h +++ b/src/moeo/scalarStuffs/archive/moeoArchiveIndex.h @@ -1,9 +1,8 @@ #ifndef MOEOARCHIVEINDEX_H_ #define MOEOARCHIVEINDEX_H_ -#include -#include - +#include "../../../eo/eoPop.h" +#include "../../archive/moeoArchive.h" /** * Inteface for Archive Indexes */ diff --git a/moeo/src/scalarStuffs/archive/moeoIndexedArchive.h b/src/moeo/scalarStuffs/archive/moeoIndexedArchive.h similarity index 96% rename from moeo/src/scalarStuffs/archive/moeoIndexedArchive.h rename to src/moeo/scalarStuffs/archive/moeoIndexedArchive.h index a70eb3393..b8cf10932 100755 --- a/moeo/src/scalarStuffs/archive/moeoIndexedArchive.h +++ b/src/moeo/scalarStuffs/archive/moeoIndexedArchive.h @@ -1,9 +1,9 @@ #ifndef MOEOINDEXEDARCHIVE_H_ #define MOEOINDEXEDARCHIVE_H_ -#include -#include -#include +#include "../../../eo/eoPop.h" +#include "../../archive/moeoArchive.h" +#include "moeoArchiveIndex.h" /** * Archive used for 2 dimension vectors which remove pareto dominated values diff --git a/moeo/src/scalarStuffs/archive/moeoQuadTree.h b/src/moeo/scalarStuffs/archive/moeoQuadTree.h similarity index 99% rename from moeo/src/scalarStuffs/archive/moeoQuadTree.h rename to src/moeo/scalarStuffs/archive/moeoQuadTree.h index b06a248d4..aa6e9b553 100755 --- a/moeo/src/scalarStuffs/archive/moeoQuadTree.h +++ b/src/moeo/scalarStuffs/archive/moeoQuadTree.h @@ -39,8 +39,8 @@ #ifndef MOEOQUADTREE_H_ #define MOEOQUADTREE_H_ -#include -#include +#include "../../comparator/moeoParetoObjectiveVectorComparator.h" +#include "moeoArchiveIndex.h" template < class ObjectiveVector > class QuadTreeNode{ public: diff --git a/moeo/src/scalarStuffs/archive/moeoQuadTreeArchive.h b/src/moeo/scalarStuffs/archive/moeoQuadTreeArchive.h old mode 100644 new mode 100755 similarity index 99% rename from moeo/src/scalarStuffs/archive/moeoQuadTreeArchive.h rename to src/moeo/scalarStuffs/archive/moeoQuadTreeArchive.h index 9f95224bb..ee2137a71 --- a/moeo/src/scalarStuffs/archive/moeoQuadTreeArchive.h +++ b/src/moeo/scalarStuffs/archive/moeoQuadTreeArchive.h @@ -41,7 +41,7 @@ #ifndef MOEOQUADTREEARCHIVE_H_ #define MOEOQUADTREEARCHIVE_H_ -#include +#include "../../../eo/eoPop.h" /** diff --git a/moeo/src/scalarStuffs/archive/moeoQuickUnboundedArchiveIndex.h b/src/moeo/scalarStuffs/archive/moeoQuickUnboundedArchiveIndex.h similarity index 97% rename from moeo/src/scalarStuffs/archive/moeoQuickUnboundedArchiveIndex.h rename to src/moeo/scalarStuffs/archive/moeoQuickUnboundedArchiveIndex.h index a40add6ae..8501e61eb 100755 --- a/moeo/src/scalarStuffs/archive/moeoQuickUnboundedArchiveIndex.h +++ b/src/moeo/scalarStuffs/archive/moeoQuickUnboundedArchiveIndex.h @@ -1,10 +1,10 @@ #ifndef MOEOQUICKUNBOUNDEDARCHIVEINDEX_H_ #define MOEOQUICKUNBOUNDEDARCHIVEINDEX_H_ -#include -#include -#include -#include +#include "../../../eo/eoPop.h" +#include "../../archive/moeoArchive.h" +#include "../../comparator/moeoObjectiveVectorComparator.h" +#include "../../comparator/moeoParetoObjectiveVectorComparator.h" #include #include diff --git a/moeo/src/scalarStuffs/distance/moeoAchievementScalarizingFunctionDistance.h b/src/moeo/scalarStuffs/distance/moeoAchievementScalarizingFunctionDistance.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/scalarStuffs/distance/moeoAchievementScalarizingFunctionDistance.h rename to src/moeo/scalarStuffs/distance/moeoAchievementScalarizingFunctionDistance.h index 192feae33..eb0751d61 --- a/moeo/src/scalarStuffs/distance/moeoAchievementScalarizingFunctionDistance.h +++ b/src/moeo/scalarStuffs/distance/moeoAchievementScalarizingFunctionDistance.h @@ -39,7 +39,7 @@ #ifndef MOEOASFADIST_H_ #define MOEOASFADIST_H_ -#include +#include "../../utils/moeoObjectiveVectorNormalizer.h" /** Achievment scalarizing function aproach to calculate a distance diff --git a/moeo/src/scalarStuffs/distance/moeoAugmentedAchievementScalarizingFunctionDistance.h b/src/moeo/scalarStuffs/distance/moeoAugmentedAchievementScalarizingFunctionDistance.h old mode 100644 new mode 100755 similarity index 99% rename from moeo/src/scalarStuffs/distance/moeoAugmentedAchievementScalarizingFunctionDistance.h rename to src/moeo/scalarStuffs/distance/moeoAugmentedAchievementScalarizingFunctionDistance.h index 62120071a..1b667aaa9 --- a/moeo/src/scalarStuffs/distance/moeoAugmentedAchievementScalarizingFunctionDistance.h +++ b/src/moeo/scalarStuffs/distance/moeoAugmentedAchievementScalarizingFunctionDistance.h @@ -40,8 +40,7 @@ #define MOEOASFAORDIST_H_ -#include -#include +//#include #include /** diff --git a/moeo/src/scalarStuffs/distance/moeoAugmentedWeightedChebychevDistance.h b/src/moeo/scalarStuffs/distance/moeoAugmentedWeightedChebychevDistance.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/scalarStuffs/distance/moeoAugmentedWeightedChebychevDistance.h rename to src/moeo/scalarStuffs/distance/moeoAugmentedWeightedChebychevDistance.h index 098b3c817..bbc563539 --- a/moeo/src/scalarStuffs/distance/moeoAugmentedWeightedChebychevDistance.h +++ b/src/moeo/scalarStuffs/distance/moeoAugmentedWeightedChebychevDistance.h @@ -39,7 +39,7 @@ #ifndef MOEOCHEBYCHEVORDIST_H_ #define MOEOCHEBYCHEVORDIST_H_ -#include +#include "../../distance/moeoObjSpaceDistance.h" /** order representing chebychev distance diff --git a/moeo/src/scalarStuffs/distance/moeoWeightedChebychevDistance.h b/src/moeo/scalarStuffs/distance/moeoWeightedChebychevDistance.h old mode 100644 new mode 100755 similarity index 99% rename from moeo/src/scalarStuffs/distance/moeoWeightedChebychevDistance.h rename to src/moeo/scalarStuffs/distance/moeoWeightedChebychevDistance.h index c25c86987..9567fbc5a --- a/moeo/src/scalarStuffs/distance/moeoWeightedChebychevDistance.h +++ b/src/moeo/scalarStuffs/distance/moeoWeightedChebychevDistance.h @@ -40,8 +40,7 @@ #define MOEOCHEBYCHEVDIST_H_ -#include -#include +//#include #include /** * weighted chebychev distance diff --git a/moeo/src/scalarStuffs/explorer/moeoHCMoveLoopExpl.h b/src/moeo/scalarStuffs/explorer/moeoHCMoveLoopExpl.h similarity index 98% rename from moeo/src/scalarStuffs/explorer/moeoHCMoveLoopExpl.h rename to src/moeo/scalarStuffs/explorer/moeoHCMoveLoopExpl.h index 79f1b8003..a0983e22b 100755 --- a/moeo/src/scalarStuffs/explorer/moeoHCMoveLoopExpl.h +++ b/src/moeo/scalarStuffs/explorer/moeoHCMoveLoopExpl.h @@ -36,13 +36,15 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef __moeoHCLoopExpl_h #define __moeoHCLoopExpl_h +/* #include #include #include #include #include -#include -#include +*/ +//#include +#include "../fitness/moeoIncrEvalSingleObjectivizer.h" /** move explorer for multiobjectives solutions */ diff --git a/moeo/src/scalarStuffs/explorer/moeoTSMoveLoopExpl.h b/src/moeo/scalarStuffs/explorer/moeoTSMoveLoopExpl.h similarity index 99% rename from moeo/src/scalarStuffs/explorer/moeoTSMoveLoopExpl.h rename to src/moeo/scalarStuffs/explorer/moeoTSMoveLoopExpl.h index 0f51d2a96..89e159d1b 100755 --- a/moeo/src/scalarStuffs/explorer/moeoTSMoveLoopExpl.h +++ b/src/moeo/scalarStuffs/explorer/moeoTSMoveLoopExpl.h @@ -35,6 +35,7 @@ #ifndef _moeoTSMoveLoopExpl_h #define _moeoTSMoveLoopExpl_h +/* #include #include #include @@ -44,7 +45,7 @@ #include #include #include - +*/ template diff --git a/moeo/src/scalarStuffs/fitness/moeoAchievementFitnessAssignment.h b/src/moeo/scalarStuffs/fitness/moeoAchievementFitnessAssignment.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/scalarStuffs/fitness/moeoAchievementFitnessAssignment.h rename to src/moeo/scalarStuffs/fitness/moeoAchievementFitnessAssignment.h index b77355bb1..5ca426f40 --- a/moeo/src/scalarStuffs/fitness/moeoAchievementFitnessAssignment.h +++ b/src/moeo/scalarStuffs/fitness/moeoAchievementFitnessAssignment.h @@ -39,8 +39,8 @@ #define MOEOACHIEVEMENTFITNESSASSIGNMENT_H_ #include -#include -#include +#include "../../../eo/eoPop.h" +#include "../../fitness/moeoScalarFitnessAssignment.h" /** * Fitness assignment sheme based on the achievement scalarizing function propozed by Wiersbicki (1980). diff --git a/moeo/src/scalarStuffs/fitness/moeoAchievementScalarizingFunctionMetricFitnessAssignment.h b/src/moeo/scalarStuffs/fitness/moeoAchievementScalarizingFunctionMetricFitnessAssignment.h old mode 100644 new mode 100755 similarity index 95% rename from moeo/src/scalarStuffs/fitness/moeoAchievementScalarizingFunctionMetricFitnessAssignment.h rename to src/moeo/scalarStuffs/fitness/moeoAchievementScalarizingFunctionMetricFitnessAssignment.h index e396a798b..6369d6af6 --- a/moeo/src/scalarStuffs/fitness/moeoAchievementScalarizingFunctionMetricFitnessAssignment.h +++ b/src/moeo/scalarStuffs/fitness/moeoAchievementScalarizingFunctionMetricFitnessAssignment.h @@ -39,11 +39,11 @@ #ifndef MOEOASFAFITNESSASSIGNMENT_H_ #define MOEOASFAFITNESSASSIGNMENT_H_ -#include -#include -#include -#include -#include +#include "../../../eo/eoPop.h" +#include "../../fitness/moeoSingleObjectivization.h" +#include "../distance/moeoAchievementScalarizingFunctionDistance.h" +#include "../../metric/moeoDistanceMetric.h" +#include "../../utils/moeoObjectiveVectorNormalizer.h" /* * Fitness assignment scheme which use a metric diff --git a/moeo/src/scalarStuffs/fitness/moeoAugmentedAchievementScalarizingFunctionMetricFitnessAssignment.h b/src/moeo/scalarStuffs/fitness/moeoAugmentedAchievementScalarizingFunctionMetricFitnessAssignment.h old mode 100644 new mode 100755 similarity index 96% rename from moeo/src/scalarStuffs/fitness/moeoAugmentedAchievementScalarizingFunctionMetricFitnessAssignment.h rename to src/moeo/scalarStuffs/fitness/moeoAugmentedAchievementScalarizingFunctionMetricFitnessAssignment.h index b0a1499bd..e049170e5 --- a/moeo/src/scalarStuffs/fitness/moeoAugmentedAchievementScalarizingFunctionMetricFitnessAssignment.h +++ b/src/moeo/scalarStuffs/fitness/moeoAugmentedAchievementScalarizingFunctionMetricFitnessAssignment.h @@ -39,13 +39,12 @@ #ifndef MOEOAUGASFAFITNESSASSIGNMENT_H_ #define MOEOAUGASFAFITNESSASSIGNMENT_H_ -#include -#include +//#include #include -#include -#include -#include -#include +#include "../../../eo/eoPop.h" +#include "../../fitness/moeoSingleObjectivization.h" +#include "../../utils/moeoObjectiveVectorNormalizer.h" +#include "../distance/moeoAugmentedAchievementScalarizingFunctionDistance.h" /* * Fitness assignment scheme which use a metric diff --git a/moeo/src/scalarStuffs/fitness/moeoAugmentedWeightedChebychevMetricFitnessAssignment.h b/src/moeo/scalarStuffs/fitness/moeoAugmentedWeightedChebychevMetricFitnessAssignment.h old mode 100644 new mode 100755 similarity index 97% rename from moeo/src/scalarStuffs/fitness/moeoAugmentedWeightedChebychevMetricFitnessAssignment.h rename to src/moeo/scalarStuffs/fitness/moeoAugmentedWeightedChebychevMetricFitnessAssignment.h index 356ac2144..333ab4f83 --- a/moeo/src/scalarStuffs/fitness/moeoAugmentedWeightedChebychevMetricFitnessAssignment.h +++ b/src/moeo/scalarStuffs/fitness/moeoAugmentedWeightedChebychevMetricFitnessAssignment.h @@ -39,9 +39,9 @@ #ifndef MOEOAUGCHEVMETRICFITNESSASSIGNMENT_H_ #define MOEOAUGCHEVMETRICFITNESSASSIGNMENT_H_ -#include -#include -#include +#include "../../../eo/eoPop.h" +#include "../../fitness/moeoSingleObjectivization.h" +#include "../../utils/moeoObjectiveVectorNormalizer.h" /* * Fitness assignment scheme which use a metric diff --git a/moeo/src/scalarStuffs/fitness/moeoIncrEvalSingleObjectivizer.h b/src/moeo/scalarStuffs/fitness/moeoIncrEvalSingleObjectivizer.h old mode 100644 new mode 100755 similarity index 95% rename from moeo/src/scalarStuffs/fitness/moeoIncrEvalSingleObjectivizer.h rename to src/moeo/scalarStuffs/fitness/moeoIncrEvalSingleObjectivizer.h index d316e6cc3..0dc6ab8b9 --- a/moeo/src/scalarStuffs/fitness/moeoIncrEvalSingleObjectivizer.h +++ b/src/moeo/scalarStuffs/fitness/moeoIncrEvalSingleObjectivizer.h @@ -38,12 +38,11 @@ #ifndef MOEOINCREVALSINGLEOBJECTIVIZER_H_ #define MOEOINCREVALSINGLEOBJECTIVIZER_H_ -#include -#include -#include -#include -#include -#include +//#include +//#include // ? +#include "../../fitness/moeoFitnessAssignment.h" +#include "../../fitness/moeoSingleObjectivization.h" +#include "../../../eo/eoEvalFunc.h" /** * Class to adapt mo algorithms (moTS moVNC...) for multiobjectives diff --git a/moeo/src/scalarStuffs/fitness/moeoMetricFitnessAssignment.h b/src/moeo/scalarStuffs/fitness/moeoMetricFitnessAssignment.h old mode 100644 new mode 100755 similarity index 96% rename from moeo/src/scalarStuffs/fitness/moeoMetricFitnessAssignment.h rename to src/moeo/scalarStuffs/fitness/moeoMetricFitnessAssignment.h index f5c3e5549..e02137a6e --- a/moeo/src/scalarStuffs/fitness/moeoMetricFitnessAssignment.h +++ b/src/moeo/scalarStuffs/fitness/moeoMetricFitnessAssignment.h @@ -39,12 +39,11 @@ #ifndef MOEOMETRICFITNESSASSIGNMENT_H_ #define MOEOMETRICFITNESSASSIGNMENT_H_ -#include -#include +//include #include -#include -#include -#include +#include "../../../eo/eoPop.h" +#include "../../fitness/moeoSingleObjectivization.h" +#include "../../utils/moeoObjectiveVectorNormalizer.h" /* * Fitness assignment scheme which use a metric diff --git a/moeo/src/scalarStuffs/fitness/moeoWeightedChebychevMetricFitnessAssignment.h b/src/moeo/scalarStuffs/fitness/moeoWeightedChebychevMetricFitnessAssignment.h old mode 100644 new mode 100755 similarity index 96% rename from moeo/src/scalarStuffs/fitness/moeoWeightedChebychevMetricFitnessAssignment.h rename to src/moeo/scalarStuffs/fitness/moeoWeightedChebychevMetricFitnessAssignment.h index 382d4e2ef..e3fb13bd0 --- a/moeo/src/scalarStuffs/fitness/moeoWeightedChebychevMetricFitnessAssignment.h +++ b/src/moeo/scalarStuffs/fitness/moeoWeightedChebychevMetricFitnessAssignment.h @@ -39,13 +39,12 @@ #ifndef MOEOCHEVMETRICFITNESSASSIGNMENT_H_ #define MOEOCHEVMETRICFITNESSASSIGNMENT_H_ -#include -#include +//#include #include -#include -#include -#include -#include +#include "../../../eo/eoPop.h" +#include "../../fitness/moeoSingleObjectivization.h" +#include "../../utils/moeoObjectiveVectorNormalizer.h" +#include "../distance/moeoWeightedChebychevDistance.h" /* * Fitness assignment scheme which use a metric diff --git a/moeo/src/scalarStuffs/weighting/moeoAnytimeWeightStrategy.h b/src/moeo/scalarStuffs/weighting/moeoAnytimeWeightStrategy.h similarity index 97% rename from moeo/src/scalarStuffs/weighting/moeoAnytimeWeightStrategy.h rename to src/moeo/scalarStuffs/weighting/moeoAnytimeWeightStrategy.h index 83ee36883..adb786e7d 100755 --- a/moeo/src/scalarStuffs/weighting/moeoAnytimeWeightStrategy.h +++ b/src/moeo/scalarStuffs/weighting/moeoAnytimeWeightStrategy.h @@ -37,10 +37,10 @@ #ifndef MOEOANYTIMEWEIGHTSTRAT_H_ #define MOEOANYTIMEWEIGHTSTRAT_H_ -#include +#include "moeoVariableWeightStrategy.h" #include #include -#include +#include "../../../eo/utils/rnd_generators.h" /** * Change all weights according to a pattern ressembling to a "double strategy" 2 to 1 then 1 to 2. diff --git a/moeo/src/scalarStuffs/weighting/moeoAugmentedQexploreWeightStrategy.h b/src/moeo/scalarStuffs/weighting/moeoAugmentedQexploreWeightStrategy.h similarity index 97% rename from moeo/src/scalarStuffs/weighting/moeoAugmentedQexploreWeightStrategy.h rename to src/moeo/scalarStuffs/weighting/moeoAugmentedQexploreWeightStrategy.h index 0db3f34b0..40b575a2e 100755 --- a/moeo/src/scalarStuffs/weighting/moeoAugmentedQexploreWeightStrategy.h +++ b/src/moeo/scalarStuffs/weighting/moeoAugmentedQexploreWeightStrategy.h @@ -37,10 +37,10 @@ #ifndef MOEOAUGMENTEDQEXPLWEIGHTSTRAT_H_ #define MOEOAUGMENTEDQEXPLWEIGHTSTRAT_H_ -#include +#include "moeoVariableWeightStrategy.h" #include #include -#include +#include "../../../eo/utils/rnd_generators.h" /** * Change all weights according to a pattern ressembling to a "double strategy" 2 to 1 then 1 to 2. diff --git a/moeo/src/scalarStuffs/weighting/moeoDichoWeightStrategy.h b/src/moeo/scalarStuffs/weighting/moeoDichoWeightStrategy.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/scalarStuffs/weighting/moeoDichoWeightStrategy.h rename to src/moeo/scalarStuffs/weighting/moeoDichoWeightStrategy.h index cacfa3273..3db434cc8 --- a/moeo/src/scalarStuffs/weighting/moeoDichoWeightStrategy.h +++ b/src/moeo/scalarStuffs/weighting/moeoDichoWeightStrategy.h @@ -37,10 +37,10 @@ #ifndef MOEODICHOWEIGHTSTRAT_H_ #define MOEODICHOWEIGHTSTRAT_H_ -#include +#include "moeoVariableWeightStrategy.h" #include #include -#include +#include "../../../eo/utils/rnd_generators.h" /** * Change all weights according to a pattern ressembling to a "double strategy" 2 to 1 then 1 to 2. diff --git a/moeo/src/scalarStuffs/weighting/moeoDummyRefPointStrategy.h b/src/moeo/scalarStuffs/weighting/moeoDummyRefPointStrategy.h similarity index 100% rename from moeo/src/scalarStuffs/weighting/moeoDummyRefPointStrategy.h rename to src/moeo/scalarStuffs/weighting/moeoDummyRefPointStrategy.h diff --git a/moeo/src/scalarStuffs/weighting/moeoDummyWeightStrategy.h b/src/moeo/scalarStuffs/weighting/moeoDummyWeightStrategy.h similarity index 97% rename from moeo/src/scalarStuffs/weighting/moeoDummyWeightStrategy.h rename to src/moeo/scalarStuffs/weighting/moeoDummyWeightStrategy.h index 5aefd2872..69b77ece6 100755 --- a/moeo/src/scalarStuffs/weighting/moeoDummyWeightStrategy.h +++ b/src/moeo/scalarStuffs/weighting/moeoDummyWeightStrategy.h @@ -37,7 +37,7 @@ #ifndef MOEODUMMYWEIGHTSTRAT_H_ #define MOEODUMMYWEIGHTSTRAT_H_ -#include +#include "moeoVariableWeightStrategy.h" /** * Dummy variable weight strategy. Fill the weight with equal values diff --git a/moeo/src/scalarStuffs/weighting/moeoFixedTimeBothDirectionWeightStrategy.h b/src/moeo/scalarStuffs/weighting/moeoFixedTimeBothDirectionWeightStrategy.h similarity index 96% rename from moeo/src/scalarStuffs/weighting/moeoFixedTimeBothDirectionWeightStrategy.h rename to src/moeo/scalarStuffs/weighting/moeoFixedTimeBothDirectionWeightStrategy.h index a67489b28..0536cdd04 100755 --- a/moeo/src/scalarStuffs/weighting/moeoFixedTimeBothDirectionWeightStrategy.h +++ b/src/moeo/scalarStuffs/weighting/moeoFixedTimeBothDirectionWeightStrategy.h @@ -37,10 +37,10 @@ #ifndef MOEOFTBDWSWEIGHTSTRAT_H_ #define MOEOFTBDWSWEIGHTSTRAT_H_ -#include +#include "moeoVariableWeightStrategy.h" #include #include -#include +#include "../../../eo/utils/rnd_generators.h" /** * Change all weights according to a "double strategy" pattern 2 to 1 then 1 to 2. diff --git a/moeo/src/scalarStuffs/weighting/moeoFixedTimeOneDirectionWeightStrategy.h b/src/moeo/scalarStuffs/weighting/moeoFixedTimeOneDirectionWeightStrategy.h similarity index 96% rename from moeo/src/scalarStuffs/weighting/moeoFixedTimeOneDirectionWeightStrategy.h rename to src/moeo/scalarStuffs/weighting/moeoFixedTimeOneDirectionWeightStrategy.h index 60d615a60..74bc21827 100755 --- a/moeo/src/scalarStuffs/weighting/moeoFixedTimeOneDirectionWeightStrategy.h +++ b/src/moeo/scalarStuffs/weighting/moeoFixedTimeOneDirectionWeightStrategy.h @@ -37,10 +37,10 @@ #ifndef MOEOFTODWSWEIGHTSTRAT_H_ #define MOEOFTODWSWEIGHTSTRAT_H_ -#include +#include "moeoVariableWeightStrategy.h" #include #include -#include +#include "../../../eo/utils/rnd_generators.h" /** * Change all weights according to a simple strategy by adding a step every generation diff --git a/moeo/src/scalarStuffs/weighting/moeoQexploreWeightStrategy.h b/src/moeo/scalarStuffs/weighting/moeoQexploreWeightStrategy.h similarity index 97% rename from moeo/src/scalarStuffs/weighting/moeoQexploreWeightStrategy.h rename to src/moeo/scalarStuffs/weighting/moeoQexploreWeightStrategy.h index b79e8bfde..fa3f549e2 100755 --- a/moeo/src/scalarStuffs/weighting/moeoQexploreWeightStrategy.h +++ b/src/moeo/scalarStuffs/weighting/moeoQexploreWeightStrategy.h @@ -37,10 +37,10 @@ #ifndef MOEOQEXPLWEIGHTSTRAT_H_ #define MOEOQEXPLWEIGHTSTRAT_H_ -#include +#include "moeoVariableWeightStrategy.h" #include #include -#include +#include "../../../eo/utils/rnd_generators.h" //#include /** * Change all weights according to a pattern ressembling to a "double strategy" 2 to 1 then 1 to 2. diff --git a/moeo/src/scalarStuffs/weighting/moeoRandWeightStrategy.h b/src/moeo/scalarStuffs/weighting/moeoRandWeightStrategy.h similarity index 97% rename from moeo/src/scalarStuffs/weighting/moeoRandWeightStrategy.h rename to src/moeo/scalarStuffs/weighting/moeoRandWeightStrategy.h index 582cf27f7..1ada8e094 100755 --- a/moeo/src/scalarStuffs/weighting/moeoRandWeightStrategy.h +++ b/src/moeo/scalarStuffs/weighting/moeoRandWeightStrategy.h @@ -37,7 +37,7 @@ #ifndef MOEORANDWEIGHTSTRAT_H_ #define MOEORANDWEIGHTSTRAT_H_ -#include +#include "moeoVariableWeightStrategy.h" /** * Change all weights randomly. diff --git a/moeo/src/scalarStuffs/weighting/moeoVariableRefPointStrategy.h b/src/moeo/scalarStuffs/weighting/moeoVariableRefPointStrategy.h similarity index 100% rename from moeo/src/scalarStuffs/weighting/moeoVariableRefPointStrategy.h rename to src/moeo/scalarStuffs/weighting/moeoVariableRefPointStrategy.h diff --git a/moeo/src/scalarStuffs/weighting/moeoVariableWeightStrategy.h b/src/moeo/scalarStuffs/weighting/moeoVariableWeightStrategy.h similarity index 100% rename from moeo/src/scalarStuffs/weighting/moeoVariableWeightStrategy.h rename to src/moeo/scalarStuffs/weighting/moeoVariableWeightStrategy.h diff --git a/moeo/src/selection/moeoDetArchiveSelect.h b/src/moeo/selection/moeoDetArchiveSelect.h old mode 100644 new mode 100755 similarity index 99% rename from moeo/src/selection/moeoDetArchiveSelect.h rename to src/moeo/selection/moeoDetArchiveSelect.h index 81e09e36c..ca8522eab --- a/moeo/src/selection/moeoDetArchiveSelect.h +++ b/src/moeo/selection/moeoDetArchiveSelect.h @@ -41,7 +41,7 @@ #ifndef MOEODETARCHIVESELECT_H #define MOEODETARCHIVESELECT_H -#include +#include "../../eo/eoSelect.h" #include template diff --git a/moeo/src/selection/moeoDetTournamentSelect.h b/src/moeo/selection/moeoDetTournamentSelect.h old mode 100644 new mode 100755 similarity index 95% rename from moeo/src/selection/moeoDetTournamentSelect.h rename to src/moeo/selection/moeoDetTournamentSelect.h index 24e0a451c..e888cd429 --- a/moeo/src/selection/moeoDetTournamentSelect.h +++ b/src/moeo/selection/moeoDetTournamentSelect.h @@ -38,10 +38,10 @@ #ifndef MOEODETTOURNAMENTSELECT_H_ #define MOEODETTOURNAMENTSELECT_H_ -#include -#include -#include -#include +#include "../comparator/moeoComparator.h" +#include "../comparator/moeoFitnessThenDiversityComparator.h" +#include "moeoSelectOne.h" +#include "moeoSelectors.h" /** * Selection strategy that selects ONE individual by deterministic tournament. diff --git a/moeo/src/selection/moeoExhaustiveUnvisitedSelect.h b/src/moeo/selection/moeoExhaustiveUnvisitedSelect.h old mode 100644 new mode 100755 similarity index 97% rename from moeo/src/selection/moeoExhaustiveUnvisitedSelect.h rename to src/moeo/selection/moeoExhaustiveUnvisitedSelect.h index 12b0a9ee8..d7c35aa15 --- a/moeo/src/selection/moeoExhaustiveUnvisitedSelect.h +++ b/src/moeo/selection/moeoExhaustiveUnvisitedSelect.h @@ -39,8 +39,8 @@ #ifndef _MOEOEXHAUSTIVEUNVISITEDSELECT_H #define _MOEOEXHAUSTIVEUNVISITEDSELECT_H -#include -#include +#include "../../eo/eoPop.h" +#include "moeoUnvisitedSelect.h" /** * Selector which select all unvisited individuals of a population diff --git a/moeo/src/selection/moeoNumberUnvisitedSelect.h b/src/moeo/selection/moeoNumberUnvisitedSelect.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/selection/moeoNumberUnvisitedSelect.h rename to src/moeo/selection/moeoNumberUnvisitedSelect.h index afe0d5d4d..6d2e3fd29 --- a/moeo/src/selection/moeoNumberUnvisitedSelect.h +++ b/src/moeo/selection/moeoNumberUnvisitedSelect.h @@ -39,8 +39,8 @@ #ifndef _MOEONUMBERUNVISITEDSELECT_H #define _MOEONUMBERUNVISITEDSELECT_H -#include -#include +#include "../../eo/eoPop.h" +#include "moeoUnvisitedSelect.h" /** * Selector which select a part of unvisited individuals of a population diff --git a/moeo/src/selection/moeoRandomSelect.h b/src/moeo/selection/moeoRandomSelect.h old mode 100644 new mode 100755 similarity index 97% rename from moeo/src/selection/moeoRandomSelect.h rename to src/moeo/selection/moeoRandomSelect.h index c27f07c91..c98f36b5a --- a/moeo/src/selection/moeoRandomSelect.h +++ b/src/moeo/selection/moeoRandomSelect.h @@ -38,8 +38,8 @@ #ifndef MOEORANDOMSELECT_H_ #define MOEORANDOMSELECT_H_ -#include -#include +#include "../../eo/eoRandomSelect.h" +#include "moeoSelectOne.h" /** diff --git a/moeo/src/selection/moeoRouletteSelect.h b/src/moeo/selection/moeoRouletteSelect.h old mode 100644 new mode 100755 similarity index 97% rename from moeo/src/selection/moeoRouletteSelect.h rename to src/moeo/selection/moeoRouletteSelect.h index b5adcb0c2..bf90fb215 --- a/moeo/src/selection/moeoRouletteSelect.h +++ b/src/moeo/selection/moeoRouletteSelect.h @@ -38,8 +38,8 @@ #ifndef MOEOROULETTESELECT_H_ #define MOEOROULETTESELECT_H_ -#include -#include +#include "moeoSelectOne.h" +#include "moeoSelectors.h" /** * Selection strategy that selects ONE individual by using roulette wheel process. diff --git a/moeo/src/selection/moeoSelectFromPopAndArch.h b/src/moeo/selection/moeoSelectFromPopAndArch.h old mode 100644 new mode 100755 similarity index 96% rename from moeo/src/selection/moeoSelectFromPopAndArch.h rename to src/moeo/selection/moeoSelectFromPopAndArch.h index a75fbad9a..c6299e3aa --- a/moeo/src/selection/moeoSelectFromPopAndArch.h +++ b/src/moeo/selection/moeoSelectFromPopAndArch.h @@ -38,11 +38,11 @@ #ifndef MOEOSELECTONEFROMPOPANDARCH_H_ #define MOEOSELECTONEFROMPOPANDARCH_H_ -#include -#include -#include -#include -#include +#include "../../eo/eoPop.h" +#include "../../eo/utils/eoRNG.h" +#include "../archive/moeoArchive.h" +#include "moeoSelectOne.h" +#include "moeoRandomSelect.h" /** * Elitist selection process that consists in choosing individuals in the archive as well as in the current population. diff --git a/moeo/src/selection/moeoSelectOne.h b/src/moeo/selection/moeoSelectOne.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/selection/moeoSelectOne.h rename to src/moeo/selection/moeoSelectOne.h index c05e44740..6c3bde9b9 --- a/moeo/src/selection/moeoSelectOne.h +++ b/src/moeo/selection/moeoSelectOne.h @@ -38,7 +38,7 @@ #ifndef MOEOSELECTONE_H_ #define MOEOSELECTONE_H_ -#include +#include "../../eo/eoSelectOne.h" /** * Selection strategy for multi-objective optimization that selects only one element from a whole population. diff --git a/moeo/src/selection/moeoSelectors.h b/src/moeo/selection/moeoSelectors.h old mode 100644 new mode 100755 similarity index 99% rename from moeo/src/selection/moeoSelectors.h rename to src/moeo/selection/moeoSelectors.h index 1b61eafad..b08b2edf3 --- a/moeo/src/selection/moeoSelectors.h +++ b/src/moeo/selection/moeoSelectors.h @@ -38,7 +38,7 @@ #ifndef MOEOSELECTORS_H_ #define MOEOSELECTORS_H_ -#include +#include "../comparator/moeoComparator.h" template diff --git a/moeo/src/selection/moeoStochTournamentSelect.h b/src/moeo/selection/moeoStochTournamentSelect.h old mode 100644 new mode 100755 similarity index 95% rename from moeo/src/selection/moeoStochTournamentSelect.h rename to src/moeo/selection/moeoStochTournamentSelect.h index c718db309..553983fe8 --- a/moeo/src/selection/moeoStochTournamentSelect.h +++ b/src/moeo/selection/moeoStochTournamentSelect.h @@ -38,10 +38,10 @@ #ifndef MOEOSTOCHTOURNAMENTSELECT_H_ #define MOEOSTOCHTOURNAMENTSELECT_H_ -#include -#include -#include -#include +#include "../comparator/moeoComparator.h" +#include "../comparator/moeoFitnessThenDiversityComparator.h" +#include "moeoSelectOne.h" +#include "moeoSelectors.h" /** * Selection strategy that selects ONE individual by stochastic tournament. diff --git a/moeo/src/selection/moeoUnvisitedSelect.h b/src/moeo/selection/moeoUnvisitedSelect.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/selection/moeoUnvisitedSelect.h rename to src/moeo/selection/moeoUnvisitedSelect.h index cd0dc3759..b0f0fef68 --- a/moeo/src/selection/moeoUnvisitedSelect.h +++ b/src/moeo/selection/moeoUnvisitedSelect.h @@ -39,7 +39,7 @@ #ifndef _MOEOUNVISITEDSELECT_H #define _MOEOUNVISITEDSELECT_H -#include +#include "../../eo/eoPop.h" /** * Abstract Selector diff --git a/moeo/src/utils/moeoArchiveObjectiveVectorSavingUpdater.h b/src/moeo/utils/moeoArchiveObjectiveVectorSavingUpdater.h old mode 100644 new mode 100755 similarity index 97% rename from moeo/src/utils/moeoArchiveObjectiveVectorSavingUpdater.h rename to src/moeo/utils/moeoArchiveObjectiveVectorSavingUpdater.h index 819533fe1..d8eb1a7d0 --- a/moeo/src/utils/moeoArchiveObjectiveVectorSavingUpdater.h +++ b/src/moeo/utils/moeoArchiveObjectiveVectorSavingUpdater.h @@ -40,9 +40,9 @@ #include #include -#include -#include -#include +#include "../../eo/eoPop.h" +#include "../../eo/utils/eoUpdater.h" +#include "../archive/moeoArchive.h" #define MAX_BUFFER_SIZE 1000 diff --git a/moeo/src/utils/moeoArchiveUpdater.h b/src/moeo/utils/moeoArchiveUpdater.h old mode 100644 new mode 100755 similarity index 96% rename from moeo/src/utils/moeoArchiveUpdater.h rename to src/moeo/utils/moeoArchiveUpdater.h index f892a6f00..50a33ea81 --- a/moeo/src/utils/moeoArchiveUpdater.h +++ b/src/moeo/utils/moeoArchiveUpdater.h @@ -38,9 +38,9 @@ #ifndef MOEOARCHIVEUPDATER_H_ #define MOEOARCHIVEUPDATER_H_ -#include -#include -#include +#include "../../eo/eoPop.h" +#include "../../eo/utils/eoUpdater.h" +#include "../archive/moeoArchive.h" /** * This class allows to update the archive at each generation with newly found non-dominated solutions. diff --git a/moeo/src/utils/moeoAverageObjVecStat.h b/src/moeo/utils/moeoAverageObjVecStat.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/utils/moeoAverageObjVecStat.h rename to src/moeo/utils/moeoAverageObjVecStat.h index 86116860e..957d50769 --- a/moeo/src/utils/moeoAverageObjVecStat.h +++ b/src/moeo/utils/moeoAverageObjVecStat.h @@ -38,7 +38,7 @@ #ifndef MOEOAVERAGEOBJVECSTAT_H_ #define MOEOAVERAGEOBJVECSTAT_H_ -#include +#include "moeoObjVecStat.h" /** Calculates average scores for each objective */ diff --git a/moeo/src/utils/moeoBestObjVecStat.h b/src/moeo/utils/moeoBestObjVecStat.h old mode 100644 new mode 100755 similarity index 99% rename from moeo/src/utils/moeoBestObjVecStat.h rename to src/moeo/utils/moeoBestObjVecStat.h index 1d8d7294d..6136eeec1 --- a/moeo/src/utils/moeoBestObjVecStat.h +++ b/src/moeo/utils/moeoBestObjVecStat.h @@ -38,7 +38,7 @@ #ifndef MOEOBESTOBJVECSTAT_H_ #define MOEOBESTOBJVECSTAT_H_ -#include +#include "moeoObjVecStat.h" /** Calculate the best solution for each objective (extreme points */ diff --git a/moeo/src/utils/moeoBinaryMetricSavingUpdater.h b/src/moeo/utils/moeoBinaryMetricSavingUpdater.h old mode 100644 new mode 100755 similarity index 97% rename from moeo/src/utils/moeoBinaryMetricSavingUpdater.h rename to src/moeo/utils/moeoBinaryMetricSavingUpdater.h index 0d8df0759..4a0ab378e --- a/moeo/src/utils/moeoBinaryMetricSavingUpdater.h +++ b/src/moeo/utils/moeoBinaryMetricSavingUpdater.h @@ -41,9 +41,9 @@ #include #include #include -#include -#include -#include +#include "../../eo/eoPop.h" +#include "../../eo/utils/eoUpdater.h" +#include "../metric/moeoMetric.h" /** * This class allows to save the progression of a binary metric comparing the objective vectors of the current population (or archive) diff --git a/moeo/src/utils/moeoBinaryMetricStat.h b/src/moeo/utils/moeoBinaryMetricStat.h old mode 100644 new mode 100755 similarity index 99% rename from moeo/src/utils/moeoBinaryMetricStat.h rename to src/moeo/utils/moeoBinaryMetricStat.h index a75ed20a2..0a97e79bc --- a/moeo/src/utils/moeoBinaryMetricStat.h +++ b/src/moeo/utils/moeoBinaryMetricStat.h @@ -26,8 +26,6 @@ Contact: http://eodev.sourceforge.net #ifndef _MOEOBINARYMETRICSTAT_H_ #define _MOEOBINARYMETRICSTAT_H_ -#include - /** A wrapper to save a moeoMetric in an eoStat * * This wrap a MOEO binary metric into an eoStat diff --git a/moeo/src/utils/moeoConvertPopToObjectiveVectors.h b/src/moeo/utils/moeoConvertPopToObjectiveVectors.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/utils/moeoConvertPopToObjectiveVectors.h rename to src/moeo/utils/moeoConvertPopToObjectiveVectors.h index 8eb6e5fb7..8a68ed248 --- a/moeo/src/utils/moeoConvertPopToObjectiveVectors.h +++ b/src/moeo/utils/moeoConvertPopToObjectiveVectors.h @@ -39,7 +39,7 @@ #define MOEOPOPTOOBJECTIVEVECTORS_H_ #include -#include +#include "../../eo/eoFunctor.h" /** * Functor allowing to get a vector of objective vectors from a population diff --git a/moeo/src/utils/moeoDominanceMatrix.h b/src/moeo/utils/moeoDominanceMatrix.h old mode 100644 new mode 100755 similarity index 100% rename from moeo/src/utils/moeoDominanceMatrix.h rename to src/moeo/utils/moeoDominanceMatrix.h diff --git a/moeo/src/utils/moeoFullEvalByCopy.h b/src/moeo/utils/moeoFullEvalByCopy.h old mode 100644 new mode 100755 similarity index 93% rename from moeo/src/utils/moeoFullEvalByCopy.h rename to src/moeo/utils/moeoFullEvalByCopy.h index f681212ee..a85d14e95 --- a/moeo/src/utils/moeoFullEvalByCopy.h +++ b/src/moeo/utils/moeoFullEvalByCopy.h @@ -1,8 +1,8 @@ #ifndef moeoFullEvalByCopy_H #define moeoFullEvalByCopy_H -#include -#include +#include "../../eo/eoEvalFunc.h" +#include "../../mo/eval/moEval.h" /** * Evaluation by copy diff --git a/moeo/src/utils/moeoObjVecStat.h b/src/moeo/utils/moeoObjVecStat.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/src/utils/moeoObjVecStat.h rename to src/moeo/utils/moeoObjVecStat.h index 1e0b9e2a4..9faf84fdb --- a/moeo/src/utils/moeoObjVecStat.h +++ b/src/moeo/utils/moeoObjVecStat.h @@ -38,7 +38,7 @@ #ifndef MOEOOBJVECSTAT_H_ #define MOEOOBJVECSTAT_H_ -#include +#include "../../eo/utils/eoStat.h" /** This base class is a specialization of eoStat which is useful diff --git a/moeo/src/utils/moeoObjectiveVectorNormalizer.h b/src/moeo/utils/moeoObjectiveVectorNormalizer.h old mode 100644 new mode 100755 similarity index 99% rename from moeo/src/utils/moeoObjectiveVectorNormalizer.h rename to src/moeo/utils/moeoObjectiveVectorNormalizer.h index c6d158827..6dfe7cf70 --- a/moeo/src/utils/moeoObjectiveVectorNormalizer.h +++ b/src/moeo/utils/moeoObjectiveVectorNormalizer.h @@ -37,8 +37,8 @@ #ifndef MOEOOBJVECNORM_H_ #define MOEOOBJVECNORM_H_ -#include -#include +#include "../../eo/eoPop.h" +#include "../../eo/utils/eoRealBounds.h" /** class to normalize each dimension of objectiveVectors */ diff --git a/src/problems/CMakeLists.txt b/src/problems/CMakeLists.txt new file mode 100755 index 000000000..60493dd3e --- /dev/null +++ b/src/problems/CMakeLists.txt @@ -0,0 +1,9 @@ +###################################################################################### +### 1) Look for directory and install headers +###################################################################################### + +install(DIRECTORY eval + DESTINATION ${PROJECT_HDRS_INSTALL_SUBPATH}/${PROJECT_TAG}/problems + COMPONENT headers + FILES_MATCHING PATTERN "*.h" + ) diff --git a/problems/eval/bbRoyalRoadEval.h b/src/problems/eval/bbRoyalRoadEval.h old mode 100644 new mode 100755 similarity index 99% rename from problems/eval/bbRoyalRoadEval.h rename to src/problems/eval/bbRoyalRoadEval.h index 9d861f738..47c99e840 --- a/problems/eval/bbRoyalRoadEval.h +++ b/src/problems/eval/bbRoyalRoadEval.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _bbRoyalRoadEval_h #define _bbRoyalRoadEval_h -#include +#include "../../eo/eoEvalFunc.h" #include /** diff --git a/problems/eval/longKPathEval.h b/src/problems/eval/longKPathEval.h old mode 100644 new mode 100755 similarity index 99% rename from problems/eval/longKPathEval.h rename to src/problems/eval/longKPathEval.h index 38cd69705..d6f9fbc91 --- a/problems/eval/longKPathEval.h +++ b/src/problems/eval/longKPathEval.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef __longKPathEval_h #define __longKPathEval_h -#include +#include "../../eo/eoEvalFunc.h" /** * Full evaluation function for long k-path problem diff --git a/problems/eval/maxSATeval.h b/src/problems/eval/maxSATeval.h old mode 100644 new mode 100755 similarity index 99% rename from problems/eval/maxSATeval.h rename to src/problems/eval/maxSATeval.h index 87a3c4ca6..77edb2533 --- a/problems/eval/maxSATeval.h +++ b/src/problems/eval/maxSATeval.h @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #define _maxSATeval_h #include -#include +#include "../../eo/eoEvalFunc.h" /** * Full evaluation Function for max-SAT problem diff --git a/problems/eval/moPopSolEval.h b/src/problems/eval/moPopSolEval.h old mode 100644 new mode 100755 similarity index 96% rename from problems/eval/moPopSolEval.h rename to src/problems/eval/moPopSolEval.h index a393fd0dd..da1b6b960 --- a/problems/eval/moPopSolEval.h +++ b/src/problems/eval/moPopSolEval.h @@ -30,8 +30,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _moPopSolEval_h #define _moPopSolEval_h -#include -#include +//#include // ? +#include "../../eo/eoEvalFunc.h" #include /** diff --git a/problems/eval/nkLandscapesEval.h b/src/problems/eval/nkLandscapesEval.h old mode 100644 new mode 100755 similarity index 99% rename from problems/eval/nkLandscapesEval.h rename to src/problems/eval/nkLandscapesEval.h index 29fd20d5f..635357fc0 --- a/problems/eval/nkLandscapesEval.h +++ b/src/problems/eval/nkLandscapesEval.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef __nkLandscapesEval_H #define __nkLandscapesEval_H -#include +#include "../../eo/eoEvalFunc.h" template< class EOT > class nkLandscapesEval : public eoEvalFunc { diff --git a/problems/eval/nkpLandscapesEval.h b/src/problems/eval/nkpLandscapesEval.h old mode 100644 new mode 100755 similarity index 99% rename from problems/eval/nkpLandscapesEval.h rename to src/problems/eval/nkpLandscapesEval.h index 9be4f47e2..4689fdfc0 --- a/problems/eval/nkpLandscapesEval.h +++ b/src/problems/eval/nkpLandscapesEval.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef __nkpLandscapesEval_H #define __nkpLandscapesEval_H -#include +#include "nkLandscapesEval.h" /* * Neutral version of NK landscapes: the 'probabilistic' NK diff --git a/problems/eval/nkqLandscapesEval.h b/src/problems/eval/nkqLandscapesEval.h old mode 100644 new mode 100755 similarity index 99% rename from problems/eval/nkqLandscapesEval.h rename to src/problems/eval/nkqLandscapesEval.h index 720143566..41fc46c48 --- a/problems/eval/nkqLandscapesEval.h +++ b/src/problems/eval/nkqLandscapesEval.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef __nkqLandscapesEval_H #define __nkqLandscapesEval_H -#include +#include "nkLandscapesEval.h" /* * Neutral version of NK landscapes: the 'quantised' NK diff --git a/problems/eval/oneMaxEval.h b/src/problems/eval/oneMaxEval.h old mode 100644 new mode 100755 similarity index 98% rename from problems/eval/oneMaxEval.h rename to src/problems/eval/oneMaxEval.h index e28e298ed..c992895aa --- a/problems/eval/oneMaxEval.h +++ b/src/problems/eval/oneMaxEval.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _oneMaxEval_h #define _oneMaxEval_h -#include +#include "../../eo/eoEvalFunc.h" /** * Full evaluation Function for OneMax problem diff --git a/problems/eval/oneMaxPopEval.h b/src/problems/eval/oneMaxPopEval.h old mode 100644 new mode 100755 similarity index 96% rename from problems/eval/oneMaxPopEval.h rename to src/problems/eval/oneMaxPopEval.h index ecd475ee6..686b70a2e --- a/problems/eval/oneMaxPopEval.h +++ b/src/problems/eval/oneMaxPopEval.h @@ -30,8 +30,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _oneMaxPopEval_h #define _oneMaxPopEval_h -#include -#include +//#include // ? +#include "oneMaxEval.h" #include template< class EOT > diff --git a/problems/eval/qapEval.h b/src/problems/eval/qapEval.h old mode 100644 new mode 100755 similarity index 98% rename from problems/eval/qapEval.h rename to src/problems/eval/qapEval.h index 0915a8886..bcbb331e2 --- a/problems/eval/qapEval.h +++ b/src/problems/eval/qapEval.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _qapEval_h #define _qapEval_h -#include +#include "../../eo/eoEvalFunc.h" /** * Full evaluation Function for QAP problem diff --git a/problems/eval/queenEval.h b/src/problems/eval/queenEval.h old mode 100644 new mode 100755 similarity index 98% rename from problems/eval/queenEval.h rename to src/problems/eval/queenEval.h index da8dd9ee3..c7929db75 --- a/problems/eval/queenEval.h +++ b/src/problems/eval/queenEval.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _queenEval_h #define _queenEval_h -#include +#include "../../eo/eoEvalFunc.h" /** * Full evaluation function for QUEEN problem diff --git a/problems/eval/royalRoadEval.h b/src/problems/eval/royalRoadEval.h old mode 100644 new mode 100755 similarity index 98% rename from problems/eval/royalRoadEval.h rename to src/problems/eval/royalRoadEval.h index 8e866cf48..19c19eb7c --- a/problems/eval/royalRoadEval.h +++ b/src/problems/eval/royalRoadEval.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef _RoyalRoadEval_h #define _RoyalRoadEval_h -#include +#include "../../eo/eoEvalFunc.h" /** * Full evaluation Function for Royal Road problem diff --git a/problems/eval/ubqpEval.h b/src/problems/eval/ubqpEval.h old mode 100644 new mode 100755 similarity index 99% rename from problems/eval/ubqpEval.h rename to src/problems/eval/ubqpEval.h index 6061954b9..580c20570 --- a/problems/eval/ubqpEval.h +++ b/src/problems/eval/ubqpEval.h @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #define _ubqpEval_h #include -#include +#include "../../eo/eoEvalFunc.h" /** * Full evaluation Function diff --git a/smp/src/CMakeLists.txt b/src/smp/CMakeLists.txt old mode 100644 new mode 100755 similarity index 53% rename from smp/src/CMakeLists.txt rename to src/smp/CMakeLists.txt index 1135119a0..4594a600b --- a/smp/src/CMakeLists.txt +++ b/src/smp/CMakeLists.txt @@ -2,8 +2,8 @@ ### 0) Include directories ###################################################################################### -include_directories(${EO_SRC_DIR}/src) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +#include_directories(${EO_SRC_DIR}/src) +#include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ###################################################################################### ### 1) Set paths @@ -42,15 +42,70 @@ install(TARGETS smp ARCHIVE DESTINATION ${LIB} COMPONENT libraries) ### 3) Look for headers ###################################################################################### -file(GLOB HDRS smp *.h *.cpp) -install(FILES ${HDRS} DESTINATION include${INSTALL_SUB_DIR}/smp COMPONENT headers) +install(FILES smp.h DESTINATION ${PROJECT_HDRS_INSTALL_SUBPATH}/${PROJECT_TAG} COMPONENT headers) + +#file(GLOB HDRS smp *.h *.cpp) +set(HDRS + notifier.h + abstractIsland.h + #smp + contDispatching.h + island.cpp + policiesDispatching.h + MWModel.h + bimap.cpp + #smp.h + contWrapper.cpp + topology/mesh.cpp + topology/ring.cpp + topology/ring.h + topology/hypercubic.cpp + topology/complete.h + topology/abstractTopology.h + topology/star.cpp + topology/customBooleanTopology.cpp + topology/customStochasticTopology.cpp + topology/topology.cpp + topology/hypercubic.h + topology/star.h + topology/topology.h + topology/complete.cpp + topology/mesh.h + topology/topologyBuilder.h + topology/customStochasticTopology.h + topology/customBooleanTopology.h + contWrapper.h + PPExpander.h + bimap.h + MWModel.cpp + islandNotifier.cpp + policyElement.h + notifier.cpp + islandModel.h + islandModelWrapper.h + scheduler.cpp + islandNotifier.h + island.h + intPolicy.h + policyElement.cpp + scheduler.h + algoDispatching.h + migPolicy.h + islandModel.cpp + MWAlgo/eoEasyEA.cpp + MWAlgo/eoSyncEasyPSO.cpp + MWAlgo/eoEasyPSO.cpp + MWAlgo/MWAlgo.h +) + +install(FILES ${HDRS} DESTINATION ${PROJECT_HDRS_INSTALL_SUBPATH}/${PROJECT_TAG}/smp COMPONENT headers) ###################################################################################### ### 4) Install directories ###################################################################################### install(DIRECTORY MWAlgo topology - DESTINATION include${INSTALL_SUB_DIR}/smp + DESTINATION ${PROJECT_HDRS_INSTALL_SUBPATH}/${PROJECT_TAG}/smp COMPONENT headers FILES_MATCHING PATTERN "*.h" PATTERN "*.cpp" diff --git a/smp/src/MWAlgo/MWAlgo.h b/src/smp/MWAlgo/MWAlgo.h old mode 100644 new mode 100755 similarity index 90% rename from smp/src/MWAlgo/MWAlgo.h rename to src/smp/MWAlgo/MWAlgo.h index 24dc80a83..61ef5cc10 --- a/smp/src/MWAlgo/MWAlgo.h +++ b/src/smp/MWAlgo/MWAlgo.h @@ -30,8 +30,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef MWAlGO_H #define MWAlGO_H -#include -#include -#include +#include +#include +#include #endif diff --git a/smp/src/MWAlgo/eoEasyEA.cpp b/src/smp/MWAlgo/eoEasyEA.cpp old mode 100644 new mode 100755 similarity index 100% rename from smp/src/MWAlgo/eoEasyEA.cpp rename to src/smp/MWAlgo/eoEasyEA.cpp diff --git a/smp/src/MWAlgo/eoEasyPSO.cpp b/src/smp/MWAlgo/eoEasyPSO.cpp old mode 100644 new mode 100755 similarity index 100% rename from smp/src/MWAlgo/eoEasyPSO.cpp rename to src/smp/MWAlgo/eoEasyPSO.cpp diff --git a/smp/src/MWAlgo/eoSyncEasyPSO.cpp b/src/smp/MWAlgo/eoSyncEasyPSO.cpp old mode 100644 new mode 100755 similarity index 100% rename from smp/src/MWAlgo/eoSyncEasyPSO.cpp rename to src/smp/MWAlgo/eoSyncEasyPSO.cpp diff --git a/smp/src/MWModel.cpp b/src/smp/MWModel.cpp old mode 100644 new mode 100755 similarity index 100% rename from smp/src/MWModel.cpp rename to src/smp/MWModel.cpp diff --git a/smp/src/MWModel.h b/src/smp/MWModel.h old mode 100644 new mode 100755 similarity index 95% rename from smp/src/MWModel.h rename to src/smp/MWModel.h index c3183f06b..db320144c --- a/smp/src/MWModel.h +++ b/src/smp/MWModel.h @@ -33,12 +33,9 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include -#include -#include - -#include - +#include "scheduler.h" +#include "algoDispatching.h" +#include "policiesDispatching.h" namespace paradiseo { @@ -117,8 +114,8 @@ class MWModel : public EOAlgo Scheduler scheduler; }; -#include -#include +#include "MWModel.cpp" +#include "MWAlgo/MWAlgo.h" } diff --git a/smp/src/PPExpander.h b/src/smp/PPExpander.h old mode 100644 new mode 100755 similarity index 100% rename from smp/src/PPExpander.h rename to src/smp/PPExpander.h diff --git a/smp/src/abstractIsland.h b/src/smp/abstractIsland.h old mode 100644 new mode 100755 similarity index 98% rename from smp/src/abstractIsland.h rename to src/smp/abstractIsland.h index fc4bebe98..92040f084 --- a/smp/src/abstractIsland.h +++ b/src/smp/abstractIsland.h @@ -32,8 +32,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include -#include -#include +#include "../eo/eoPop.h" +#include "migPolicy.h" namespace paradiseo { diff --git a/smp/src/algoDispatching.h b/src/smp/algoDispatching.h old mode 100644 new mode 100755 similarity index 93% rename from smp/src/algoDispatching.h rename to src/smp/algoDispatching.h index aea7920bf..cc05e369c --- a/smp/src/algoDispatching.h +++ b/src/smp/algoDispatching.h @@ -30,7 +30,12 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef SMP_ALGO_DISPATCHING_H_ #define SMP_ALGO_DISPATCHING_H_ -#include +#include "../eo/eoEasyEA.h" +#include "../eo/eoInitializer.h" +#include "../eo/eoPSO.h" +#include "../eo/eoEasyPSO.h" +#include "../eo/eoSyncEasyPSO.h" + namespace paradiseo { diff --git a/smp/src/bimap.cpp b/src/smp/bimap.cpp old mode 100644 new mode 100755 similarity index 100% rename from smp/src/bimap.cpp rename to src/smp/bimap.cpp diff --git a/smp/src/bimap.h b/src/smp/bimap.h old mode 100644 new mode 100755 similarity index 99% rename from smp/src/bimap.h rename to src/smp/bimap.h index 024f4d12c..5cec219f6 --- a/smp/src/bimap.h +++ b/src/smp/bimap.h @@ -96,7 +96,7 @@ class Bimap std::map leftAssociation; }; -#include +#include "bimap.cpp" } diff --git a/smp/src/contDispatching.h b/src/smp/contDispatching.h old mode 100644 new mode 100755 similarity index 100% rename from smp/src/contDispatching.h rename to src/smp/contDispatching.h diff --git a/smp/src/contWrapper.cpp b/src/smp/contWrapper.cpp old mode 100644 new mode 100755 similarity index 100% rename from smp/src/contWrapper.cpp rename to src/smp/contWrapper.cpp diff --git a/smp/src/contWrapper.h b/src/smp/contWrapper.h old mode 100644 new mode 100755 similarity index 93% rename from smp/src/contWrapper.h rename to src/smp/contWrapper.h index 7dfad0f95..3ab857469 --- a/smp/src/contWrapper.h +++ b/src/smp/contWrapper.h @@ -30,10 +30,10 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef SMP_CONT_WRAPPER_H_ #define SMP_CONT_WRAPPER_H_ -#include -#include -#include -#include +#include "../eo/utils/eoCheckPoint.h" +#include "../eo/eoContinue.h" +#include "migPolicy.h" +#include "islandNotifier.h" namespace paradiseo { @@ -63,7 +63,7 @@ class ContWrapper IslandNotifier islandNotifier; }; -#include +#include "contWrapper.cpp" } diff --git a/smp/src/intPolicy.h b/src/smp/intPolicy.h old mode 100644 new mode 100755 similarity index 98% rename from smp/src/intPolicy.h rename to src/smp/intPolicy.h index c9ea7d292..f0007bfb1 --- a/smp/src/intPolicy.h +++ b/src/smp/intPolicy.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef SMP_INT_POLICY_H_ #define SMP_INT_POLICY_H_ -#include +#include "../eo/eoReplacement.h" namespace paradiseo { diff --git a/smp/src/island.cpp b/src/smp/island.cpp old mode 100644 new mode 100755 similarity index 100% rename from smp/src/island.cpp rename to src/smp/island.cpp diff --git a/smp/src/island.h b/src/smp/island.h old mode 100644 new mode 100755 similarity index 93% rename from smp/src/island.h rename to src/smp/island.h index 546a69efa..1e0fdc5a6 --- a/smp/src/island.h +++ b/src/smp/island.h @@ -38,18 +38,18 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include +#include "../eo/eoEvalFunc.h" +#include "../eo/eoSelect.h" +#include "../eo/eoAlgo.h" +#include "../eo/eoPop.h" + +#include "abstractIsland.h" +#include "islandModel.h" +#include "migPolicy.h" +#include "intPolicy.h" +#include "PPExpander.h" +#include "contWrapper.h" +#include "contDispatching.h" namespace paradiseo { @@ -155,7 +155,7 @@ class Island : private ContWrapper, public AIsland std::function convertToBase; }; -#include +#include "island.cpp" } diff --git a/smp/src/islandModel.cpp b/src/smp/islandModel.cpp old mode 100644 new mode 100755 similarity index 100% rename from smp/src/islandModel.cpp rename to src/smp/islandModel.cpp diff --git a/smp/src/islandModel.h b/src/smp/islandModel.h old mode 100644 new mode 100755 similarity index 96% rename from smp/src/islandModel.h rename to src/smp/islandModel.h index 1b76550d2..1ef6ee5bf --- a/smp/src/islandModel.h +++ b/src/smp/islandModel.h @@ -36,9 +36,9 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include -#include -#include +#include "bimap.h" +#include "abstractIsland.h" +#include "topology/topology.h" namespace paradiseo { @@ -105,7 +105,7 @@ class IslandModel std::atomic running; }; -#include +#include "islandModel.cpp" } diff --git a/smp/src/islandModelWrapper.h b/src/smp/islandModelWrapper.h old mode 100644 new mode 100755 similarity index 96% rename from smp/src/islandModelWrapper.h rename to src/smp/islandModelWrapper.h index 0aa278866..edb7b74e2 --- a/smp/src/islandModelWrapper.h +++ b/src/smp/islandModelWrapper.h @@ -37,10 +37,10 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include -#include -#include -#include +#include "bimap.h" +#include "abstractIsland.h" +#include "island.h" +#include "topology/topology.h" namespace paradiseo { diff --git a/smp/src/islandNotifier.cpp b/src/smp/islandNotifier.cpp old mode 100644 new mode 100755 similarity index 100% rename from smp/src/islandNotifier.cpp rename to src/smp/islandNotifier.cpp diff --git a/smp/src/islandNotifier.h b/src/smp/islandNotifier.h old mode 100644 new mode 100755 similarity index 98% rename from smp/src/islandNotifier.h rename to src/smp/islandNotifier.h index 8a804f7f4..cef4f108e --- a/smp/src/islandNotifier.h +++ b/src/smp/islandNotifier.h @@ -65,7 +65,7 @@ protected : std::function*)> task; }; -#include +#include "islandNotifier.cpp" } diff --git a/smp/src/migPolicy.h b/src/smp/migPolicy.h old mode 100644 new mode 100755 similarity index 98% rename from smp/src/migPolicy.h rename to src/smp/migPolicy.h index 6c37ef7de..d063af8c3 --- a/smp/src/migPolicy.h +++ b/src/smp/migPolicy.h @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #define SMP_MIG_POLICY_H_ #include -#include +#include "policyElement.h" namespace paradiseo { diff --git a/smp/src/notifier.cpp b/src/smp/notifier.cpp old mode 100644 new mode 100755 similarity index 98% rename from smp/src/notifier.cpp rename to src/smp/notifier.cpp index e085b87c5..ab7f385c2 --- a/smp/src/notifier.cpp +++ b/src/smp/notifier.cpp @@ -27,7 +27,7 @@ ParadisEO WebSite : http://paradiseo.gforge.inria.fr Contact: paradiseo-help@lists.gforge.inria.fr */ -#include +#include "notifier.h" paradiseo::smp::Notifier::Notifier(std::function _task) : task(_task) diff --git a/smp/src/notifier.h b/src/smp/notifier.h old mode 100644 new mode 100755 similarity index 98% rename from smp/src/notifier.h rename to src/smp/notifier.h index 613950eee..87dc681e2 --- a/smp/src/notifier.h +++ b/src/smp/notifier.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef SMP_NOTIFIER_H_ #define SMP_NOTIFIER_H_ -#include +#include "../eo/utils/eoUpdater.h" #include namespace paradiseo diff --git a/smp/src/policiesDispatching.h b/src/smp/policiesDispatching.h old mode 100644 new mode 100755 similarity index 100% rename from smp/src/policiesDispatching.h rename to src/smp/policiesDispatching.h diff --git a/smp/src/policyElement.cpp b/src/smp/policyElement.cpp old mode 100644 new mode 100755 similarity index 99% rename from smp/src/policyElement.cpp rename to src/smp/policyElement.cpp index d4dbcdde3..a0802360f --- a/smp/src/policyElement.cpp +++ b/src/smp/policyElement.cpp @@ -28,7 +28,6 @@ Contact: paradiseo-help@lists.gforge.inria.fr */ #include -#include template paradiseo::smp::PolicyElement::PolicyElement(eoSelect& _selection, eoContinue& _criterion) : diff --git a/smp/src/policyElement.h b/src/smp/policyElement.h old mode 100644 new mode 100755 similarity index 95% rename from smp/src/policyElement.h rename to src/smp/policyElement.h index 785951fc6..03bf0fd24 --- a/smp/src/policyElement.h +++ b/src/smp/policyElement.h @@ -30,9 +30,9 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef SMP_POLICY_ELEMENT_H_ #define SMP_POLICY_ELEMENT_H_ -#include -#include -#include +#include "../eo/eoContinue.h" +#include "../eo/eoSelect.h" +#include "../eo/eoPop.h" namespace paradiseo { @@ -79,7 +79,7 @@ protected : eoContinue& criterion; }; -#include +#include "policyElement.cpp" } diff --git a/smp/src/scheduler.cpp b/src/smp/scheduler.cpp old mode 100644 new mode 100755 similarity index 100% rename from smp/src/scheduler.cpp rename to src/smp/scheduler.cpp diff --git a/smp/src/scheduler.h b/src/smp/scheduler.h old mode 100644 new mode 100755 similarity index 96% rename from smp/src/scheduler.h rename to src/smp/scheduler.h index f5735e515..299a6057f --- a/smp/src/scheduler.h +++ b/src/smp/scheduler.h @@ -35,10 +35,10 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include "policiesDispatching.h" -#include -#include +#include "../eo/eoEvalFunc.h" +#include "../eo/eoPop.h" namespace paradiseo @@ -114,7 +114,7 @@ class Scheduler std::vector m; }; -#include +#include "scheduler.cpp" } diff --git a/smp/src/smp b/src/smp/smp old mode 100644 new mode 100755 similarity index 98% rename from smp/src/smp rename to src/smp/smp index 29712111f..56e930bdc --- a/smp/src/smp +++ b/src/smp/smp @@ -30,6 +30,6 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef SMP_INCLUDE #define SMP_INCLUDE -#include +#include #endif diff --git a/smp/src/smp.h b/src/smp/smp.h old mode 100644 new mode 100755 similarity index 62% rename from smp/src/smp.h rename to src/smp/smp.h index c2bbcdada..de39061a3 --- a/smp/src/smp.h +++ b/src/smp/smp.h @@ -1,4 +1,4 @@ -/* + /* Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2012 @@ -30,27 +30,27 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef SMP_H #define SMP_H -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // Topologies -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include #endif diff --git a/smp/src/topology/abstractTopology.h b/src/smp/topology/abstractTopology.h old mode 100644 new mode 100755 similarity index 100% rename from smp/src/topology/abstractTopology.h rename to src/smp/topology/abstractTopology.h diff --git a/smp/src/topology/complete.cpp b/src/smp/topology/complete.cpp old mode 100644 new mode 100755 similarity index 98% rename from smp/src/topology/complete.cpp rename to src/smp/topology/complete.cpp index 354e79df6..c7ae55e8c --- a/smp/src/topology/complete.cpp +++ b/src/smp/topology/complete.cpp @@ -27,7 +27,7 @@ ParadisEO WebSite : http://paradiseo.gforge.inria.fr Contact: paradiseo-help@lists.gforge.inria.fr */ -#include +#include "complete.h" #include void paradiseo::smp::Complete::operator()(unsigned nbNode, std::vector>& matrix) const diff --git a/smp/src/topology/complete.h b/src/smp/topology/complete.h old mode 100644 new mode 100755 similarity index 97% rename from smp/src/topology/complete.h rename to src/smp/topology/complete.h index 8ccf29ccf..ec6a45689 --- a/smp/src/topology/complete.h +++ b/src/smp/topology/complete.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #define COMPLETE_H_ #include -#include +#include "topologyBuilder.h" namespace paradiseo { diff --git a/smp/src/topology/customBooleanTopology.cpp b/src/smp/topology/customBooleanTopology.cpp old mode 100644 new mode 100755 similarity index 98% rename from smp/src/topology/customBooleanTopology.cpp rename to src/smp/topology/customBooleanTopology.cpp index 91bbf053c..6bdebc778 --- a/smp/src/topology/customBooleanTopology.cpp +++ b/src/smp/topology/customBooleanTopology.cpp @@ -28,7 +28,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr */ -#include +#include "customBooleanTopology.h" #include #include #include diff --git a/smp/src/topology/customBooleanTopology.h b/src/smp/topology/customBooleanTopology.h old mode 100644 new mode 100755 similarity index 98% rename from smp/src/topology/customBooleanTopology.h rename to src/smp/topology/customBooleanTopology.h index 6fc9b4a49..1c94c432e --- a/smp/src/topology/customBooleanTopology.h +++ b/src/smp/topology/customBooleanTopology.h @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #define CUST_BOOL_TOPO_H_ #include -#include +#include "abstractTopology.h" #include namespace paradiseo diff --git a/smp/src/topology/customStochasticTopology.cpp b/src/smp/topology/customStochasticTopology.cpp old mode 100644 new mode 100755 similarity index 98% rename from smp/src/topology/customStochasticTopology.cpp rename to src/smp/topology/customStochasticTopology.cpp index 43a8b3cc4..4d04d48e2 --- a/smp/src/topology/customStochasticTopology.cpp +++ b/src/smp/topology/customStochasticTopology.cpp @@ -28,7 +28,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr */ -#include +#include "customStochasticTopology.h" #include #include #include diff --git a/smp/src/topology/customStochasticTopology.h b/src/smp/topology/customStochasticTopology.h old mode 100644 new mode 100755 similarity index 98% rename from smp/src/topology/customStochasticTopology.h rename to src/smp/topology/customStochasticTopology.h index d220e9765..cfe799c9d --- a/smp/src/topology/customStochasticTopology.h +++ b/src/smp/topology/customStochasticTopology.h @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #define CUST_STOCH_TOPO_H_ #include -#include +#include "abstractTopology.h" #include namespace paradiseo diff --git a/smp/src/topology/hypercubic.cpp b/src/smp/topology/hypercubic.cpp old mode 100644 new mode 100755 similarity index 98% rename from smp/src/topology/hypercubic.cpp rename to src/smp/topology/hypercubic.cpp index 29c041008..83fb94241 --- a/smp/src/topology/hypercubic.cpp +++ b/src/smp/topology/hypercubic.cpp @@ -28,7 +28,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr */ -#include +#include "hypercubic.h" #include #include diff --git a/smp/src/topology/hypercubic.h b/src/smp/topology/hypercubic.h old mode 100644 new mode 100755 similarity index 98% rename from smp/src/topology/hypercubic.h rename to src/smp/topology/hypercubic.h index cb8cebbad..bb75576e0 --- a/smp/src/topology/hypercubic.h +++ b/src/smp/topology/hypercubic.h @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #define HYPERCUBIC_H_ #include -#include +#include "topologyBuilder.h" namespace paradiseo { diff --git a/smp/src/topology/mesh.cpp b/src/smp/topology/mesh.cpp old mode 100644 new mode 100755 similarity index 99% rename from smp/src/topology/mesh.cpp rename to src/smp/topology/mesh.cpp index e4b25ecce..d65bb14fb --- a/smp/src/topology/mesh.cpp +++ b/src/smp/topology/mesh.cpp @@ -29,7 +29,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include "mesh.h" void paradiseo::smp::Mesh::operator()(unsigned nbNode, std::vector>& matrix) const { diff --git a/smp/src/topology/mesh.h b/src/smp/topology/mesh.h old mode 100644 new mode 100755 similarity index 98% rename from smp/src/topology/mesh.h rename to src/smp/topology/mesh.h index 85de0328c..dd57ad487 --- a/smp/src/topology/mesh.h +++ b/src/smp/topology/mesh.h @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #define MESH_H_ #include -#include +#include "topologyBuilder.h" namespace paradiseo { diff --git a/smp/src/topology/ring.cpp b/src/smp/topology/ring.cpp old mode 100644 new mode 100755 similarity index 98% rename from smp/src/topology/ring.cpp rename to src/smp/topology/ring.cpp index 4de953be5..0f74a5023 --- a/smp/src/topology/ring.cpp +++ b/src/smp/topology/ring.cpp @@ -28,7 +28,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr */ #include -#include +#include "ring.h" void paradiseo::smp::Ring::operator()(unsigned nbNode, std::vector>& matrix) const { diff --git a/smp/src/topology/ring.h b/src/smp/topology/ring.h old mode 100644 new mode 100755 similarity index 97% rename from smp/src/topology/ring.h rename to src/smp/topology/ring.h index 19d9b7919..67752fb76 --- a/smp/src/topology/ring.h +++ b/src/smp/topology/ring.h @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #define RING_H_ #include -#include +#include "topologyBuilder.h" namespace paradiseo { diff --git a/smp/src/topology/star.cpp b/src/smp/topology/star.cpp old mode 100644 new mode 100755 similarity index 98% rename from smp/src/topology/star.cpp rename to src/smp/topology/star.cpp index 08c911d73..427b6b4c2 --- a/smp/src/topology/star.cpp +++ b/src/smp/topology/star.cpp @@ -28,7 +28,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr */ #include -#include +#include "star.h" void paradiseo::smp::Star::operator()(unsigned nbNode, std::vector>& matrix) const { diff --git a/smp/src/topology/star.h b/src/smp/topology/star.h old mode 100644 new mode 100755 similarity index 98% rename from smp/src/topology/star.h rename to src/smp/topology/star.h index 9ecc4443d..6ffbf299f --- a/smp/src/topology/star.h +++ b/src/smp/topology/star.h @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #define STAR_H_ #include -#include +#include "topologyBuilder.h" namespace paradiseo { diff --git a/smp/src/topology/topology.cpp b/src/smp/topology/topology.cpp old mode 100644 new mode 100755 similarity index 100% rename from smp/src/topology/topology.cpp rename to src/smp/topology/topology.cpp diff --git a/smp/src/topology/topology.h b/src/smp/topology/topology.h old mode 100644 new mode 100755 similarity index 97% rename from smp/src/topology/topology.h rename to src/smp/topology/topology.h index ea45cd9e3..1b047a201 --- a/smp/src/topology/topology.h +++ b/src/smp/topology/topology.h @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #define TOPOLOGY_H_ #include -#include +#include "abstractTopology.h" namespace paradiseo { @@ -85,7 +85,7 @@ private : std::vector> _matrix; }; -#include +#include "topology.cpp" } diff --git a/smp/src/topology/topologyBuilder.h b/src/smp/topology/topologyBuilder.h old mode 100644 new mode 100755 similarity index 100% rename from smp/src/topology/topologyBuilder.h rename to src/smp/topology/topologyBuilder.h diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt new file mode 100755 index 000000000..fd4911408 --- /dev/null +++ b/test/CMakeLists.txt @@ -0,0 +1,53 @@ +## EO Module +add_subdirectory(${EO_TEST_DIR}) + +if(NOT EO_ONLY) + + ## MO Module + if(MO) + add_subdirectory(${MO_TEST_DIR}) + endif(MO) + + ## EDO Module + if(EDO) + if(EDO_USE_LIB STREQUAL "Eigen3") + find_package(Eigen3) + if(EIGEN3_FOUND) # see edoNormalAdaptive + add_subdirectory(${EDO_TEST_DIR}) + else(EIGEN3_FOUND) + message(FATAL_ERROR "\n\nERROR: You asked for Eigen3 but it has not been found.\n" ) + endif(EIGEN3_FOUND) + elseif(EDO_USE_LIB STREQUAL "uBLAS") + find_package(Boost) + if(Boost_FOUND) + message("Warning: EDO_USE_LIB MATCHES ${EDO_USE_LIB} but Eigen3 recommended for tests") + add_subdirectory(${EDO_TEST_DIR}) + else(Boost_FOUND) + message(FATAL_ERROR "\n\nERROR: You asked for Boost::uBLAS but it has not been found.\n" ) + endif(Boost_FOUND) + else() + message(FATAL_ERROR "\n\nYou must set EDO_USE_LIB to either 'uBLAS' or 'Eigen3'.\n" ) + endif() + endif(EDO) + + ## MOEO Module + if(MOEO) + add_subdirectory(${MOEO_TEST_DIR}) + endif(MOEO) + + ## SMP Module + if(SMP) + add_subdirectory(${SMP_TEST_DIR}) + endif(SMP) + + ## EOMPI Module + if(EOMPI) + add_subdirectory(${EOMPI_TEST_DIR}) + endif(EOMPI) + + ## EOSERIAL Module + #if(EOSERIAL) + # add_subdirectory(${EOSERIAL_TEST_DIR}) + #endif(EOSERIAL) + +endif() \ No newline at end of file diff --git a/edo/test/CMakeLists.txt b/test/edo/CMakeLists.txt old mode 100644 new mode 100755 similarity index 69% rename from edo/test/CMakeLists.txt rename to test/edo/CMakeLists.txt index 294a8e7f5..d92acb707 --- a/edo/test/CMakeLists.txt +++ b/test/edo/CMakeLists.txt @@ -9,27 +9,32 @@ ### 1) Include the sources ###################################################################################### -###################################################################################### - +#include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +#include_directories(${CMAKE_SOURCE_DIR}/application/common) +include_directories(${EDO_TUTORIAL_DIR}/common) +#include_directories(${EO_SRC_DIR}/src) +#include_directories(${EDO_SRC_DIR}/src) ###################################################################################### ### 2) Specify where CMake can find the libraries ###################################################################################### -###################################################################################### - +if(EDO_USE_LIB STREQUAL "Eigen3") + find_package(Eigen3) + include_directories( ${EIGEN3_INCLUDE_DIR} ) + add_definitions( -DWITH_EIGEN ) +elseif(EDO_USE_LIB STREQUAL "uBLAS") + find_package(Boost) + include_directories( ${Boost_INCLUDE_DIRS} ) + add_definitions( -DWITH_BOOST ) +else() + message(FATAL_ERROR "\n\nYou must set EDO_USE_LIB to either 'uBLAS' or 'Eigen3'.\n" ) +endif() ###################################################################################### ### 3) Define your targets and link the librairies ###################################################################################### -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) -include_directories(${CMAKE_SOURCE_DIR}/application/common) -include_directories(${EO_SRC_DIR}/src) -include_directories(${EDO_SRC_DIR}/src) - -include_directories(${EIGEN3_INCLUDE_DIR}) - set(SOURCES #t-cholesky t-variance diff --git a/test/edo/COPYING b/test/edo/COPYING new file mode 100755 index 000000000..d4537832c --- /dev/null +++ b/test/edo/COPYING @@ -0,0 +1,502 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/edo/test/boxplot.py b/test/edo/boxplot.py similarity index 100% rename from edo/test/boxplot.py rename to test/edo/boxplot.py diff --git a/edo/test/t-binomial.cpp b/test/edo/t-binomial.cpp old mode 100644 new mode 100755 similarity index 97% rename from edo/test/t-binomial.cpp rename to test/edo/t-binomial.cpp index c9eafaa27..65cd93133 --- a/edo/test/t-binomial.cpp +++ b/test/edo/t-binomial.cpp @@ -29,9 +29,9 @@ Copyright (C) 2013 Thales group #include #include -#include -#include -#include // for Bools +#include +#include +#include // for Bools template void print( T v, std::string sep=" " ) diff --git a/test/edo/t-binomialmulti.cpp b/test/edo/t-binomialmulti.cpp new file mode 100755 index 000000000..7f11e8431 --- /dev/null +++ b/test/edo/t-binomialmulti.cpp @@ -0,0 +1,95 @@ +/* +The Evolving Distribution Objects framework (EDO) is a template-based, +ANSI-C++ evolutionary computation library which helps you to write your +own estimation of distribution algorithms. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +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 +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Copyright (C) 2013 Thales group +*/ +/* +Authors: + Johann Dréo +*/ + +#include +#include +#include +#include + +#include +#include +#include // for Bools + + +#ifdef WITH_EIGEN +#include +#endif // WITH_EIGEN + +#ifdef WITH_EIGEN +// NOTE: a typedef on eoVector does not work, because of readFrom on a vector AtomType +// typedef eoVector > Bools; +class Bools : public std::vector >, public EO +{ + public: + typedef std::vector AtomType; +}; +#endif + +int main(int ac, char** av) +{ + + #ifdef WITH_EIGEN + eoParser parser(ac, av); + + std::string section("Algorithm parameters"); + unsigned int popsize = parser.createParam((unsigned int)100000, "popSize", "Population Size", 'P', section).value(); // P + unsigned int rows = parser.createParam((unsigned int)2, "lines", "Lines number", 'l', section).value(); // l + unsigned int cols = parser.createParam((unsigned int)3, "columns", "Columns number", 'c', section).value(); // c + double proba = parser.createParam((double)0.5, "proba", "Probability to estimate", 'b', section).value(); // b + + if( parser.userNeedsHelp() ) { + parser.printHelp(std::cout); + exit(1); + } + + make_help(parser); + + std::cout << "Init distrib" << std::endl; + Eigen::MatrixXd initd = Eigen::MatrixXd::Constant(rows,cols,proba); + edoBinomialMulti distrib( initd ); + std::cout << distrib << std::endl; + + edoEstimatorBinomialMulti estimate; + edoSamplerBinomialMulti sample; + + std::cout << "Sample a pop from the init distrib" << std::endl; + eoPop pop; pop.reserve(popsize); + for( unsigned int i=0; i < popsize; ++i ) { + pop.push_back( sample( distrib ) ); + } + + std::cout << "Estimate a distribution from the sampled pop" << std::endl; + distrib = estimate( pop ); + std::cout << distrib << std::endl; + + std::cout << "Estimated initial proba = " << distrib.mean() << std::endl; + #else + #ifdef WITH_BOOST + #pragma message "WARNING: there is no Boost::uBLAS implementation of t-binomialmulti, build WITH_EIGEN if you need it." + #endif + #endif // WITH_EIGEN + return 0; +} diff --git a/edo/test/t-bounderno.cpp b/test/edo/t-bounderno.cpp old mode 100644 new mode 100755 similarity index 95% rename from edo/test/t-bounderno.cpp rename to test/edo/t-bounderno.cpp index ac294ce7d..3e7613924 --- a/edo/test/t-bounderno.cpp +++ b/test/edo/t-bounderno.cpp @@ -25,8 +25,8 @@ Copyright (C) 2010 Thales group Caner Candan */ -#include -#include +#include +#include #include "Rosenbrock.h" diff --git a/edo/test/t-cholesky.cpp b/test/edo/t-cholesky.cpp old mode 100644 new mode 100755 similarity index 98% rename from edo/test/t-cholesky.cpp rename to test/edo/t-cholesky.cpp index b141e6e48..92113532c --- a/edo/test/t-cholesky.cpp +++ b/test/edo/t-cholesky.cpp @@ -33,9 +33,9 @@ Copyright (C) 2010 Thales group #include #include -#include -#include -#include +#include +#include +#include typedef eoReal< eoMinimizingFitness > EOT; typedef edoNormalMulti EOD; diff --git a/edo/test/t-continue.cpp b/test/edo/t-continue.cpp old mode 100644 new mode 100755 similarity index 96% rename from edo/test/t-continue.cpp rename to test/edo/t-continue.cpp index 2f2bd3247..3350132d9 --- a/edo/test/t-continue.cpp +++ b/test/edo/t-continue.cpp @@ -25,8 +25,8 @@ Copyright (C) 2010 Thales group Caner Candan */ -#include -#include +#include +#include #include "Rosenbrock.h" diff --git a/edo/test/t-dispatcher-round.cpp b/test/edo/t-dispatcher-round.cpp old mode 100644 new mode 100755 similarity index 96% rename from edo/test/t-dispatcher-round.cpp rename to test/edo/t-dispatcher-round.cpp index cfcd9261c..4179cf6b0 --- a/edo/test/t-dispatcher-round.cpp +++ b/test/edo/t-dispatcher-round.cpp @@ -25,10 +25,10 @@ Copyright (C) 2010 Thales group Pierre Savéant */ -#include -#include -#include - +#include +#include +#include + typedef eoReal< eoMinimizingFitness > EOT; int main(void) diff --git a/edo/test/t-edoEstimatorNormalMulti.cpp b/test/edo/t-edoEstimatorNormalMulti.cpp old mode 100644 new mode 100755 similarity index 98% rename from edo/test/t-edoEstimatorNormalMulti.cpp rename to test/edo/t-edoEstimatorNormalMulti.cpp index 6483a1062..0ebe5ff1c --- a/edo/test/t-edoEstimatorNormalMulti.cpp +++ b/test/edo/t-edoEstimatorNormalMulti.cpp @@ -28,10 +28,9 @@ Copyright (C) 2010 Thales group #include #include -#include -//#include - -#include +#include +#include +//#include #include "Rosenbrock.h" #include "Sphere.h" diff --git a/edo/test/t-mean-distance.cpp b/test/edo/t-mean-distance.cpp old mode 100644 new mode 100755 similarity index 98% rename from edo/test/t-mean-distance.cpp rename to test/edo/t-mean-distance.cpp index 59b1c8aa5..2b0e93f9a --- a/edo/test/t-mean-distance.cpp +++ b/test/edo/t-mean-distance.cpp @@ -32,10 +32,10 @@ Copyright (C) 2010 Thales group #include #include -#include -//#include +#include +//#include -#include +#include #include "Rosenbrock.h" diff --git a/edo/test/t-repairer-modulo.cpp b/test/edo/t-repairer-modulo.cpp old mode 100644 new mode 100755 similarity index 95% rename from edo/test/t-repairer-modulo.cpp rename to test/edo/t-repairer-modulo.cpp index 7a495f318..f9cb64770 --- a/edo/test/t-repairer-modulo.cpp +++ b/test/edo/t-repairer-modulo.cpp @@ -27,9 +27,9 @@ Copyright (C) 2010 Thales group #define _USE_MATH_DEFINES #include -#include -#include -#include +#include +#include +#include typedef eoReal< eoMinimizingFitness > EOT; diff --git a/edo/test/t-uniform.cpp b/test/edo/t-uniform.cpp old mode 100644 new mode 100755 similarity index 96% rename from edo/test/t-uniform.cpp rename to test/edo/t-uniform.cpp index 228ce5e22..0637715be --- a/edo/test/t-uniform.cpp +++ b/test/edo/t-uniform.cpp @@ -25,8 +25,8 @@ Copyright (C) 2010 Thales group Caner Candan */ -#include -#include +#include +#include #include "Rosenbrock.h" diff --git a/edo/test/t-variance.cpp b/test/edo/t-variance.cpp old mode 100644 new mode 100755 similarity index 95% rename from edo/test/t-variance.cpp rename to test/edo/t-variance.cpp index 205fc0561..3063f10fa --- a/edo/test/t-variance.cpp +++ b/test/edo/t-variance.cpp @@ -2,9 +2,9 @@ #include #include -#include -#include -#include +#include +#include +#include typedef eoReal Vec; diff --git a/edo/test/test_cov_parameters.py b/test/edo/test_cov_parameters.py similarity index 100% rename from edo/test/test_cov_parameters.py rename to test/edo/test_cov_parameters.py diff --git a/eo/test/CMakeLists.txt b/test/eo/CMakeLists.txt old mode 100644 new mode 100755 similarity index 91% rename from eo/test/CMakeLists.txt rename to test/eo/CMakeLists.txt index 15fd22464..0dff4c9ce --- a/eo/test/CMakeLists.txt +++ b/test/eo/CMakeLists.txt @@ -9,16 +9,16 @@ ### 1) Include the sources ###################################################################################### -include_directories(${EO_SRC_DIR}/src) -include_directories(${EO_SRC_DIR}/contrib) +#include_directories(${EO_SRC_DIR}/src) +#include_directories(${EO_SRC_DIR}/contrib) include_directories(${EO_SRC_DIR}/contrib/MGE) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +#include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ###################################################################################### ### 2) Specify where CMake can find the libraries ###################################################################################### -link_directories(${EO_BIN_DIR}/lib) +#link_directories(${EO_BIN_DIR}/lib) ###################################################################################### ### 3) Define your targets and link the librairies @@ -93,7 +93,7 @@ elseif(ENABLE_CMAKE_TESTING) add_executable(${test} ${T_${test}_SOURCES}) add_test(${test} ${test}) target_link_libraries(${test} ga es cma eoutils eo) - install(TARGETS ${test} RUNTIME DESTINATION share${INSTALL_SUB_DIR}/eo/test COMPONENT test) + install(TARGETS ${test} RUNTIME DESTINATION share/${PROJECT_TAG}/eo/test COMPONENT test) endforeach (test) set(RESOURCES diff --git a/eo/CTestConfig.cmake b/test/eo/CTestConfig.cmake old mode 100644 new mode 100755 similarity index 100% rename from eo/CTestConfig.cmake rename to test/eo/CTestConfig.cmake diff --git a/eo/test/ChangeLog b/test/eo/ChangeLog old mode 100644 new mode 100755 similarity index 100% rename from eo/test/ChangeLog rename to test/eo/ChangeLog diff --git a/test/eo/LICENSE b/test/eo/LICENSE new file mode 100755 index 000000000..b8df7fd44 --- /dev/null +++ b/test/eo/LICENSE @@ -0,0 +1,502 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/eo/test/RoyalRoad.h b/test/eo/RoyalRoad.h old mode 100644 new mode 100755 similarity index 98% rename from eo/test/RoyalRoad.h rename to test/eo/RoyalRoad.h index 5592f3cd5..ad033393f --- a/eo/test/RoyalRoad.h +++ b/test/eo/RoyalRoad.h @@ -25,6 +25,8 @@ CVS Info: $Date: 2001-06-21 12:03:17 $ $Header: /home/nojhan/dev/eodev/eodev_cvs #ifndef RoyalRoad_h #define RoyalRoad_h +#include + template class RoyalRoad: public eoEvalFunc { diff --git a/eo/test/binary_value.h b/test/eo/binary_value.h old mode 100644 new mode 100755 similarity index 100% rename from eo/test/binary_value.h rename to test/eo/binary_value.h diff --git a/eo/test/boxplot.py b/test/eo/boxplot.py similarity index 100% rename from eo/test/boxplot.py rename to test/eo/boxplot.py diff --git a/eo/test/boxplot_to_pdf.py b/test/eo/boxplot_to_pdf.py similarity index 100% rename from eo/test/boxplot_to_pdf.py rename to test/eo/boxplot_to_pdf.py diff --git a/eo/test/boxplot_to_png.py b/test/eo/boxplot_to_png.py similarity index 100% rename from eo/test/boxplot_to_png.py rename to test/eo/boxplot_to_png.py diff --git a/eo/test/fitness_traits.cpp b/test/eo/fitness_traits.cpp old mode 100644 new mode 100755 similarity index 100% rename from eo/test/fitness_traits.cpp rename to test/eo/fitness_traits.cpp diff --git a/eo/test/real_value.h b/test/eo/real_value.h old mode 100644 new mode 100755 similarity index 100% rename from eo/test/real_value.h rename to test/eo/real_value.h diff --git a/eo/test/run_tests b/test/eo/run_tests similarity index 100% rename from eo/test/run_tests rename to test/eo/run_tests diff --git a/eo/test/t-MGE-control.cpp b/test/eo/t-MGE-control.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/test/t-MGE-control.cpp rename to test/eo/t-MGE-control.cpp index d2d4d224d..af14db325 --- a/eo/test/t-MGE-control.cpp +++ b/test/eo/t-MGE-control.cpp @@ -11,8 +11,7 @@ #pragma warning(disable:4786) #endif // __GNUG__ -#include "eo" -#include "ga/eoBitOp.h" +#include #include "RoyalRoad.h" diff --git a/eo/test/t-MGE.cpp b/test/eo/t-MGE.cpp old mode 100644 new mode 100755 similarity index 97% rename from eo/test/t-MGE.cpp rename to test/eo/t-MGE.cpp index 275847e18..d957a93f1 --- a/eo/test/t-MGE.cpp +++ b/test/eo/t-MGE.cpp @@ -11,8 +11,8 @@ #pragma warning(disable:4786) #endif // __GNUG__ -#include -#include +#include +#include #include "RoyalRoad.h" diff --git a/eo/test/t-MGE1bit.cpp b/test/eo/t-MGE1bit.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/test/t-MGE1bit.cpp rename to test/eo/t-MGE1bit.cpp index 6ef1c874c..292f56aa4 --- a/eo/test/t-MGE1bit.cpp +++ b/test/eo/t-MGE1bit.cpp @@ -11,8 +11,8 @@ #pragma warning(disable:4786) #endif // __GNUG__ -#include "eo" -#include "ga/eoBitOp.h" +#include +//#include "ga/eoBitOp.h" #include "RoyalRoad.h" // Viri diff --git a/eo/test/t-eo.cpp b/test/eo/t-eo.cpp old mode 100644 new mode 100755 similarity index 89% rename from eo/test/t-eo.cpp rename to test/eo/t-eo.cpp index f2c0e177b..38ff53179 --- a/eo/test/t-eo.cpp +++ b/test/eo/t-eo.cpp @@ -1,4 +1,4 @@ -#include +#include typedef EO Chrom; diff --git a/eo/test/t-eo2dVector.cc b/test/eo/t-eo2dVector.cc old mode 100644 new mode 100755 similarity index 97% rename from eo/test/t-eo2dVector.cc rename to test/eo/t-eo2dVector.cc index 0288fdc50..f8cfc3495 --- a/eo/test/t-eo2dVector.cc +++ b/test/eo/t-eo2dVector.cc @@ -15,8 +15,8 @@ Description.....: Test for 2 dimensional eoVector. */ #include -#include // eo2dVector -#include // Random generator +#include // eo2dVector +#include // Random generator //----------------------------------------------------------------------------- diff --git a/eo/test/t-eoCMAES.cpp b/test/eo/t-eoCMAES.cpp old mode 100644 new mode 100755 similarity index 74% rename from eo/test/t-eoCMAES.cpp rename to test/eo/t-eoCMAES.cpp index 07b59509a..a1c3d3994 --- a/eo/test/t-eoCMAES.cpp +++ b/test/eo/t-eoCMAES.cpp @@ -1,25 +1,28 @@ #include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include -#include +#include +/* +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +*/ using namespace eo; using namespace std; diff --git a/eo/test/t-eoCheckpointing.cpp b/test/eo/t-eoCheckpointing.cpp old mode 100644 new mode 100755 similarity index 93% rename from eo/test/t-eoCheckpointing.cpp rename to test/eo/t-eoCheckpointing.cpp index 134b05cc4..da9274186 --- a/eo/test/t-eoCheckpointing.cpp +++ b/test/eo/t-eoCheckpointing.cpp @@ -5,15 +5,19 @@ #include // runtime_error +#include + // general -#include // Random number generators -#include -#include -#include -#include +/* +#include // Random number generators +#include +#include +#include +#include // include package checkpointing -#include +#include +*/ struct Dummy : public EO { diff --git a/eo/test/t-eoDualFitness.cpp b/test/eo/t-eoDualFitness.cpp old mode 100644 new mode 100755 similarity index 95% rename from eo/test/t-eoDualFitness.cpp rename to test/eo/t-eoDualFitness.cpp index 6b8fd6e17..016c79435 --- a/eo/test/t-eoDualFitness.cpp +++ b/test/eo/t-eoDualFitness.cpp @@ -1,8 +1,8 @@ #include -#include -#include -#include +#include +#include +#include typedef eoVector,double> DualVector; diff --git a/eo/test/t-eoESAll.cpp b/test/eo/t-eoESAll.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/test/t-eoESAll.cpp rename to test/eo/t-eoESAll.cpp index 3a77b6292..a1a109046 --- a/eo/test/t-eoESAll.cpp +++ b/test/eo/t-eoESAll.cpp @@ -17,10 +17,10 @@ using namespace std; -#include +#include // representation specific -#include +//#include #include "real_value.h" // the sphere fitness diff --git a/eo/test/t-eoESFull.cpp b/test/eo/t-eoESFull.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/test/t-eoESFull.cpp rename to test/eo/t-eoESFull.cpp index 7c5e84d99..3655d8512 --- a/eo/test/t-eoESFull.cpp +++ b/test/eo/t-eoESFull.cpp @@ -13,10 +13,10 @@ using namespace std; -#include +#include // representation specific -#include +#include #include "real_value.h" // the sphere fitness diff --git a/eo/test/t-eoEasyEA.cpp b/test/eo/t-eoEasyEA.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/test/t-eoEasyEA.cpp rename to test/eo/t-eoEasyEA.cpp index ba3035d22..7b4ebd777 --- a/eo/test/t-eoEasyEA.cpp +++ b/test/eo/t-eoEasyEA.cpp @@ -3,7 +3,7 @@ #pragma warning(disable:4786) #endif // __GNUG__ -#include +#include #include "binary_value.h" diff --git a/eo/test/t-eoEasyPSO.cpp b/test/eo/t-eoEasyPSO.cpp old mode 100644 new mode 100755 similarity index 99% rename from eo/test/t-eoEasyPSO.cpp rename to test/eo/t-eoEasyPSO.cpp index af290e13f..c67c6bfe9 --- a/eo/test/t-eoEasyPSO.cpp +++ b/test/eo/t-eoEasyPSO.cpp @@ -7,7 +7,7 @@ #pragma warning(disable:4786) #endif // __GNUG__ -#include +#include //----------------------------------------------------------------------------- typedef eoMinimizingFitness FitT; diff --git a/eo/test/t-eoEvalKeepBest.cpp b/test/eo/t-eoEvalKeepBest.cpp old mode 100644 new mode 100755 similarity index 95% rename from eo/test/t-eoEvalKeepBest.cpp rename to test/eo/t-eoEvalKeepBest.cpp index fdcdae866..f8ef3a1e0 --- a/eo/test/t-eoEvalKeepBest.cpp +++ b/test/eo/t-eoEvalKeepBest.cpp @@ -1,8 +1,8 @@ #include -#include -#include -#include +#include +#include +#include #include "real_value.h" using namespace std; diff --git a/eo/test/t-eoExtendedVelocity.cpp b/test/eo/t-eoExtendedVelocity.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/test/t-eoExtendedVelocity.cpp rename to test/eo/t-eoExtendedVelocity.cpp index 3fca3f30c..52799e9c0 --- a/eo/test/t-eoExtendedVelocity.cpp +++ b/test/eo/t-eoExtendedVelocity.cpp @@ -3,7 +3,7 @@ //----------------------------------------------------------------------------- -#include +#include typedef eoRealParticle < double > Particle; diff --git a/eo/test/t-eoExternalEO.cpp b/test/eo/t-eoExternalEO.cpp old mode 100644 new mode 100755 similarity index 94% rename from eo/test/t-eoExternalEO.cpp rename to test/eo/t-eoExternalEO.cpp index 8246863f6..741b0e2f4 --- a/eo/test/t-eoExternalEO.cpp +++ b/test/eo/t-eoExternalEO.cpp @@ -6,9 +6,12 @@ #include #include // runtime_error -#include -#include -#include +#include +/* +#include +#include +#include +*/ using namespace std; diff --git a/eo/test/t-eoFitnessAssembled.cpp b/test/eo/t-eoFitnessAssembled.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/test/t-eoFitnessAssembled.cpp rename to test/eo/t-eoFitnessAssembled.cpp index 018d739a4..5343bc5b1 --- a/eo/test/t-eoFitnessAssembled.cpp +++ b/test/eo/t-eoFitnessAssembled.cpp @@ -29,7 +29,8 @@ #include #include -#include "eoScalarFitnessAssembled.h" +#include +//#include "eoScalarFitnessAssembled.h" void test_eoScalarFitnessAssembledClass(){ diff --git a/eo/test/t-eoFitnessAssembledEA.cpp b/test/eo/t-eoFitnessAssembledEA.cpp old mode 100644 new mode 100755 similarity index 81% rename from eo/test/t-eoFitnessAssembledEA.cpp rename to test/eo/t-eoFitnessAssembledEA.cpp index e04535673..a76807df3 --- a/eo/test/t-eoFitnessAssembledEA.cpp +++ b/test/eo/t-eoFitnessAssembledEA.cpp @@ -34,24 +34,25 @@ #include // General eo includes -#include -#include // The real bounds (not yet in general eo include) +#include + +#include // The real bounds (not yet in general eo include) // Representation dependent includes and typedefs -#include // Definition of representation -#include // Uniformly initializes real vector in bounds -#include // Initialization of a genotype -#include // Base class for fitness evaluation -#include // Variation operators using standard Real operators -#include // The fitness class +#include // Definition of representation +#include // Uniformly initializes real vector in bounds +#include // Initialization of a genotype +#include // Base class for fitness evaluation +#include // Variation operators using standard Real operators +#include // The fitness class typedef eoReal Indi; // Representation independent modules -#include // Initialization of population -#include // The stopping criterion -#include // Outputs (stats, population dumps, ...) -#include // Evolution engine (selection and replacement) -#include // simple call to the algo.stays there for consistency reasons +#include // Initialization of population +#include // The stopping criterion +#include // Outputs (stats, population dumps, ...) +#include // Evolution engine (selection and replacement) +#include // simple call to the algo.stays there for consistency reasons // Define a fitness class template diff --git a/eo/test/t-eoFunctor.cpp b/test/eo/t-eoFunctor.cpp old mode 100644 new mode 100755 similarity index 80% rename from eo/test/t-eoFunctor.cpp rename to test/eo/t-eoFunctor.cpp index f309eebcf..6b3f89c1a --- a/eo/test/t-eoFunctor.cpp +++ b/test/eo/t-eoFunctor.cpp @@ -1,5 +1,5 @@ -#include -#include +#include +#include void f(eoInit& func) { @@ -17,8 +17,8 @@ public : }; #include -#include -#include +#include +#include using namespace std; diff --git a/eo/test/t-eoGA.cpp b/test/eo/t-eoGA.cpp old mode 100644 new mode 100755 similarity index 94% rename from eo/test/t-eoGA.cpp rename to test/eo/t-eoGA.cpp index fafed297d..bd11f5520 --- a/eo/test/t-eoGA.cpp +++ b/test/eo/t-eoGA.cpp @@ -1,9 +1,9 @@ #include -#include -#include +#include +#include #include "binary_value.h" -#include +#include using namespace std; diff --git a/eo/test/t-eoGenOp.cpp b/test/eo/t-eoGenOp.cpp old mode 100644 new mode 100755 similarity index 99% rename from eo/test/t-eoGenOp.cpp rename to test/eo/t-eoGenOp.cpp index c959a3bb9..338ded2c2 --- a/eo/test/t-eoGenOp.cpp +++ b/test/eo/t-eoGenOp.cpp @@ -29,9 +29,9 @@ #include -#include -#include -#include +#include +#include +#include struct Dummy : public EO { diff --git a/eo/test/t-eoIQRStat.cpp b/test/eo/t-eoIQRStat.cpp old mode 100644 new mode 100755 similarity index 93% rename from eo/test/t-eoIQRStat.cpp rename to test/eo/t-eoIQRStat.cpp index e49dc38d4..579dfc265 --- a/eo/test/t-eoIQRStat.cpp +++ b/test/eo/t-eoIQRStat.cpp @@ -1,6 +1,6 @@ -#include -#include -#include +#include +#include +#include #include "real_value.h" diff --git a/eo/test/t-eoInitPermutation.cpp b/test/eo/t-eoInitPermutation.cpp old mode 100644 new mode 100755 similarity index 96% rename from eo/test/t-eoInitPermutation.cpp rename to test/eo/t-eoInitPermutation.cpp index e4a683b15..eabd646f2 --- a/eo/test/t-eoInitPermutation.cpp +++ b/test/eo/t-eoInitPermutation.cpp @@ -2,9 +2,9 @@ // t-eoInitPermutation.cpp //----------------------------------------------------------------------------- -#include +#include -#include +#include //----------------------------------------------------------------------------- diff --git a/eo/test/t-eoInitVariableLength.cpp b/test/eo/t-eoInitVariableLength.cpp old mode 100644 new mode 100755 similarity index 99% rename from eo/test/t-eoInitVariableLength.cpp rename to test/eo/t-eoInitVariableLength.cpp index 68dee1b9c..263a0fd44 --- a/eo/test/t-eoInitVariableLength.cpp +++ b/test/eo/t-eoInitVariableLength.cpp @@ -1,6 +1,6 @@ #include #include -#include +#include // An adhoc atom type of our own class Quad : public std::vector diff --git a/eo/test/t-eoInt.cpp b/test/eo/t-eoInt.cpp old mode 100644 new mode 100755 similarity index 91% rename from eo/test/t-eoInt.cpp rename to test/eo/t-eoInt.cpp index 279803ce3..3991170d0 --- a/eo/test/t-eoInt.cpp +++ b/test/eo/t-eoInt.cpp @@ -2,8 +2,8 @@ // t-eoInt.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/eo/test/t-eoLogger.cpp b/test/eo/t-eoLogger.cpp old mode 100644 new mode 100755 similarity index 97% rename from eo/test/t-eoLogger.cpp rename to test/eo/t-eoLogger.cpp index 198a88720..7806346fa --- a/eo/test/t-eoLogger.cpp +++ b/test/eo/t-eoLogger.cpp @@ -2,7 +2,7 @@ // t-eoLogger.cpp //----------------------------------------------------------------------------- -#include +#include //----------------------------------------------------------------------------- diff --git a/eo/test/t-eoOrderXover.cpp b/test/eo/t-eoOrderXover.cpp old mode 100644 new mode 100755 similarity index 94% rename from eo/test/t-eoOrderXover.cpp rename to test/eo/t-eoOrderXover.cpp index 32e44dad9..f4b0d4df0 --- a/eo/test/t-eoOrderXover.cpp +++ b/test/eo/t-eoOrderXover.cpp @@ -4,9 +4,9 @@ #include -#include -#include -#include +#include +#include +#include //----------------------------------------------------------------------------- diff --git a/eo/test/t-eoPBIL.cpp b/test/eo/t-eoPBIL.cpp old mode 100644 new mode 100755 similarity index 92% rename from eo/test/t-eoPBIL.cpp rename to test/eo/t-eoPBIL.cpp index 1d2654b83..8ddeed295 --- a/eo/test/t-eoPBIL.cpp +++ b/test/eo/t-eoPBIL.cpp @@ -29,14 +29,14 @@ #endif #include -#include -#include +#include +#include #include "binary_value.h" -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include using namespace std; @@ -44,14 +44,14 @@ using namespace std; typedef eoBit Indi; // instanciating the outside subroutine that creates the distribution -#include "ga/make_PBILdistrib.h" +#include eoPBILDistrib & make_PBILdistrib(eoParser& _parser, eoState&_state, Indi _eo) { return do_make_PBILdistrib(_parser, _state, _eo); } // instanciating the outside subroutine that creates the update rule -#include "ga/make_PBILupdate.h" +#include eoDistribUpdater & make_PBILupdate(eoParser& _parser, eoState&_state, Indi _eo) { return do_make_PBILupdate(_parser, _state, _eo); diff --git a/eo/test/t-eoParallel.cpp b/test/eo/t-eoParallel.cpp old mode 100644 new mode 100755 similarity index 94% rename from eo/test/t-eoParallel.cpp rename to test/eo/t-eoParallel.cpp index ef03f0c30..b83e11dc4 --- a/eo/test/t-eoParallel.cpp +++ b/test/eo/t-eoParallel.cpp @@ -4,9 +4,9 @@ #include -#include -#include -//#include +#include +#include +//#include #include "real_value.h" //----------------------------------------------------------------------------- diff --git a/eo/test/t-eoParser.cpp b/test/eo/t-eoParser.cpp old mode 100644 new mode 100755 similarity index 97% rename from eo/test/t-eoParser.cpp rename to test/eo/t-eoParser.cpp index 1fd6c7fdb..940e7306a --- a/eo/test/t-eoParser.cpp +++ b/test/eo/t-eoParser.cpp @@ -1,5 +1,5 @@ #include -#include +#include int main(int ac, char** av) { diff --git a/eo/test/t-eoRNG.cpp b/test/eo/t-eoRNG.cpp old mode 100644 new mode 100755 similarity index 95% rename from eo/test/t-eoRNG.cpp rename to test/eo/t-eoRNG.cpp index 1ece31a06..9150285f8 --- a/eo/test/t-eoRNG.cpp +++ b/test/eo/t-eoRNG.cpp @@ -10,8 +10,8 @@ #endif #include -#include -#include +#include +#include using namespace std; diff --git a/eo/test/t-eoRandom.cpp b/test/eo/t-eoRandom.cpp old mode 100644 new mode 100755 similarity index 93% rename from eo/test/t-eoRandom.cpp rename to test/eo/t-eoRandom.cpp index 30da63e30..7e12432bb --- a/eo/test/t-eoRandom.cpp +++ b/test/eo/t-eoRandom.cpp @@ -31,9 +31,9 @@ CVS Info: $Date: 2003-02-27 19:20:24 $ $Author: okoenig $ $Revision: 1.13 $ #include // cout #include // ostrstream, istrstream -#include // eoBin -//#include -//#include +#include // eoBin +//#include +//#include //----------------------------------------------------------------------------- diff --git a/eo/test/t-eoReal.cpp b/test/eo/t-eoReal.cpp old mode 100644 new mode 100755 similarity index 96% rename from eo/test/t-eoReal.cpp rename to test/eo/t-eoReal.cpp index 163b0ea86..29a587c94 --- a/eo/test/t-eoReal.cpp +++ b/test/eo/t-eoReal.cpp @@ -1,8 +1,8 @@ #include -#include +#include #include "real_value.h" -#include +#include using namespace std; diff --git a/eo/test/t-eoReplacement.cpp b/test/eo/t-eoReplacement.cpp old mode 100644 new mode 100755 similarity index 99% rename from eo/test/t-eoReplacement.cpp rename to test/eo/t-eoReplacement.cpp index fc44543d8..f4d70b8e3 --- a/eo/test/t-eoReplacement.cpp +++ b/test/eo/t-eoReplacement.cpp @@ -14,7 +14,7 @@ // general -#include +#include //----------------------------------------------------------------------------- struct Dummy : public EO diff --git a/eo/test/t-eoRingTopology.cpp b/test/eo/t-eoRingTopology.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/test/t-eoRingTopology.cpp rename to test/eo/t-eoRingTopology.cpp index de2824c26..46b0c329b --- a/eo/test/t-eoRingTopology.cpp +++ b/test/eo/t-eoRingTopology.cpp @@ -3,7 +3,7 @@ //----------------------------------------------------------------------------- -#include +#include typedef eoRealParticle < double >Indi; diff --git a/eo/test/t-eoRoulette.cpp b/test/eo/t-eoRoulette.cpp old mode 100644 new mode 100755 similarity index 87% rename from eo/test/t-eoRoulette.cpp rename to test/eo/t-eoRoulette.cpp index d6f63b8ad..942e9f0b2 --- a/eo/test/t-eoRoulette.cpp +++ b/test/eo/t-eoRoulette.cpp @@ -1,7 +1,7 @@ -#include -#include -#include -#include +#include +#include +#include +#include class TestEO : public EO { public: unsigned index; }; diff --git a/eo/test/t-eoSSGA.cpp b/test/eo/t-eoSSGA.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/test/t-eoSSGA.cpp rename to test/eo/t-eoSSGA.cpp index d1c467e5a..b8aee85b9 --- a/eo/test/t-eoSSGA.cpp +++ b/test/eo/t-eoSSGA.cpp @@ -1,4 +1,4 @@ -#include +#include // tests a Steady State GA diff --git a/eo/test/t-eoSecondsElapsedContinue.cpp b/test/eo/t-eoSecondsElapsedContinue.cpp old mode 100644 new mode 100755 similarity index 76% rename from eo/test/t-eoSecondsElapsedContinue.cpp rename to test/eo/t-eoSecondsElapsedContinue.cpp index d6124c22e..fc4c7cb64 --- a/eo/test/t-eoSecondsElapsedContinue.cpp +++ b/test/eo/t-eoSecondsElapsedContinue.cpp @@ -3,9 +3,9 @@ #endif #include -#include -#include -#include +#include +#include +#include class Dummy : public EO {}; diff --git a/eo/test/t-eoSelect.cpp b/test/eo/t-eoSelect.cpp old mode 100644 new mode 100755 similarity index 99% rename from eo/test/t-eoSelect.cpp rename to test/eo/t-eoSelect.cpp index 23d76c48c..b083a13f7 --- a/eo/test/t-eoSelect.cpp +++ b/test/eo/t-eoSelect.cpp @@ -6,7 +6,7 @@ #include #include -#include +#include //----------------------------------------------------------------------------- diff --git a/eo/test/t-eoSharing.cpp b/test/eo/t-eoSharing.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/test/t-eoSharing.cpp rename to test/eo/t-eoSharing.cpp index 86721b098..be2c49f4b --- a/eo/test/t-eoSharing.cpp +++ b/test/eo/t-eoSharing.cpp @@ -13,8 +13,8 @@ #include // general -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/eo/test/t-eoShiftMutation.cpp b/test/eo/t-eoShiftMutation.cpp old mode 100644 new mode 100755 similarity index 94% rename from eo/test/t-eoShiftMutation.cpp rename to test/eo/t-eoShiftMutation.cpp index 15c4e6b92..f628a5b39 --- a/eo/test/t-eoShiftMutation.cpp +++ b/test/eo/t-eoShiftMutation.cpp @@ -2,10 +2,10 @@ // t-eoShiftMutation.cpp //----------------------------------------------------------------------------- -#include +#include -#include -#include +#include +#include #include //----------------------------------------------------------------------------- diff --git a/eo/test/t-eoStateAndParser.cpp b/test/eo/t-eoStateAndParser.cpp old mode 100644 new mode 100755 similarity index 92% rename from eo/test/t-eoStateAndParser.cpp rename to test/eo/t-eoStateAndParser.cpp index a851cb595..dd72bc098 --- a/eo/test/t-eoStateAndParser.cpp +++ b/test/eo/t-eoStateAndParser.cpp @@ -14,17 +14,17 @@ // general -#include // Random number generators -#include -#include -#include +#include // Random number generators +#include +#include +#include //----------------------------------------------------------------------------- // include package checkpointing -#include +#include // and provisions for Bounds reading -#include +#include struct Dummy : public EO { diff --git a/eo/test/t-eoSwapMutation.cpp b/test/eo/t-eoSwapMutation.cpp old mode 100644 new mode 100755 similarity index 95% rename from eo/test/t-eoSwapMutation.cpp rename to test/eo/t-eoSwapMutation.cpp index 3099d7075..e3420ed7d --- a/eo/test/t-eoSwapMutation.cpp +++ b/test/eo/t-eoSwapMutation.cpp @@ -4,9 +4,9 @@ #include -#include -#include -#include +#include +#include +#include //----------------------------------------------------------------------------- diff --git a/eo/test/t-eoSymreg.cpp b/test/eo/t-eoSymreg.cpp old mode 100644 new mode 100755 similarity index 99% rename from eo/test/t-eoSymreg.cpp rename to test/eo/t-eoSymreg.cpp index d332789ba..417546245 --- a/eo/test/t-eoSymreg.cpp +++ b/test/eo/t-eoSymreg.cpp @@ -2,8 +2,8 @@ #pragma warning(disable:4786) #endif -#include -#include +#include +#include using namespace gp_parse_tree; using namespace std; diff --git a/eo/test/t-eoSyncEasyPSO.cpp b/test/eo/t-eoSyncEasyPSO.cpp old mode 100644 new mode 100755 similarity index 99% rename from eo/test/t-eoSyncEasyPSO.cpp rename to test/eo/t-eoSyncEasyPSO.cpp index 68d9838bd..70f69feab --- a/eo/test/t-eoSyncEasyPSO.cpp +++ b/test/eo/t-eoSyncEasyPSO.cpp @@ -7,7 +7,7 @@ #pragma warning(disable:4786) #endif // __GNUG__ -#include +#include //----------------------------------------------------------------------------- typedef eoMinimizingFitness FitT; diff --git a/eo/test/t-eoTwoOptMutation.cpp b/test/eo/t-eoTwoOptMutation.cpp old mode 100644 new mode 100755 similarity index 95% rename from eo/test/t-eoTwoOptMutation.cpp rename to test/eo/t-eoTwoOptMutation.cpp index 60ef89a15..ef7e703e2 --- a/eo/test/t-eoTwoOptMutation.cpp +++ b/test/eo/t-eoTwoOptMutation.cpp @@ -4,9 +4,9 @@ #include -#include -#include -#include +#include +#include +#include //----------------------------------------------------------------------------- diff --git a/eo/test/t-eoUniform.cpp b/test/eo/t-eoUniform.cpp old mode 100644 new mode 100755 similarity index 90% rename from eo/test/t-eoUniform.cpp rename to test/eo/t-eoUniform.cpp index c4f188d48..6560b2a58 --- a/eo/test/t-eoUniform.cpp +++ b/test/eo/t-eoUniform.cpp @@ -4,7 +4,7 @@ #include // std::cout #include // ostrstream, istrstream -#include // eoBin +#include // eoBin //----------------------------------------------------------------------------- diff --git a/eo/test/t-eoVector.cpp b/test/eo/t-eoVector.cpp old mode 100644 new mode 100755 similarity index 91% rename from eo/test/t-eoVector.cpp rename to test/eo/t-eoVector.cpp index 768178c3f..84e4111e4 --- a/eo/test/t-eoVector.cpp +++ b/test/eo/t-eoVector.cpp @@ -31,10 +31,10 @@ #include #include -#include -#include // eoVector -#include -#include +#include +#include // eoVector +#include +#include //----------------------------------------------------------------------------- diff --git a/eo/test/t-eoVirus.cpp b/test/eo/t-eoVirus.cpp old mode 100644 new mode 100755 similarity index 92% rename from eo/test/t-eoVirus.cpp rename to test/eo/t-eoVirus.cpp index 8ecdf207e..deddd0fd3 --- a/eo/test/t-eoVirus.cpp +++ b/test/eo/t-eoVirus.cpp @@ -24,11 +24,11 @@ //----------------------------------------------------------------------------- #include // std::cout -#include // general EO -#include "MGE/VirusOp.h" -#include "MGE/eoVirus.h" -#include "MGE/eoInitVirus.h" -#include +#include // general EO +#include "VirusOp.h" +#include "eoVirus.h" +#include "eoInitVirus.h" +#include #include "binary_value.h" diff --git a/eo/test/t-eobin.cpp b/test/eo/t-eobin.cpp old mode 100644 new mode 100755 similarity index 97% rename from eo/test/t-eobin.cpp rename to test/eo/t-eobin.cpp index 2a36d0ee1..1fbe35977 --- a/eo/test/t-eobin.cpp +++ b/test/eo/t-eobin.cpp @@ -29,9 +29,9 @@ #include // std::cout #include -#include // general EO -#include // bitstring representation & operators -#include +#include // general EO +#include // bitstring representation & operators +#include #include "binary_value.h" //----------------------------------------------------------------------------- diff --git a/eo/test/t-eofitness.cpp b/test/eo/t-eofitness.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/test/t-eofitness.cpp rename to test/eo/t-eofitness.cpp index 1cc55e65a..3ff931faf --- a/eo/test/t-eofitness.cpp +++ b/test/eo/t-eofitness.cpp @@ -7,7 +7,7 @@ #include // srand, rand #include // std::cout -#include +#include using namespace std; diff --git a/eo/test/t-openmp.cpp b/test/eo/t-openmp.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/test/t-openmp.cpp rename to test/eo/t-openmp.cpp index d2f4cf3b5..b48ca2dcf --- a/eo/test/t-openmp.cpp +++ b/test/eo/t-openmp.cpp @@ -32,10 +32,10 @@ Caner Candan #include #include -#include -#include +#include +#include -#include +#include #include diff --git a/eo/test/t-openmp.py b/test/eo/t-openmp.py similarity index 100% rename from eo/test/t-openmp.py rename to test/eo/t-openmp.py diff --git a/eo/test/t-selectOne.cpp b/test/eo/t-selectOne.cpp old mode 100644 new mode 100755 similarity index 90% rename from eo/test/t-selectOne.cpp rename to test/eo/t-selectOne.cpp index 0647d5d23..56ef37f9b --- a/eo/test/t-selectOne.cpp +++ b/test/eo/t-selectOne.cpp @@ -29,13 +29,13 @@ #pragma warning(disable:4786) #endif // __GNUG__ -#include // eoBin, eoPop, eoBreeder -#include -#include +#include // eoBin, eoPop, eoBreeder +#include +#include -#include -#include -#include +#include +#include +#include //----------------------------------------------------------------------------- diff --git a/eompi/test/CMakeLists.txt b/test/eompi/CMakeLists.txt old mode 100644 new mode 100755 similarity index 85% rename from eompi/test/CMakeLists.txt rename to test/eompi/CMakeLists.txt index 0a55d05d5..59a23d288 --- a/eompi/test/CMakeLists.txt +++ b/test/eompi/CMakeLists.txt @@ -8,12 +8,10 @@ ### 1) Include the sources ###################################################################################### -message("EOMPI: ${EOMPI_DIR}") - -include_directories(${EOMPI_SRC_DIR}/src) -include_directories(${EOSERIAL_SRC_DIR}/src) -include_directories(${EO_SRC_DIR}/src) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +#include_directories(${EOMPI_SRC_DIR}/src) +#include_directories(${EOSERIAL_SRC_DIR}/src) +#include_directories(${EO_SRC_DIR}/src) +#include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ###################################################################################### ### 2) Specify where CMake can find the libraries @@ -28,11 +26,11 @@ link_directories(${EOSERIAL_BIN_DIR}/lib) ###################################################################################### set (TEST_LIST - t-mpi-parallelApply + t-mpi-parallelApply t-mpi-wrapper t-mpi-multipleRoles - t-mpi-eval - t-mpi-multistart + #t-mpi-eval + #t-mpi-multistart t-mpi-distrib-exp ) diff --git a/eompi/test/DISTRIB_XP_README.md b/test/eompi/DISTRIB_XP_README.md old mode 100644 new mode 100755 similarity index 100% rename from eompi/test/DISTRIB_XP_README.md rename to test/eompi/DISTRIB_XP_README.md diff --git a/eompi/test/experiments.json b/test/eompi/experiments.json old mode 100644 new mode 100755 similarity index 100% rename from eompi/test/experiments.json rename to test/eompi/experiments.json diff --git a/eompi/test/gen-xp.py b/test/eompi/gen-xp.py old mode 100644 new mode 100755 similarity index 100% rename from eompi/test/gen-xp.py rename to test/eompi/gen-xp.py diff --git a/eompi/test/t-mpi-common.h b/test/eompi/t-mpi-common.h old mode 100644 new mode 100755 similarity index 97% rename from eompi/test/t-mpi-common.h rename to test/eompi/t-mpi-common.h index e525fe53e..b22faa552 --- a/eompi/test/t-mpi-common.h +++ b/test/eompi/t-mpi-common.h @@ -1,7 +1,7 @@ # ifndef __T_MPI_COMMON_H__ # define __T_MPI_COMMON_H__ -#include +#include /** * @file t-mpi-common.h diff --git a/eompi/test/t-mpi-distrib-exp.cpp b/test/eompi/t-mpi-distrib-exp.cpp old mode 100644 new mode 100755 similarity index 99% rename from eompi/test/t-mpi-distrib-exp.cpp rename to test/eompi/t-mpi-distrib-exp.cpp index db65344e8..175881879 --- a/eompi/test/t-mpi-distrib-exp.cpp +++ b/test/eompi/t-mpi-distrib-exp.cpp @@ -37,9 +37,9 @@ # include # include -# include +# include -# include +# include # include "t-mpi-common.h" using namespace eo::mpi; diff --git a/eompi/test/t-mpi-eval.cpp b/test/eompi/t-mpi-eval.cpp old mode 100644 new mode 100755 similarity index 97% rename from eompi/test/t-mpi-eval.cpp rename to test/eompi/t-mpi-eval.cpp index d90bbd3c2..48f8454f4 --- a/eompi/test/t-mpi-eval.cpp +++ b/test/eompi/t-mpi-eval.cpp @@ -26,13 +26,13 @@ Contact: http://eodev.sourceforge.net */ //----------------------------------------------------------------------------- -#include -#include +#include +#include -#include -#include "../../eo/test/real_value.h" +#include +#include "../eo/real_value.h" -#include +#include #include using namespace std; diff --git a/eompi/test/t-mpi-multipleRoles.cpp b/test/eompi/t-mpi-multipleRoles.cpp old mode 100644 new mode 100755 similarity index 98% rename from eompi/test/t-mpi-multipleRoles.cpp rename to test/eompi/t-mpi-multipleRoles.cpp index 7f10d9453..4d4623f23 --- a/eompi/test/t-mpi-multipleRoles.cpp +++ b/test/eompi/t-mpi-multipleRoles.cpp @@ -37,9 +37,9 @@ Contact: http://eodev.sourceforge.net * This test requires exactly 7 hosts. If the size is bigger, an exception will be thrown at the beginning. **/ -# include -# include -# include +# include +# include +# include # include "t-mpi-common.h" diff --git a/eompi/test/t-mpi-multistart.cpp b/test/eompi/t-mpi-multistart.cpp old mode 100644 new mode 100755 similarity index 98% rename from eompi/test/t-mpi-multistart.cpp rename to test/eompi/t-mpi-multistart.cpp index e58091601..d4c98264b --- a/eompi/test/t-mpi-multistart.cpp +++ b/test/eompi/t-mpi-multistart.cpp @@ -1,12 +1,12 @@ -# include +# include using namespace eo::mpi; #include #include #include -#include -#include +#include +#include /* * This file is based on the tutorial lesson 1. We'll consider that you know all the EO diff --git a/eompi/test/t-mpi-parallelApply.cpp b/test/eompi/t-mpi-parallelApply.cpp old mode 100644 new mode 100755 similarity index 98% rename from eompi/test/t-mpi-parallelApply.cpp rename to test/eompi/t-mpi-parallelApply.cpp index 6b49c1b84..33e952a08 --- a/eompi/test/t-mpi-parallelApply.cpp +++ b/test/eompi/t-mpi-parallelApply.cpp @@ -39,9 +39,9 @@ Contact: http://eodev.sourceforge.net * beginning; */ -# include -# include -# include +# include +# include +# include # include "t-mpi-common.h" diff --git a/eompi/test/t-mpi-wrapper.cpp b/test/eompi/t-mpi-wrapper.cpp old mode 100644 new mode 100755 similarity index 96% rename from eompi/test/t-mpi-wrapper.cpp rename to test/eompi/t-mpi-wrapper.cpp index dd64b50d4..a7da10969 --- a/eompi/test/t-mpi-wrapper.cpp +++ b/test/eompi/t-mpi-wrapper.cpp @@ -29,9 +29,9 @@ Contact: http://eodev.sourceforge.net * instanciating the store. */ -# include -# include -# include +# include +# include +# include # include "t-mpi-common.h" diff --git a/eompi/test/template-job.cpp b/test/eompi/template-job.cpp old mode 100644 new mode 100755 similarity index 98% rename from eompi/test/template-job.cpp rename to test/eompi/template-job.cpp index 949f2325d..70cfbd691 --- a/eompi/test/template-job.cpp +++ b/test/eompi/template-job.cpp @@ -1,4 +1,4 @@ -# include +# include using namespace eo::mpi; diff --git a/mo/test/CMakeLists.txt b/test/mo/CMakeLists.txt old mode 100644 new mode 100755 similarity index 91% rename from mo/test/CMakeLists.txt rename to test/mo/CMakeLists.txt index 652b66be3..3a97b758f --- a/mo/test/CMakeLists.txt +++ b/test/mo/CMakeLists.txt @@ -2,10 +2,10 @@ ### 0) Include headers ###################################################################################### -include_directories(${EO_SRC_DIR}/src) -include_directories(${MO_SRC_DIR}/src) -include_directories(${PROBLEMS_SRC_DIR}) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +#include_directories(${EO_SRC_DIR}/src) +#include_directories(${MO_SRC_DIR}/src) +#include_directories(${PROBLEMS_SRC_DIR}) +#include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ###################################################################################### ### 1) Define test list @@ -106,7 +106,7 @@ foreach (test ${TEST_LIST}) add_executable(${test} ${T_${test}_SOURCES}) add_test(${test} ${test}) target_link_libraries(${test} ga es eoutils eo) - install(TARGETS ${test} RUNTIME DESTINATION share${INSTALL_SUB_DIR}/mo/test COMPONENT tests) + install(TARGETS ${test} RUNTIME DESTINATION share/${PROJECT_TAG}/mo/test COMPONENT tests) endforeach (test) diff --git a/mo/test/moTestClass.h b/test/mo/moTestClass.h old mode 100644 new mode 100755 similarity index 87% rename from mo/test/moTestClass.h rename to test/mo/moTestClass.h index a04a42272..672ffc0f6 --- a/mo/test/moTestClass.h +++ b/test/mo/moTestClass.h @@ -35,24 +35,24 @@ #ifndef _moTestClass_h #define _moTestClass_h -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include - -#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include + +#include typedef eoBit bitVector; typedef moBitNeighbor bitNeighbor; diff --git a/mo/test/t-moAdaptiveWalkSampling.cpp b/test/mo/t-moAdaptiveWalkSampling.cpp similarity index 88% rename from mo/test/t-moAdaptiveWalkSampling.cpp rename to test/mo/t-moAdaptiveWalkSampling.cpp index 586624246..d7201215b 100755 --- a/mo/test/t-moAdaptiveWalkSampling.cpp +++ b/test/mo/t-moAdaptiveWalkSampling.cpp @@ -31,13 +31,13 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include int main() { diff --git a/mo/test/t-moAlwaysAcceptCrit.cpp b/test/mo/t-moAlwaysAcceptCrit.cpp old mode 100644 new mode 100755 similarity index 96% rename from mo/test/t-moAlwaysAcceptCrit.cpp rename to test/mo/t-moAlwaysAcceptCrit.cpp index ab50c5f10..e1f1e9620 --- a/mo/test/t-moAlwaysAcceptCrit.cpp +++ b/test/mo/t-moAlwaysAcceptCrit.cpp @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" int main() { diff --git a/mo/test/t-moAutocorrelationSampling.cpp b/test/mo/t-moAutocorrelationSampling.cpp old mode 100644 new mode 100755 similarity index 94% rename from mo/test/t-moAutocorrelationSampling.cpp rename to test/mo/t-moAutocorrelationSampling.cpp index 77733bbd2..390b8a865 --- a/mo/test/t-moAutocorrelationSampling.cpp +++ b/test/mo/t-moAutocorrelationSampling.cpp @@ -31,9 +31,9 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" -#include +#include int main() { diff --git a/mo/test/t-moBestImprAspiration.cpp b/test/mo/t-moBestImprAspiration.cpp old mode 100644 new mode 100755 similarity index 97% rename from mo/test/t-moBestImprAspiration.cpp rename to test/mo/t-moBestImprAspiration.cpp index cd2de284d..8c7d9e2b0 --- a/mo/test/t-moBestImprAspiration.cpp +++ b/test/mo/t-moBestImprAspiration.cpp @@ -26,7 +26,7 @@ knowledge of the CeCILL license and that you accept its terms. ParadisEO WebSite : http://paradiseo.gforge.inria.fr Contact: paradiseo-help@lists.gforge.inria.fr */ -#include +#include #include "moTestClass.h" #include diff --git a/mo/test/t-moBetterAcceptCrit.cpp b/test/mo/t-moBetterAcceptCrit.cpp old mode 100644 new mode 100755 similarity index 94% rename from mo/test/t-moBetterAcceptCrit.cpp rename to test/mo/t-moBetterAcceptCrit.cpp index acd528598..bd52b0585 --- a/mo/test/t-moBetterAcceptCrit.cpp +++ b/test/mo/t-moBetterAcceptCrit.cpp @@ -31,8 +31,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include -#include +#include +#include #include "moTestClass.h" int main() { diff --git a/mo/test/t-moBitNeighbor.cpp b/test/mo/t-moBitNeighbor.cpp old mode 100644 new mode 100755 similarity index 97% rename from mo/test/t-moBitNeighbor.cpp rename to test/mo/t-moBitNeighbor.cpp index 71ac6bca7..4c6e7fa65 --- a/mo/test/t-moBitNeighbor.cpp +++ b/test/mo/t-moBitNeighbor.cpp @@ -32,7 +32,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr */ -#include +#include #include #include diff --git a/mo/test/t-moCheckpoint.cpp b/test/mo/t-moCheckpoint.cpp old mode 100644 new mode 100755 similarity index 95% rename from mo/test/t-moCheckpoint.cpp rename to test/mo/t-moCheckpoint.cpp index e080b9a7b..8275cab6e --- a/mo/test/t-moCheckpoint.cpp +++ b/test/mo/t-moCheckpoint.cpp @@ -27,9 +27,9 @@ ParadisEO WebSite : http://paradiseo.gforge.inria.fr Contact: paradiseo-help@lists.gforge.inria.fr */ -#include -#include -#include +#include +#include +#include #include "moTestClass.h" #include diff --git a/mo/test/t-moCombinedContinuator.cpp b/test/mo/t-moCombinedContinuator.cpp old mode 100644 new mode 100755 similarity index 92% rename from mo/test/t-moCombinedContinuator.cpp rename to test/mo/t-moCombinedContinuator.cpp index 7cbeb1229..19251a349 --- a/mo/test/t-moCombinedContinuator.cpp +++ b/test/mo/t-moCombinedContinuator.cpp @@ -31,9 +31,9 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include -#include -#include +#include +#include +#include #include "moTestClass.h" diff --git a/mo/test/t-moCountMoveMemory.cpp b/test/mo/t-moCountMoveMemory.cpp old mode 100644 new mode 100755 similarity index 98% rename from mo/test/t-moCountMoveMemory.cpp rename to test/mo/t-moCountMoveMemory.cpp index 403970835..b485c2ae9 --- a/mo/test/t-moCountMoveMemory.cpp +++ b/test/mo/t-moCountMoveMemory.cpp @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" int main() { diff --git a/mo/test/t-moCounterMonitorSaver.cpp b/test/mo/t-moCounterMonitorSaver.cpp old mode 100644 new mode 100755 similarity index 97% rename from mo/test/t-moCounterMonitorSaver.cpp rename to test/mo/t-moCounterMonitorSaver.cpp index 2672be7f3..9741d51bc --- a/mo/test/t-moCounterMonitorSaver.cpp +++ b/test/mo/t-moCounterMonitorSaver.cpp @@ -27,7 +27,7 @@ ParadisEO WebSite : http://paradiseo.gforge.inria.fr Contact: paradiseo-help@lists.gforge.inria.fr */ -#include +#include #include "moTestClass.h" #include diff --git a/mo/test/t-moCounterStat.cpp b/test/mo/t-moCounterStat.cpp old mode 100644 new mode 100755 similarity index 97% rename from mo/test/t-moCounterStat.cpp rename to test/mo/t-moCounterStat.cpp index 08ce62b8e..cc57ff791 --- a/mo/test/t-moCounterStat.cpp +++ b/test/mo/t-moCounterStat.cpp @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include int main() { diff --git a/mo/test/t-moDensityOfStatesSampling.cpp b/test/mo/t-moDensityOfStatesSampling.cpp old mode 100644 new mode 100755 similarity index 94% rename from mo/test/t-moDensityOfStatesSampling.cpp rename to test/mo/t-moDensityOfStatesSampling.cpp index adc97bb27..ab75d2d9a --- a/mo/test/t-moDensityOfStatesSampling.cpp +++ b/test/mo/t-moDensityOfStatesSampling.cpp @@ -31,9 +31,9 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" -#include +#include int main() { diff --git a/mo/test/t-moDistanceStat.cpp b/test/mo/t-moDistanceStat.cpp old mode 100644 new mode 100755 similarity index 93% rename from mo/test/t-moDistanceStat.cpp rename to test/mo/t-moDistanceStat.cpp index c14971756..231a8cb58 --- a/mo/test/t-moDistanceStat.cpp +++ b/test/mo/t-moDistanceStat.cpp @@ -27,9 +27,9 @@ ParadisEO WebSite : http://paradiseo.gforge.inria.fr Contact: paradiseo-help@lists.gforge.inria.fr */ -#include -#include -#include +#include +#include +#include #include #include diff --git a/mo/test/t-moDummyEval.cpp b/test/mo/t-moDummyEval.cpp old mode 100644 new mode 100755 similarity index 97% rename from mo/test/t-moDummyEval.cpp rename to test/mo/t-moDummyEval.cpp index 5f618b4e5..a91fb2542 --- a/mo/test/t-moDummyEval.cpp +++ b/test/mo/t-moDummyEval.cpp @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include #include -#include +#include #include "moTestClass.h" int main() { diff --git a/mo/test/t-moDummyExplorer.cpp b/test/mo/t-moDummyExplorer.cpp old mode 100644 new mode 100755 similarity index 97% rename from mo/test/t-moDummyExplorer.cpp rename to test/mo/t-moDummyExplorer.cpp index 8a3791698..5fe35e6e7 --- a/mo/test/t-moDummyExplorer.cpp +++ b/test/mo/t-moDummyExplorer.cpp @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" int main() { diff --git a/mo/test/t-moDummyLS.cpp b/test/mo/t-moDummyLS.cpp old mode 100644 new mode 100755 similarity index 95% rename from mo/test/t-moDummyLS.cpp rename to test/mo/t-moDummyLS.cpp index c1204757f..2b50eb7c9 --- a/mo/test/t-moDummyLS.cpp +++ b/test/mo/t-moDummyLS.cpp @@ -31,9 +31,9 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" -#include +#include int main() { diff --git a/mo/test/t-moDummyMemory.cpp b/test/mo/t-moDummyMemory.cpp old mode 100644 new mode 100755 similarity index 94% rename from mo/test/t-moDummyMemory.cpp rename to test/mo/t-moDummyMemory.cpp index 4dcda2bc1..43f3d3d82 --- a/mo/test/t-moDummyMemory.cpp +++ b/test/mo/t-moDummyMemory.cpp @@ -27,8 +27,8 @@ ParadisEO WebSite : http://paradiseo.gforge.inria.fr Contact: paradiseo-help@lists.gforge.inria.fr */ -#include -#include +#include +#include #include "moTestClass.h" #include diff --git a/mo/test/t-moDummyNeighbor.cpp b/test/mo/t-moDummyNeighbor.cpp old mode 100644 new mode 100755 similarity index 96% rename from mo/test/t-moDummyNeighbor.cpp rename to test/mo/t-moDummyNeighbor.cpp index cd60ddb01..03b6395ed --- a/mo/test/t-moDummyNeighbor.cpp +++ b/test/mo/t-moDummyNeighbor.cpp @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include #include -#include +#include #include "moTestClass.h" int main() { diff --git a/mo/test/t-moDummyNeighborhood.cpp b/test/mo/t-moDummyNeighborhood.cpp old mode 100644 new mode 100755 similarity index 94% rename from mo/test/t-moDummyNeighborhood.cpp rename to test/mo/t-moDummyNeighborhood.cpp index c38083873..38a455226 --- a/mo/test/t-moDummyNeighborhood.cpp +++ b/test/mo/t-moDummyNeighborhood.cpp @@ -30,8 +30,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include #include -#include -#include +#include +#include #include "moTestClass.h" int main() { diff --git a/mo/test/t-moDynSpanCoolingSchedule.cpp b/test/mo/t-moDynSpanCoolingSchedule.cpp similarity index 97% rename from mo/test/t-moDynSpanCoolingSchedule.cpp rename to test/mo/t-moDynSpanCoolingSchedule.cpp index 7bef4ad59..3b8f1e615 100755 --- a/mo/test/t-moDynSpanCoolingSchedule.cpp +++ b/test/mo/t-moDynSpanCoolingSchedule.cpp @@ -31,7 +31,7 @@ #include #include -#include +#include #include "moTestClass.h" int main() { diff --git a/mo/test/t-moEvalCounter.cpp b/test/mo/t-moEvalCounter.cpp old mode 100644 new mode 100755 similarity index 97% rename from mo/test/t-moEvalCounter.cpp rename to test/mo/t-moEvalCounter.cpp index 000a6d5ba..e12965220 --- a/mo/test/t-moEvalCounter.cpp +++ b/test/mo/t-moEvalCounter.cpp @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" int main() { diff --git a/mo/test/t-moFDCsampling.cpp b/test/mo/t-moFDCsampling.cpp old mode 100644 new mode 100755 similarity index 93% rename from mo/test/t-moFDCsampling.cpp rename to test/mo/t-moFDCsampling.cpp index 34da40c43..5220d810c --- a/mo/test/t-moFDCsampling.cpp +++ b/test/mo/t-moFDCsampling.cpp @@ -32,10 +32,10 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include -#include +#include #include "moTestClass.h" -#include -#include +#include +#include int main() { diff --git a/mo/test/t-moFirstImprHC.cpp b/test/mo/t-moFirstImprHC.cpp old mode 100644 new mode 100755 similarity index 91% rename from mo/test/t-moFirstImprHC.cpp rename to test/mo/t-moFirstImprHC.cpp index e92984567..50c4f83d9 --- a/mo/test/t-moFirstImprHC.cpp +++ b/test/mo/t-moFirstImprHC.cpp @@ -31,11 +31,11 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" -#include -#include -#include +#include +#include +#include int main() { diff --git a/mo/test/t-moFirstImprHCexplorer.cpp b/test/mo/t-moFirstImprHCexplorer.cpp old mode 100644 new mode 100755 similarity index 93% rename from mo/test/t-moFirstImprHCexplorer.cpp rename to test/mo/t-moFirstImprHCexplorer.cpp index d8b28c3f0..b59299c8c --- a/mo/test/t-moFirstImprHCexplorer.cpp +++ b/test/mo/t-moFirstImprHCexplorer.cpp @@ -27,9 +27,9 @@ ParadisEO WebSite : http://paradiseo.gforge.inria.fr Contact: paradiseo-help@lists.gforge.inria.fr */ -#include -#include -#include +#include +#include +#include #include "moTestClass.h" #include diff --git a/mo/test/t-moFitContinuator.cpp b/test/mo/t-moFitContinuator.cpp old mode 100644 new mode 100755 similarity index 97% rename from mo/test/t-moFitContinuator.cpp rename to test/mo/t-moFitContinuator.cpp index 34e686444..f555f64ef --- a/mo/test/t-moFitContinuator.cpp +++ b/test/mo/t-moFitContinuator.cpp @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" int main() { diff --git a/mo/test/t-moFitnessCloudSampling.cpp b/test/mo/t-moFitnessCloudSampling.cpp old mode 100644 new mode 100755 similarity index 86% rename from mo/test/t-moFitnessCloudSampling.cpp rename to test/mo/t-moFitnessCloudSampling.cpp index ae2392d5a..be87f86de --- a/mo/test/t-moFitnessCloudSampling.cpp +++ b/test/mo/t-moFitnessCloudSampling.cpp @@ -31,13 +31,13 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #include "moTestClass.h" -#include +#include int main() { diff --git a/mo/test/t-moFitnessStat.cpp b/test/mo/t-moFitnessStat.cpp old mode 100644 new mode 100755 similarity index 94% rename from mo/test/t-moFitnessStat.cpp rename to test/mo/t-moFitnessStat.cpp index f243d1e19..75de7bc0a --- a/mo/test/t-moFitnessStat.cpp +++ b/test/mo/t-moFitnessStat.cpp @@ -27,8 +27,8 @@ ParadisEO WebSite : http://paradiseo.gforge.inria.fr Contact: paradiseo-help@lists.gforge.inria.fr */ -#include -#include +#include +#include #include #include diff --git a/mo/test/t-moFullEvalByCopy.cpp b/test/mo/t-moFullEvalByCopy.cpp old mode 100644 new mode 100755 similarity index 97% rename from mo/test/t-moFullEvalByCopy.cpp rename to test/mo/t-moFullEvalByCopy.cpp index b487c6751..7af4bfe78 --- a/mo/test/t-moFullEvalByCopy.cpp +++ b/test/mo/t-moFullEvalByCopy.cpp @@ -33,7 +33,7 @@ */ #include "moTestClass.h" -#include +#include #include #include diff --git a/mo/test/t-moFullEvalByModif.cpp b/test/mo/t-moFullEvalByModif.cpp old mode 100644 new mode 100755 similarity index 97% rename from mo/test/t-moFullEvalByModif.cpp rename to test/mo/t-moFullEvalByModif.cpp index b52813c37..02f2f4bf1 --- a/mo/test/t-moFullEvalByModif.cpp +++ b/test/mo/t-moFullEvalByModif.cpp @@ -33,7 +33,7 @@ */ #include "moTestClass.h" -#include +#include #include #include diff --git a/mo/test/t-moFullEvalContinuator.cpp b/test/mo/t-moFullEvalContinuator.cpp old mode 100644 new mode 100755 similarity index 95% rename from mo/test/t-moFullEvalContinuator.cpp rename to test/mo/t-moFullEvalContinuator.cpp index 78164608a..67876f127 --- a/mo/test/t-moFullEvalContinuator.cpp +++ b/test/mo/t-moFullEvalContinuator.cpp @@ -31,8 +31,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include -#include +#include +#include #include "moTestClass.h" int main() { diff --git a/mo/test/t-moHillClimberSampling.cpp b/test/mo/t-moHillClimberSampling.cpp old mode 100644 new mode 100755 similarity index 94% rename from mo/test/t-moHillClimberSampling.cpp rename to test/mo/t-moHillClimberSampling.cpp index 0dcb6d950..15c364bf8 --- a/mo/test/t-moHillClimberSampling.cpp +++ b/test/mo/t-moHillClimberSampling.cpp @@ -31,9 +31,9 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" -#include +#include int main() { diff --git a/mo/test/t-moILS.cpp b/test/mo/t-moILS.cpp old mode 100644 new mode 100755 similarity index 84% rename from mo/test/t-moILS.cpp rename to test/mo/t-moILS.cpp index 42f7b3f36..1ba4b3394 --- a/mo/test/t-moILS.cpp +++ b/test/mo/t-moILS.cpp @@ -31,15 +31,15 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include -#include +#include +#include #include "moTestClass.h" -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include class dummyMonOp: public eoMonOp { public: diff --git a/mo/test/t-moILSexplorer.cpp b/test/mo/t-moILSexplorer.cpp old mode 100644 new mode 100755 similarity index 85% rename from mo/test/t-moILSexplorer.cpp rename to test/mo/t-moILSexplorer.cpp index ae86ac87c..91e18daaf --- a/mo/test/t-moILSexplorer.cpp +++ b/test/mo/t-moILSexplorer.cpp @@ -31,15 +31,15 @@ #include #include -#include +#include #include "moTestClass.h" -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include class dummyMonOp: public eoMonOp { diff --git a/mo/test/t-moIndexedVectorTabuList.cpp b/test/mo/t-moIndexedVectorTabuList.cpp similarity index 97% rename from mo/test/t-moIndexedVectorTabuList.cpp rename to test/mo/t-moIndexedVectorTabuList.cpp index d29b3bc3e..87f7c96ee 100755 --- a/mo/test/t-moIndexedVectorTabuList.cpp +++ b/test/mo/t-moIndexedVectorTabuList.cpp @@ -27,7 +27,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr */ -#include +#include #include "moTestClass.h" #include diff --git a/mo/test/t-moIterContinuator.cpp b/test/mo/t-moIterContinuator.cpp old mode 100644 new mode 100755 similarity index 97% rename from mo/test/t-moIterContinuator.cpp rename to test/mo/t-moIterContinuator.cpp index 871ffeb90..b308a0dcd --- a/mo/test/t-moIterContinuator.cpp +++ b/test/mo/t-moIterContinuator.cpp @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" int main() { diff --git a/mo/test/t-moLocalSearch.cpp b/test/mo/t-moLocalSearch.cpp old mode 100644 new mode 100755 similarity index 86% rename from mo/test/t-moLocalSearch.cpp rename to test/mo/t-moLocalSearch.cpp index 4d3f3753d..2f51fc368 --- a/mo/test/t-moLocalSearch.cpp +++ b/test/mo/t-moLocalSearch.cpp @@ -30,12 +30,12 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include #include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include #include "moTestClass.h" diff --git a/mo/test/t-moLocalSearchInit.cpp b/test/mo/t-moLocalSearchInit.cpp old mode 100644 new mode 100755 similarity index 92% rename from mo/test/t-moLocalSearchInit.cpp rename to test/mo/t-moLocalSearchInit.cpp index 1f23c8724..db1d0d912 --- a/mo/test/t-moLocalSearchInit.cpp +++ b/test/mo/t-moLocalSearchInit.cpp @@ -31,10 +31,10 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include -#include +#include +#include #include "moTestClass.h" -#include +#include int main() { diff --git a/mo/test/t-moMetropolisHasting.cpp b/test/mo/t-moMetropolisHasting.cpp old mode 100644 new mode 100755 similarity index 88% rename from mo/test/t-moMetropolisHasting.cpp rename to test/mo/t-moMetropolisHasting.cpp index 638c64bd8..abcdf1547 --- a/mo/test/t-moMetropolisHasting.cpp +++ b/test/mo/t-moMetropolisHasting.cpp @@ -31,12 +31,12 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" -#include -#include -#include -#include +#include +#include +#include +#include int main() { diff --git a/mo/test/t-moMetropolisHastingExplorer.cpp b/test/mo/t-moMetropolisHastingExplorer.cpp old mode 100644 new mode 100755 similarity index 98% rename from mo/test/t-moMetropolisHastingExplorer.cpp rename to test/mo/t-moMetropolisHastingExplorer.cpp index 6214465a1..76d58f0e5 --- a/mo/test/t-moMetropolisHastingExplorer.cpp +++ b/test/mo/t-moMetropolisHastingExplorer.cpp @@ -27,7 +27,7 @@ ParadisEO WebSite : http://paradiseo.gforge.inria.fr Contact: paradiseo-help@lists.gforge.inria.fr */ -#include +#include #include "moTestClass.h" #include diff --git a/mo/test/t-moMinusOneCounterStat.cpp b/test/mo/t-moMinusOneCounterStat.cpp old mode 100644 new mode 100755 similarity index 97% rename from mo/test/t-moMinusOneCounterStat.cpp rename to test/mo/t-moMinusOneCounterStat.cpp index 567d610bd..062a4c7bb --- a/mo/test/t-moMinusOneCounterStat.cpp +++ b/test/mo/t-moMinusOneCounterStat.cpp @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include int main() { diff --git a/mo/test/t-moMonOpDiversification.cpp b/test/mo/t-moMonOpDiversification.cpp old mode 100644 new mode 100755 similarity index 93% rename from mo/test/t-moMonOpDiversification.cpp rename to test/mo/t-moMonOpDiversification.cpp index 6c83ec08b..a0d8fe24d --- a/mo/test/t-moMonOpDiversification.cpp +++ b/test/mo/t-moMonOpDiversification.cpp @@ -31,11 +31,11 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include -#include +#include #include "moTestClass.h" -#include +#include class dummyMonOp: public eoMonOp { diff --git a/mo/test/t-moMonOpPerturb.cpp b/test/mo/t-moMonOpPerturb.cpp old mode 100644 new mode 100755 similarity index 94% rename from mo/test/t-moMonOpPerturb.cpp rename to test/mo/t-moMonOpPerturb.cpp index c56394674..dcd3308ac --- a/mo/test/t-moMonOpPerturb.cpp +++ b/test/mo/t-moMonOpPerturb.cpp @@ -30,11 +30,11 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include #include -#include +#include -#include +#include #include "moTestClass.h" -#include +#include class dummyMonOp: public eoMonOp { diff --git a/mo/test/t-moNeighbor.cpp b/test/mo/t-moNeighbor.cpp old mode 100644 new mode 100755 similarity index 100% rename from mo/test/t-moNeighbor.cpp rename to test/mo/t-moNeighbor.cpp diff --git a/mo/test/t-moNeighborBestStat.cpp b/test/mo/t-moNeighborBestStat.cpp old mode 100644 new mode 100755 similarity index 97% rename from mo/test/t-moNeighborBestStat.cpp rename to test/mo/t-moNeighborBestStat.cpp index f35f74cdb..7480082e2 --- a/mo/test/t-moNeighborBestStat.cpp +++ b/test/mo/t-moNeighborBestStat.cpp @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" int main() { diff --git a/mo/test/t-moNeighborComparator.cpp b/test/mo/t-moNeighborComparator.cpp old mode 100644 new mode 100755 similarity index 92% rename from mo/test/t-moNeighborComparator.cpp rename to test/mo/t-moNeighborComparator.cpp index cbdb3e4df..5ce3b9fb3 --- a/mo/test/t-moNeighborComparator.cpp +++ b/test/mo/t-moNeighborComparator.cpp @@ -32,10 +32,10 @@ Contact: paradiseo-help@lists.gforge.inria.fr */ -#include -#include -#include -#include +#include +#include +#include +#include #include #include diff --git a/mo/test/t-moNeighborEvalContinuator.cpp b/test/mo/t-moNeighborEvalContinuator.cpp old mode 100644 new mode 100755 similarity index 97% rename from mo/test/t-moNeighborEvalContinuator.cpp rename to test/mo/t-moNeighborEvalContinuator.cpp index b2671786d..dbcafc8be --- a/mo/test/t-moNeighborEvalContinuator.cpp +++ b/test/mo/t-moNeighborEvalContinuator.cpp @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" int main() { diff --git a/mo/test/t-moNeighborFitnessStat.cpp b/test/mo/t-moNeighborFitnessStat.cpp old mode 100644 new mode 100755 similarity index 97% rename from mo/test/t-moNeighborFitnessStat.cpp rename to test/mo/t-moNeighborFitnessStat.cpp index a85408c09..06bf258bd --- a/mo/test/t-moNeighborFitnessStat.cpp +++ b/test/mo/t-moNeighborFitnessStat.cpp @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" int main() { diff --git a/mo/test/t-moNeighborVectorTabuList.cpp b/test/mo/t-moNeighborVectorTabuList.cpp old mode 100644 new mode 100755 similarity index 98% rename from mo/test/t-moNeighborVectorTabuList.cpp rename to test/mo/t-moNeighborVectorTabuList.cpp index 097966002..d9123921f --- a/mo/test/t-moNeighborVectorTabuList.cpp +++ b/test/mo/t-moNeighborVectorTabuList.cpp @@ -27,7 +27,7 @@ ParadisEO WebSite : http://paradiseo.gforge.inria.fr Contact: paradiseo-help@lists.gforge.inria.fr */ -#include +#include #include "moTestClass.h" #include diff --git a/mo/test/t-moNeighborhoodPerturb.cpp b/test/mo/t-moNeighborhoodPerturb.cpp old mode 100644 new mode 100755 similarity index 94% rename from mo/test/t-moNeighborhoodPerturb.cpp rename to test/mo/t-moNeighborhoodPerturb.cpp index 70a0fb214..d3accd798 --- a/mo/test/t-moNeighborhoodPerturb.cpp +++ b/test/mo/t-moNeighborhoodPerturb.cpp @@ -33,9 +33,9 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include "moTestClass.h" -#include -#include -#include +#include +#include +#include typedef moOrderNeighborhood Neighborhood; diff --git a/mo/test/t-moNeighborhoodStat.cpp b/test/mo/t-moNeighborhoodStat.cpp old mode 100644 new mode 100755 similarity index 88% rename from mo/test/t-moNeighborhoodStat.cpp rename to test/mo/t-moNeighborhoodStat.cpp index f34320c74..2ae0359d0 --- a/mo/test/t-moNeighborhoodStat.cpp +++ b/test/mo/t-moNeighborhoodStat.cpp @@ -27,18 +27,18 @@ ParadisEO WebSite : http://paradiseo.gforge.inria.fr Contact: paradiseo-help@lists.gforge.inria.fr */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include "moTestClass.h" diff --git a/mo/test/t-moNeutralDegreeSampling.cpp b/test/mo/t-moNeutralDegreeSampling.cpp old mode 100644 new mode 100755 similarity index 90% rename from mo/test/t-moNeutralDegreeSampling.cpp rename to test/mo/t-moNeutralDegreeSampling.cpp index d48158e0d..fb04ebfee --- a/mo/test/t-moNeutralDegreeSampling.cpp +++ b/test/mo/t-moNeutralDegreeSampling.cpp @@ -31,11 +31,11 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" -#include -#include -#include +#include +#include +#include int main() { diff --git a/mo/test/t-moNeutralHC.cpp b/test/mo/t-moNeutralHC.cpp old mode 100644 new mode 100755 similarity index 88% rename from mo/test/t-moNeutralHC.cpp rename to test/mo/t-moNeutralHC.cpp index 84b141d65..01543e928 --- a/mo/test/t-moNeutralHC.cpp +++ b/test/mo/t-moNeutralHC.cpp @@ -31,12 +31,12 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" -#include -#include -#include -#include +#include +#include +#include +#include int main() { diff --git a/mo/test/t-moNeutralHCexplorer.cpp b/test/mo/t-moNeutralHCexplorer.cpp old mode 100644 new mode 100755 similarity index 94% rename from mo/test/t-moNeutralHCexplorer.cpp rename to test/mo/t-moNeutralHCexplorer.cpp index f0a69e4f0..165360b2c --- a/mo/test/t-moNeutralHCexplorer.cpp +++ b/test/mo/t-moNeutralHCexplorer.cpp @@ -27,9 +27,9 @@ ParadisEO WebSite : http://paradiseo.gforge.inria.fr Contact: paradiseo-help@lists.gforge.inria.fr */ -#include -#include -#include +#include +#include +#include #include "moTestClass.h" #include diff --git a/mo/test/t-moNeutralWalkSampling.cpp b/test/mo/t-moNeutralWalkSampling.cpp old mode 100644 new mode 100755 similarity index 93% rename from mo/test/t-moNeutralWalkSampling.cpp rename to test/mo/t-moNeutralWalkSampling.cpp index 6faf66508..5d577aec6 --- a/mo/test/t-moNeutralWalkSampling.cpp +++ b/test/mo/t-moNeutralWalkSampling.cpp @@ -32,10 +32,10 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include -#include +#include #include "moTestClass.h" -#include -#include +#include +#include int main() { diff --git a/mo/test/t-moOrderNeighborhood.cpp b/test/mo/t-moOrderNeighborhood.cpp old mode 100644 new mode 100755 similarity index 94% rename from mo/test/t-moOrderNeighborhood.cpp rename to test/mo/t-moOrderNeighborhood.cpp index a95a5238d..4b72dc733 --- a/mo/test/t-moOrderNeighborhood.cpp +++ b/test/mo/t-moOrderNeighborhood.cpp @@ -32,9 +32,9 @@ Contact: paradiseo-help@lists.gforge.inria.fr */ -#include -#include -#include +#include +#include +#include #include #include diff --git a/mo/test/t-moRandomBestHC.cpp b/test/mo/t-moRandomBestHC.cpp old mode 100644 new mode 100755 similarity index 90% rename from mo/test/t-moRandomBestHC.cpp rename to test/mo/t-moRandomBestHC.cpp index 7f2201629..53bd1a674 --- a/mo/test/t-moRandomBestHC.cpp +++ b/test/mo/t-moRandomBestHC.cpp @@ -31,11 +31,11 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" -#include -#include -#include +#include +#include +#include int main() { diff --git a/mo/test/t-moRandomBestHCexplorer.cpp b/test/mo/t-moRandomBestHCexplorer.cpp old mode 100644 new mode 100755 similarity index 94% rename from mo/test/t-moRandomBestHCexplorer.cpp rename to test/mo/t-moRandomBestHCexplorer.cpp index f050fc49e..0457b8203 --- a/mo/test/t-moRandomBestHCexplorer.cpp +++ b/test/mo/t-moRandomBestHCexplorer.cpp @@ -27,9 +27,9 @@ ParadisEO WebSite : http://paradiseo.gforge.inria.fr Contact: paradiseo-help@lists.gforge.inria.fr */ -#include -#include -#include +#include +#include +#include #include "moTestClass.h" #include diff --git a/mo/test/t-moRandomNeutralWalk.cpp b/test/mo/t-moRandomNeutralWalk.cpp old mode 100644 new mode 100755 similarity index 90% rename from mo/test/t-moRandomNeutralWalk.cpp rename to test/mo/t-moRandomNeutralWalk.cpp index 39eb158ee..1f69febfa --- a/mo/test/t-moRandomNeutralWalk.cpp +++ b/test/mo/t-moRandomNeutralWalk.cpp @@ -31,11 +31,11 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" -#include -#include -#include +#include +#include +#include int main() { diff --git a/mo/test/t-moRandomNeutralWalkExplorer.cpp b/test/mo/t-moRandomNeutralWalkExplorer.cpp old mode 100644 new mode 100755 similarity index 97% rename from mo/test/t-moRandomNeutralWalkExplorer.cpp rename to test/mo/t-moRandomNeutralWalkExplorer.cpp index dd7d52247..f7f4bacfe --- a/mo/test/t-moRandomNeutralWalkExplorer.cpp +++ b/test/mo/t-moRandomNeutralWalkExplorer.cpp @@ -27,7 +27,7 @@ ParadisEO WebSite : http://paradiseo.gforge.inria.fr Contact: paradiseo-help@lists.gforge.inria.fr */ -#include +#include #include "moTestClass.h" #include diff --git a/mo/test/t-moRandomSearch.cpp b/test/mo/t-moRandomSearch.cpp old mode 100644 new mode 100755 similarity index 92% rename from mo/test/t-moRandomSearch.cpp rename to test/mo/t-moRandomSearch.cpp index 135689891..b27e1dacf --- a/mo/test/t-moRandomSearch.cpp +++ b/test/mo/t-moRandomSearch.cpp @@ -31,10 +31,10 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" -#include -#include +#include +#include int main() { diff --git a/mo/test/t-moRandomSearchExplorer.cpp b/test/mo/t-moRandomSearchExplorer.cpp old mode 100644 new mode 100755 similarity index 95% rename from mo/test/t-moRandomSearchExplorer.cpp rename to test/mo/t-moRandomSearchExplorer.cpp index 7dfbf19ce..7111a5cfa --- a/mo/test/t-moRandomSearchExplorer.cpp +++ b/test/mo/t-moRandomSearchExplorer.cpp @@ -31,9 +31,9 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" -#include +#include int main() { diff --git a/mo/test/t-moRandomWalk.cpp b/test/mo/t-moRandomWalk.cpp old mode 100644 new mode 100755 similarity index 88% rename from mo/test/t-moRandomWalk.cpp rename to test/mo/t-moRandomWalk.cpp index 4528f7623..13355620d --- a/mo/test/t-moRandomWalk.cpp +++ b/test/mo/t-moRandomWalk.cpp @@ -31,12 +31,12 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" -#include -#include -#include -#include +#include +#include +#include +#include int main() { diff --git a/mo/test/t-moRandomWalkExplorer.cpp b/test/mo/t-moRandomWalkExplorer.cpp old mode 100644 new mode 100755 similarity index 97% rename from mo/test/t-moRandomWalkExplorer.cpp rename to test/mo/t-moRandomWalkExplorer.cpp index bd751b1e1..defb88f4b --- a/mo/test/t-moRandomWalkExplorer.cpp +++ b/test/mo/t-moRandomWalkExplorer.cpp @@ -27,7 +27,7 @@ ParadisEO WebSite : http://paradiseo.gforge.inria.fr Contact: paradiseo-help@lists.gforge.inria.fr */ -#include +#include #include "moTestClass.h" #include diff --git a/mo/test/t-moRestartPerturb.cpp b/test/mo/t-moRestartPerturb.cpp old mode 100644 new mode 100755 similarity index 93% rename from mo/test/t-moRestartPerturb.cpp rename to test/mo/t-moRestartPerturb.cpp index f301ceefb..7317addaf --- a/mo/test/t-moRestartPerturb.cpp +++ b/test/mo/t-moRestartPerturb.cpp @@ -31,12 +31,12 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include -#include -#include +#include +#include +#include -#include -#include +#include +#include typedef eoInt QUEEN; diff --git a/mo/test/t-moRndIndexedVectorTabuList.cpp b/test/mo/t-moRndIndexedVectorTabuList.cpp similarity index 97% rename from mo/test/t-moRndIndexedVectorTabuList.cpp rename to test/mo/t-moRndIndexedVectorTabuList.cpp index 5da55c117..27c1a87e7 100755 --- a/mo/test/t-moRndIndexedVectorTabuList.cpp +++ b/test/mo/t-moRndIndexedVectorTabuList.cpp @@ -27,7 +27,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr */ -#include +#include #include "moTestClass.h" #include diff --git a/mo/test/t-moRndWithReplNeighborhood.cpp b/test/mo/t-moRndWithReplNeighborhood.cpp old mode 100644 new mode 100755 similarity index 97% rename from mo/test/t-moRndWithReplNeighborhood.cpp rename to test/mo/t-moRndWithReplNeighborhood.cpp index d93f9bcdc..8878d8b93 --- a/mo/test/t-moRndWithReplNeighborhood.cpp +++ b/test/mo/t-moRndWithReplNeighborhood.cpp @@ -27,7 +27,7 @@ ParadisEO WebSite : http://paradiseo.gforge.inria.fr Contact: paradiseo-help@lists.gforge.inria.fr */ -#include +#include #include "moTestClass.h" #include diff --git a/mo/test/t-moRndWithoutReplNeighborhood.cpp b/test/mo/t-moRndWithoutReplNeighborhood.cpp old mode 100644 new mode 100755 similarity index 97% rename from mo/test/t-moRndWithoutReplNeighborhood.cpp rename to test/mo/t-moRndWithoutReplNeighborhood.cpp index 50f8afbe0..5335626a4 --- a/mo/test/t-moRndWithoutReplNeighborhood.cpp +++ b/test/mo/t-moRndWithoutReplNeighborhood.cpp @@ -27,7 +27,7 @@ ParadisEO WebSite : http://paradiseo.gforge.inria.fr Contact: paradiseo-help@lists.gforge.inria.fr */ -#include +#include #include "moTestClass.h" #include diff --git a/mo/test/t-moSA.cpp b/test/mo/t-moSA.cpp old mode 100644 new mode 100755 similarity index 88% rename from mo/test/t-moSA.cpp rename to test/mo/t-moSA.cpp index b1cdfeb67..66bba2a7a --- a/mo/test/t-moSA.cpp +++ b/test/mo/t-moSA.cpp @@ -31,12 +31,12 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" -#include -#include -#include -#include +#include +#include +#include +#include int main() { diff --git a/mo/test/t-moSAexplorer.cpp b/test/mo/t-moSAexplorer.cpp old mode 100644 new mode 100755 similarity index 95% rename from mo/test/t-moSAexplorer.cpp rename to test/mo/t-moSAexplorer.cpp index 4c619ff88..996d53d2d --- a/mo/test/t-moSAexplorer.cpp +++ b/test/mo/t-moSAexplorer.cpp @@ -32,8 +32,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include "moTestClass.h" -#include -#include +#include +#include int main() { diff --git a/mo/test/t-moSampling.cpp b/test/mo/t-moSampling.cpp old mode 100644 new mode 100755 similarity index 88% rename from mo/test/t-moSampling.cpp rename to test/mo/t-moSampling.cpp index 3864be764..e0a026624 --- a/mo/test/t-moSampling.cpp +++ b/test/mo/t-moSampling.cpp @@ -31,13 +31,13 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include int main() { diff --git a/mo/test/t-moSimpleCoolingSchedule.cpp b/test/mo/t-moSimpleCoolingSchedule.cpp old mode 100644 new mode 100755 similarity index 97% rename from mo/test/t-moSimpleCoolingSchedule.cpp rename to test/mo/t-moSimpleCoolingSchedule.cpp index b2f8cca17..a919e096a --- a/mo/test/t-moSimpleCoolingSchedule.cpp +++ b/test/mo/t-moSimpleCoolingSchedule.cpp @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" int main() { diff --git a/mo/test/t-moSimpleHC.cpp b/test/mo/t-moSimpleHC.cpp old mode 100644 new mode 100755 similarity index 91% rename from mo/test/t-moSimpleHC.cpp rename to test/mo/t-moSimpleHC.cpp index 973e374a4..1f7b6211c --- a/mo/test/t-moSimpleHC.cpp +++ b/test/mo/t-moSimpleHC.cpp @@ -31,11 +31,11 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" -#include -#include -#include +#include +#include +#include int main() { diff --git a/mo/test/t-moSimpleHCexplorer.cpp b/test/mo/t-moSimpleHCexplorer.cpp old mode 100644 new mode 100755 similarity index 93% rename from mo/test/t-moSimpleHCexplorer.cpp rename to test/mo/t-moSimpleHCexplorer.cpp index 9767ce600..e744e905e --- a/mo/test/t-moSimpleHCexplorer.cpp +++ b/test/mo/t-moSimpleHCexplorer.cpp @@ -33,10 +33,10 @@ */ #include "moTestClass.h" -#include -#include -#include -#include +#include +#include +#include +#include #include #include diff --git a/mo/test/t-moSolComparator.cpp b/test/mo/t-moSolComparator.cpp old mode 100644 new mode 100755 similarity index 93% rename from mo/test/t-moSolComparator.cpp rename to test/mo/t-moSolComparator.cpp index 086f6be13..1316e0cb3 --- a/mo/test/t-moSolComparator.cpp +++ b/test/mo/t-moSolComparator.cpp @@ -31,9 +31,9 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include -#include -#include +#include +#include +#include int main() { diff --git a/mo/test/t-moSolInit.cpp b/test/mo/t-moSolInit.cpp old mode 100644 new mode 100755 similarity index 97% rename from mo/test/t-moSolInit.cpp rename to test/mo/t-moSolInit.cpp index ce8ef3cb7..4de4850c3 --- a/mo/test/t-moSolInit.cpp +++ b/test/mo/t-moSolInit.cpp @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include int main() { diff --git a/mo/test/t-moSolNeighborComparator.cpp b/test/mo/t-moSolNeighborComparator.cpp old mode 100644 new mode 100755 similarity index 92% rename from mo/test/t-moSolNeighborComparator.cpp rename to test/mo/t-moSolNeighborComparator.cpp index b98996141..65f121465 --- a/mo/test/t-moSolNeighborComparator.cpp +++ b/test/mo/t-moSolNeighborComparator.cpp @@ -32,10 +32,10 @@ Contact: paradiseo-help@lists.gforge.inria.fr */ -#include -#include -#include -#include +#include +#include +#include +#include #include #include diff --git a/mo/test/t-moSolVectorTabuList.cpp b/test/mo/t-moSolVectorTabuList.cpp old mode 100644 new mode 100755 similarity index 98% rename from mo/test/t-moSolVectorTabuList.cpp rename to test/mo/t-moSolVectorTabuList.cpp index cf883d369..6b42344f9 --- a/mo/test/t-moSolVectorTabuList.cpp +++ b/test/mo/t-moSolVectorTabuList.cpp @@ -27,7 +27,7 @@ ParadisEO WebSite : http://paradiseo.gforge.inria.fr Contact: paradiseo-help@lists.gforge.inria.fr */ -#include +#include #include "moTestClass.h" #include diff --git a/mo/test/t-moSolutionStat.cpp b/test/mo/t-moSolutionStat.cpp old mode 100644 new mode 100755 similarity index 97% rename from mo/test/t-moSolutionStat.cpp rename to test/mo/t-moSolutionStat.cpp index 2ebe777da..9b7b0b2e9 --- a/mo/test/t-moSolutionStat.cpp +++ b/test/mo/t-moSolutionStat.cpp @@ -27,7 +27,7 @@ ParadisEO WebSite : http://paradiseo.gforge.inria.fr Contact: paradiseo-help@lists.gforge.inria.fr */ -#include +#include #include "moTestClass.h" #include diff --git a/mo/test/t-moStatistics.cpp b/test/mo/t-moStatistics.cpp old mode 100644 new mode 100755 similarity index 97% rename from mo/test/t-moStatistics.cpp rename to test/mo/t-moStatistics.cpp index c938dd64a..85cf8a36b --- a/mo/test/t-moStatistics.cpp +++ b/test/mo/t-moStatistics.cpp @@ -31,9 +31,9 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" -#include +#include int main() { diff --git a/mo/test/t-moTS.cpp b/test/mo/t-moTS.cpp old mode 100644 new mode 100755 similarity index 88% rename from mo/test/t-moTS.cpp rename to test/mo/t-moTS.cpp index b27d0d390..59848fdf6 --- a/mo/test/t-moTS.cpp +++ b/test/mo/t-moTS.cpp @@ -31,13 +31,13 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include int main() { diff --git a/mo/test/t-moTSexplorer.cpp b/test/mo/t-moTSexplorer.cpp old mode 100644 new mode 100755 similarity index 94% rename from mo/test/t-moTSexplorer.cpp rename to test/mo/t-moTSexplorer.cpp index dcce178ec..279437541 --- a/mo/test/t-moTSexplorer.cpp +++ b/test/mo/t-moTSexplorer.cpp @@ -27,11 +27,11 @@ ParadisEO WebSite : http://paradiseo.gforge.inria.fr Contact: paradiseo-help@lists.gforge.inria.fr */ -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #include "moTestClass.h" #include diff --git a/mo/test/t-moTimeContinuator.cpp b/test/mo/t-moTimeContinuator.cpp old mode 100644 new mode 100755 similarity index 97% rename from mo/test/t-moTimeContinuator.cpp rename to test/mo/t-moTimeContinuator.cpp index ccd47e1f9..023e60e2f --- a/mo/test/t-moTimeContinuator.cpp +++ b/test/mo/t-moTimeContinuator.cpp @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" #include diff --git a/mo/test/t-moTrueContinuator.cpp b/test/mo/t-moTrueContinuator.cpp old mode 100644 new mode 100755 similarity index 97% rename from mo/test/t-moTrueContinuator.cpp rename to test/mo/t-moTrueContinuator.cpp index 2a0ca7d27..f566b3a87 --- a/mo/test/t-moTrueContinuator.cpp +++ b/test/mo/t-moTrueContinuator.cpp @@ -32,7 +32,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr */ -#include +#include #include "moTestClass.h" #include diff --git a/mo/test/t-moVectorMonitor.cpp b/test/mo/t-moVectorMonitor.cpp old mode 100644 new mode 100755 similarity index 98% rename from mo/test/t-moVectorMonitor.cpp rename to test/mo/t-moVectorMonitor.cpp index 53edcd310..80ebae9bf --- a/mo/test/t-moVectorMonitor.cpp +++ b/test/mo/t-moVectorMonitor.cpp @@ -31,7 +31,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include +#include #include "moTestClass.h" int main() { diff --git a/moeo/test/CMakeLists.txt b/test/moeo/CMakeLists.txt old mode 100644 new mode 100755 similarity index 90% rename from moeo/test/CMakeLists.txt rename to test/moeo/CMakeLists.txt index 49130ea3e..1124a6069 --- a/moeo/test/CMakeLists.txt +++ b/test/moeo/CMakeLists.txt @@ -2,10 +2,10 @@ ### 0) Include headers ###################################################################################### -include_directories(${EO_SRC_DIR}/src) -include_directories(${MO_SRC_DIR}/src) -include_directories(${MOEO_SRC_DIR}/src) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +#include_directories(${EO_SRC_DIR}/src) +#include_directories(${MO_SRC_DIR}/src) +#include_directories(${MOEO_SRC_DIR}/src) +#include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ###################################################################################### @@ -82,5 +82,5 @@ foreach (test ${TEST_LIST}) add_executable(${test} ${T_${test}_SOURCES}) add_test(${test} ${test}) target_link_libraries(${test} moeo ga es eoutils eo) - install(TARGETS ${test} RUNTIME DESTINATION share${INSTALL_SUB_DIR}/moeo/test COMPONENT tests) + install(TARGETS ${test} RUNTIME DESTINATION share/${PROJECT_TAG}/moeo/test COMPONENT tests) endforeach (test) diff --git a/moeo/test/moeoTestClass.h b/test/moeo/moeoTestClass.h old mode 100644 new mode 100755 similarity index 86% rename from moeo/test/moeoTestClass.h rename to test/moeo/moeoTestClass.h index dd9d188be..f175f471b --- a/moeo/test/moeoTestClass.h +++ b/test/moeo/moeoTestClass.h @@ -35,19 +35,19 @@ #ifndef _moeoTestClass_h #define _moeoTestClass_h -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include class ObjectiveVectorTraits : public moeoObjectiveVectorTraits { diff --git a/moeo/test/t-moeo.cpp b/test/moeo/t-moeo.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeo.cpp rename to test/moeo/t-moeo.cpp index 4bd6388ef..1da040f57 --- a/moeo/test/t-moeo.cpp +++ b/test/moeo/t-moeo.cpp @@ -37,8 +37,8 @@ // t-moeo.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeo2DMinHypervolumeArchive.cpp b/test/moeo/t-moeo2DMinHypervolumeArchive.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeo2DMinHypervolumeArchive.cpp rename to test/moeo/t-moeo2DMinHypervolumeArchive.cpp index f90b9940b..375835b8e --- a/moeo/test/t-moeo2DMinHypervolumeArchive.cpp +++ b/test/moeo/t-moeo2DMinHypervolumeArchive.cpp @@ -37,8 +37,8 @@ // t-moeo2DMinHypervolumeArchive.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include #include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoASEEA.cpp b/test/moeo/t-moeoASEEA.cpp old mode 100644 new mode 100755 similarity index 96% rename from moeo/test/t-moeoASEEA.cpp rename to test/moeo/t-moeoASEEA.cpp index 9c97f0f6b..f6f0499a0 --- a/moeo/test/t-moeoASEEA.cpp +++ b/test/moeo/t-moeoASEEA.cpp @@ -38,11 +38,11 @@ // t-moeoASEEA.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include #include -#include -#include +#include +#include class ObjectiveVectorTraits : public moeoObjectiveVectorTraits { diff --git a/moeo/test/t-moeoASFAMetric.cpp b/test/moeo/t-moeoASFAMetric.cpp similarity index 98% rename from moeo/test/t-moeoASFAMetric.cpp rename to test/moeo/t-moeoASFAMetric.cpp index 16fafcab7..cae9fd6d4 100755 --- a/moeo/test/t-moeoASFAMetric.cpp +++ b/test/moeo/t-moeoASFAMetric.cpp @@ -39,8 +39,8 @@ // t-moeoAggregationFitnessAssignment.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include #include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoASFAOrMetric.cpp b/test/moeo/t-moeoASFAOrMetric.cpp similarity index 98% rename from moeo/test/t-moeoASFAOrMetric.cpp rename to test/moeo/t-moeoASFAOrMetric.cpp index 9ca8d2e67..d73a44084 100755 --- a/moeo/test/t-moeoASFAOrMetric.cpp +++ b/test/moeo/t-moeoASFAOrMetric.cpp @@ -39,8 +39,8 @@ // t-moeoAggregationFitnessAssignment.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include #include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoAchievementFitnessAssignment.cpp b/test/moeo/t-moeoAchievementFitnessAssignment.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeoAchievementFitnessAssignment.cpp rename to test/moeo/t-moeoAchievementFitnessAssignment.cpp index 2bf553350..fa8d8ab0d --- a/moeo/test/t-moeoAchievementFitnessAssignment.cpp +++ b/test/moeo/t-moeoAchievementFitnessAssignment.cpp @@ -37,8 +37,8 @@ // t-moeoAchievementFitnessAssignment.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoAggregationFitnessAssignment.cpp b/test/moeo/t-moeoAggregationFitnessAssignment.cpp similarity index 98% rename from moeo/test/t-moeoAggregationFitnessAssignment.cpp rename to test/moeo/t-moeoAggregationFitnessAssignment.cpp index 93990e1c5..f741ab979 100755 --- a/moeo/test/t-moeoAggregationFitnessAssignment.cpp +++ b/test/moeo/t-moeoAggregationFitnessAssignment.cpp @@ -39,8 +39,8 @@ // t-moeoAggregationFitnessAssignment.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include #include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoAggregativeComparator.cpp b/test/moeo/t-moeoAggregativeComparator.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeoAggregativeComparator.cpp rename to test/moeo/t-moeoAggregativeComparator.cpp index 9f681919d..e03c107bb --- a/moeo/test/t-moeoAggregativeComparator.cpp +++ b/test/moeo/t-moeoAggregativeComparator.cpp @@ -37,8 +37,8 @@ // t-moeoAggregativeComparator.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoAggregativeFitnessAssignment.cpp b/test/moeo/t-moeoAggregativeFitnessAssignment.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeoAggregativeFitnessAssignment.cpp rename to test/moeo/t-moeoAggregativeFitnessAssignment.cpp index f264f89e4..1e641f295 --- a/moeo/test/t-moeoAggregativeFitnessAssignment.cpp +++ b/test/moeo/t-moeoAggregativeFitnessAssignment.cpp @@ -38,8 +38,8 @@ // t-moeoAggregativeFitnessAssignment.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include #include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoBitVector.cpp b/test/moeo/t-moeoBitVector.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeoBitVector.cpp rename to test/moeo/t-moeoBitVector.cpp index 5420efdb1..1c3083164 --- a/moeo/test/t-moeoBitVector.cpp +++ b/test/moeo/t-moeoBitVector.cpp @@ -37,8 +37,8 @@ // t-moeoBitVector.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoBoundedArchive.cpp b/test/moeo/t-moeoBoundedArchive.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeoBoundedArchive.cpp rename to test/moeo/t-moeoBoundedArchive.cpp index e8a1833b0..6cba6004a --- a/moeo/test/t-moeoBoundedArchive.cpp +++ b/test/moeo/t-moeoBoundedArchive.cpp @@ -37,8 +37,8 @@ // t-moeoBoundedArchive.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include #include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoChebyshevMetric.cpp b/test/moeo/t-moeoChebyshevMetric.cpp similarity index 98% rename from moeo/test/t-moeoChebyshevMetric.cpp rename to test/moeo/t-moeoChebyshevMetric.cpp index 5037847ea..31b3d7e3c 100755 --- a/moeo/test/t-moeoChebyshevMetric.cpp +++ b/test/moeo/t-moeoChebyshevMetric.cpp @@ -39,8 +39,8 @@ // t-moeoAggregationFitnessAssignment.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include #include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoChebyshevOrientedMetric.cpp b/test/moeo/t-moeoChebyshevOrientedMetric.cpp similarity index 98% rename from moeo/test/t-moeoChebyshevOrientedMetric.cpp rename to test/moeo/t-moeoChebyshevOrientedMetric.cpp index 9d82d18da..48f4abfbd 100755 --- a/moeo/test/t-moeoChebyshevOrientedMetric.cpp +++ b/test/moeo/t-moeoChebyshevOrientedMetric.cpp @@ -39,8 +39,8 @@ // t-moeoAggregationFitnessAssignment.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include #include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoConstraintFitnessAssignment.cpp b/test/moeo/t-moeoConstraintFitnessAssignment.cpp similarity index 98% rename from moeo/test/t-moeoConstraintFitnessAssignment.cpp rename to test/moeo/t-moeoConstraintFitnessAssignment.cpp index 8a0e0a573..aa13df715 100755 --- a/moeo/test/t-moeoConstraintFitnessAssignment.cpp +++ b/test/moeo/t-moeoConstraintFitnessAssignment.cpp @@ -39,8 +39,8 @@ // t-moeoAggregationFitnessAssignment.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include #include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoCrowdingDiversityAssignment.cpp b/test/moeo/t-moeoCrowdingDiversityAssignment.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeoCrowdingDiversityAssignment.cpp rename to test/moeo/t-moeoCrowdingDiversityAssignment.cpp index 5aa17bcad..a719f7c3d --- a/moeo/test/t-moeoCrowdingDiversityAssignment.cpp +++ b/test/moeo/t-moeoCrowdingDiversityAssignment.cpp @@ -37,8 +37,8 @@ // t-moeoCrowdingDiversityAssignment.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoDMLSGenUpdater.cpp b/test/moeo/t-moeoDMLSGenUpdater.cpp old mode 100644 new mode 100755 similarity index 89% rename from moeo/test/t-moeoDMLSGenUpdater.cpp rename to test/moeo/t-moeoDMLSGenUpdater.cpp index 7bc53ed09..c6d480748 --- a/moeo/test/t-moeoDMLSGenUpdater.cpp +++ b/test/moeo/t-moeoDMLSGenUpdater.cpp @@ -28,13 +28,13 @@ Contact: paradiseo-help@lists.gforge.inria.fr */ #include "moeoTestClass.h" -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include #include #include diff --git a/moeo/test/t-moeoDMLSMonOp.cpp b/test/moeo/t-moeoDMLSMonOp.cpp old mode 100644 new mode 100755 similarity index 89% rename from moeo/test/t-moeoDMLSMonOp.cpp rename to test/moeo/t-moeoDMLSMonOp.cpp index 105c5662c..08af0d977 --- a/moeo/test/t-moeoDMLSMonOp.cpp +++ b/test/moeo/t-moeoDMLSMonOp.cpp @@ -32,12 +32,12 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include "moeoTestClass.h" -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include int main(){ diff --git a/moeo/test/t-moeoDetArchiveSelect.cpp b/test/moeo/t-moeoDetArchiveSelect.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeoDetArchiveSelect.cpp rename to test/moeo/t-moeoDetArchiveSelect.cpp index b85085d58..310efd214 --- a/moeo/test/t-moeoDetArchiveSelect.cpp +++ b/test/moeo/t-moeoDetArchiveSelect.cpp @@ -38,8 +38,8 @@ // t-moeoDetArchiveSelect..cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include #include diff --git a/moeo/test/t-moeoDiversityThenFitnessComparator.cpp b/test/moeo/t-moeoDiversityThenFitnessComparator.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeoDiversityThenFitnessComparator.cpp rename to test/moeo/t-moeoDiversityThenFitnessComparator.cpp index 728549055..79e88ba5e --- a/moeo/test/t-moeoDiversityThenFitnessComparator.cpp +++ b/test/moeo/t-moeoDiversityThenFitnessComparator.cpp @@ -37,8 +37,8 @@ // t-moeoDiversityThenFitnessComparator.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoDominanceCountFitnessAssignment.cpp b/test/moeo/t-moeoDominanceCountFitnessAssignment.cpp old mode 100644 new mode 100755 similarity index 96% rename from moeo/test/t-moeoDominanceCountFitnessAssignment.cpp rename to test/moeo/t-moeoDominanceCountFitnessAssignment.cpp index e71c70bf1..c0a6dadfc --- a/moeo/test/t-moeoDominanceCountFitnessAssignment.cpp +++ b/test/moeo/t-moeoDominanceCountFitnessAssignment.cpp @@ -38,8 +38,8 @@ // t-moeoDominanceCountFitnessAssignment.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoDominanceCountRankingFitnessAssignment.cpp b/test/moeo/t-moeoDominanceCountRankingFitnessAssignment.cpp old mode 100644 new mode 100755 similarity index 96% rename from moeo/test/t-moeoDominanceCountRankingFitnessAssignment.cpp rename to test/moeo/t-moeoDominanceCountRankingFitnessAssignment.cpp index 265aaf0dc..ebd08c844 --- a/moeo/test/t-moeoDominanceCountRankingFitnessAssignment.cpp +++ b/test/moeo/t-moeoDominanceCountRankingFitnessAssignment.cpp @@ -38,8 +38,8 @@ // t-moeoDominanceCountRankingFitnessAssignment.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoDominanceDepthFitnessAssignment.cpp b/test/moeo/t-moeoDominanceDepthFitnessAssignment.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeoDominanceDepthFitnessAssignment.cpp rename to test/moeo/t-moeoDominanceDepthFitnessAssignment.cpp index 71fae12dc..da0e0e9e3 --- a/moeo/test/t-moeoDominanceDepthFitnessAssignment.cpp +++ b/test/moeo/t-moeoDominanceDepthFitnessAssignment.cpp @@ -37,8 +37,8 @@ // t-moeoDominanceDepthFitnessAssignment.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoDominanceMatrix.cpp b/test/moeo/t-moeoDominanceMatrix.cpp old mode 100644 new mode 100755 similarity index 95% rename from moeo/test/t-moeoDominanceMatrix.cpp rename to test/moeo/t-moeoDominanceMatrix.cpp index cf533d645..012549321 --- a/moeo/test/t-moeoDominanceMatrix.cpp +++ b/test/moeo/t-moeoDominanceMatrix.cpp @@ -38,8 +38,8 @@ // t-moeoDominanceMatrix.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include #include #include #include diff --git a/moeo/test/t-moeoDominanceRankFitnessAssignment.cpp b/test/moeo/t-moeoDominanceRankFitnessAssignment.cpp old mode 100644 new mode 100755 similarity index 96% rename from moeo/test/t-moeoDominanceRankFitnessAssignment.cpp rename to test/moeo/t-moeoDominanceRankFitnessAssignment.cpp index c59c9510c..2b9fc494d --- a/moeo/test/t-moeoDominanceRankFitnessAssignment.cpp +++ b/test/moeo/t-moeoDominanceRankFitnessAssignment.cpp @@ -38,8 +38,8 @@ // t-moeoDominanceRankFitnessAssignment.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoEasyEA.cpp b/test/moeo/t-moeoEasyEA.cpp old mode 100644 new mode 100755 similarity index 97% rename from moeo/test/t-moeoEasyEA.cpp rename to test/moeo/t-moeoEasyEA.cpp index b378f9f9a..85c33dc0b --- a/moeo/test/t-moeoEasyEA.cpp +++ b/test/moeo/t-moeoEasyEA.cpp @@ -37,10 +37,10 @@ // t-moeoEasyEA.cpp //----------------------------------------------------------------------------- -#include -#include -#include -#include +#include +#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoEpsilonHyperboxArchive.cpp b/test/moeo/t-moeoEpsilonHyperboxArchive.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeoEpsilonHyperboxArchive.cpp rename to test/moeo/t-moeoEpsilonHyperboxArchive.cpp index 071f278a4..62097923e --- a/moeo/test/t-moeoEpsilonHyperboxArchive.cpp +++ b/test/moeo/t-moeoEpsilonHyperboxArchive.cpp @@ -38,8 +38,8 @@ // t-moeoEpsilonHyperboxArchive.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoEpsilonObjectiveVectorComparator.cpp b/test/moeo/t-moeoEpsilonObjectiveVectorComparator.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeoEpsilonObjectiveVectorComparator.cpp rename to test/moeo/t-moeoEpsilonObjectiveVectorComparator.cpp index d7415a451..df6b1f43b --- a/moeo/test/t-moeoEpsilonObjectiveVectorComparator.cpp +++ b/test/moeo/t-moeoEpsilonObjectiveVectorComparator.cpp @@ -37,8 +37,8 @@ // t-moeoEpsilonObjectiveVectorComparator.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoExhaustiveNeighborhoodExplorer.cpp b/test/moeo/t-moeoExhaustiveNeighborhoodExplorer.cpp old mode 100644 new mode 100755 similarity index 100% rename from moeo/test/t-moeoExhaustiveNeighborhoodExplorer.cpp rename to test/moeo/t-moeoExhaustiveNeighborhoodExplorer.cpp diff --git a/moeo/test/t-moeoExhaustiveUnvisitedSelect.cpp b/test/moeo/t-moeoExhaustiveUnvisitedSelect.cpp old mode 100644 new mode 100755 similarity index 95% rename from moeo/test/t-moeoExhaustiveUnvisitedSelect.cpp rename to test/moeo/t-moeoExhaustiveUnvisitedSelect.cpp index 84c6263f0..489fdc244 --- a/moeo/test/t-moeoExhaustiveUnvisitedSelect.cpp +++ b/test/moeo/t-moeoExhaustiveUnvisitedSelect.cpp @@ -31,8 +31,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include -#include +#include +#include "moeoTestClass.h" int main(){ diff --git a/moeo/test/t-moeoExpBinaryIndicatorBasedFitnessAssignment.cpp b/test/moeo/t-moeoExpBinaryIndicatorBasedFitnessAssignment.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeoExpBinaryIndicatorBasedFitnessAssignment.cpp rename to test/moeo/t-moeoExpBinaryIndicatorBasedFitnessAssignment.cpp index f1d91dfd2..ba2e70cea --- a/moeo/test/t-moeoExpBinaryIndicatorBasedFitnessAssignment.cpp +++ b/test/moeo/t-moeoExpBinaryIndicatorBasedFitnessAssignment.cpp @@ -37,8 +37,8 @@ // t-moeoExpBinaryIndicatorBasedFitnessAssignment.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoFirstImprovingNeighborhoodExplorer.cpp b/test/moeo/t-moeoFirstImprovingNeighborhoodExplorer.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeoFirstImprovingNeighborhoodExplorer.cpp rename to test/moeo/t-moeoFirstImprovingNeighborhoodExplorer.cpp index 2cc031fd1..d16fcdb60 --- a/moeo/test/t-moeoFirstImprovingNeighborhoodExplorer.cpp +++ b/test/moeo/t-moeoFirstImprovingNeighborhoodExplorer.cpp @@ -28,7 +28,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr */ #include "moeoTestClass.h" -#include +#include #include #include #include diff --git a/moeo/test/t-moeoFitDivBoundedArchive.cpp b/test/moeo/t-moeoFitDivBoundedArchive.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeoFitDivBoundedArchive.cpp rename to test/moeo/t-moeoFitDivBoundedArchive.cpp index aca7da81d..e5fa1172f --- a/moeo/test/t-moeoFitDivBoundedArchive.cpp +++ b/test/moeo/t-moeoFitDivBoundedArchive.cpp @@ -37,8 +37,8 @@ // t-moeoFitDivBoundedArchive.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include #include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoFitnessThenDiversityComparator.cpp b/test/moeo/t-moeoFitnessThenDiversityComparator.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeoFitnessThenDiversityComparator.cpp rename to test/moeo/t-moeoFitnessThenDiversityComparator.cpp index e7b69ba3e..4afb762a8 --- a/moeo/test/t-moeoFitnessThenDiversityComparator.cpp +++ b/test/moeo/t-moeoFitnessThenDiversityComparator.cpp @@ -37,8 +37,8 @@ // t-moeoFitnessThenDiversityComparator.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoHyperVolumeDifferenceMetric.cpp b/test/moeo/t-moeoHyperVolumeDifferenceMetric.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeoHyperVolumeDifferenceMetric.cpp rename to test/moeo/t-moeoHyperVolumeDifferenceMetric.cpp index 003786f1d..36e3be1de --- a/moeo/test/t-moeoHyperVolumeDifferenceMetric.cpp +++ b/test/moeo/t-moeoHyperVolumeDifferenceMetric.cpp @@ -38,8 +38,8 @@ // t-moeoHyperVolumeDifferenceMetric.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include #include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoHyperVolumeMetric.cpp b/test/moeo/t-moeoHyperVolumeMetric.cpp old mode 100644 new mode 100755 similarity index 99% rename from moeo/test/t-moeoHyperVolumeMetric.cpp rename to test/moeo/t-moeoHyperVolumeMetric.cpp index 1ff7cb9d5..aee15c051 --- a/moeo/test/t-moeoHyperVolumeMetric.cpp +++ b/test/moeo/t-moeoHyperVolumeMetric.cpp @@ -38,8 +38,8 @@ // t-moeoHyperVolumeMetric.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include #include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoIBEA.cpp b/test/moeo/t-moeoIBEA.cpp old mode 100644 new mode 100755 similarity index 96% rename from moeo/test/t-moeoIBEA.cpp rename to test/moeo/t-moeoIBEA.cpp index 89b05fc4f..90428512c --- a/moeo/test/t-moeoIBEA.cpp +++ b/test/moeo/t-moeoIBEA.cpp @@ -37,10 +37,10 @@ // t-moeoIBEA.cpp //----------------------------------------------------------------------------- -#include -#include -#include -#include +#include +#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoImprOnlyBoundedArchive.cpp b/test/moeo/t-moeoImprOnlyBoundedArchive.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeoImprOnlyBoundedArchive.cpp rename to test/moeo/t-moeoImprOnlyBoundedArchive.cpp index 449166cac..ca8d1c69e --- a/moeo/test/t-moeoImprOnlyBoundedArchive.cpp +++ b/test/moeo/t-moeoImprOnlyBoundedArchive.cpp @@ -37,8 +37,8 @@ // t-moeoImprOnlyBoundedArchive.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include #include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoIntVector.cpp b/test/moeo/t-moeoIntVector.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeoIntVector.cpp rename to test/moeo/t-moeoIntVector.cpp index 70e580529..eaaab436b --- a/moeo/test/t-moeoIntVector.cpp +++ b/test/moeo/t-moeoIntVector.cpp @@ -38,8 +38,8 @@ // t-moeoIntVector.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoMOGA.cpp b/test/moeo/t-moeoMOGA.cpp old mode 100644 new mode 100755 similarity index 96% rename from moeo/test/t-moeoMOGA.cpp rename to test/moeo/t-moeoMOGA.cpp index 81ded7713..18139846c --- a/moeo/test/t-moeoMOGA.cpp +++ b/test/moeo/t-moeoMOGA.cpp @@ -37,10 +37,10 @@ // t-moeoMOGA.cpp //----------------------------------------------------------------------------- -#include -#include -#include -#include +#include +#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoMax3Obj.cpp b/test/moeo/t-moeoMax3Obj.cpp old mode 100644 new mode 100755 similarity index 96% rename from moeo/test/t-moeoMax3Obj.cpp rename to test/moeo/t-moeoMax3Obj.cpp index f0ff1471e..e7f43a4b5 --- a/moeo/test/t-moeoMax3Obj.cpp +++ b/test/moeo/t-moeoMax3Obj.cpp @@ -37,10 +37,10 @@ // t-moeoNSGAII.cpp //----------------------------------------------------------------------------- -#include -#include -#include -#include +#include +#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoNSGA.cpp b/test/moeo/t-moeoNSGA.cpp old mode 100644 new mode 100755 similarity index 96% rename from moeo/test/t-moeoNSGA.cpp rename to test/moeo/t-moeoNSGA.cpp index 16b994712..161f7e038 --- a/moeo/test/t-moeoNSGA.cpp +++ b/test/moeo/t-moeoNSGA.cpp @@ -37,10 +37,10 @@ // t-moeoNSGA.cpp //----------------------------------------------------------------------------- -#include -#include -#include -#include +#include +#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoNSGAII.cpp b/test/moeo/t-moeoNSGAII.cpp old mode 100644 new mode 100755 similarity index 96% rename from moeo/test/t-moeoNSGAII.cpp rename to test/moeo/t-moeoNSGAII.cpp index d1139468e..f30b96a9f --- a/moeo/test/t-moeoNSGAII.cpp +++ b/test/moeo/t-moeoNSGAII.cpp @@ -37,10 +37,10 @@ // t-moeoNSGAII.cpp //----------------------------------------------------------------------------- -#include -#include -#include -#include +#include +#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoNearestNeighborDiversityAssignment.cpp b/test/moeo/t-moeoNearestNeighborDiversityAssignment.cpp old mode 100644 new mode 100755 similarity index 96% rename from moeo/test/t-moeoNearestNeighborDiversityAssignment.cpp rename to test/moeo/t-moeoNearestNeighborDiversityAssignment.cpp index d4e0e5ed5..c1cb7dfb0 --- a/moeo/test/t-moeoNearestNeighborDiversityAssignment.cpp +++ b/test/moeo/t-moeoNearestNeighborDiversityAssignment.cpp @@ -38,8 +38,8 @@ // t-moeoNearestNeighborDiversityAssignment.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoNoDesimprovingNeighborhoodExplorer.cpp b/test/moeo/t-moeoNoDesimprovingNeighborhoodExplorer.cpp old mode 100644 new mode 100755 similarity index 97% rename from moeo/test/t-moeoNoDesimprovingNeighborhoodExplorer.cpp rename to test/moeo/t-moeoNoDesimprovingNeighborhoodExplorer.cpp index 90d53d7e1..fce5a97ce --- a/moeo/test/t-moeoNoDesimprovingNeighborhoodExplorer.cpp +++ b/test/moeo/t-moeoNoDesimprovingNeighborhoodExplorer.cpp @@ -32,7 +32,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include "moeoTestClass.h" -#include +#include int main(){ diff --git a/moeo/test/t-moeoNumberUnvisitedSelect.cpp b/test/moeo/t-moeoNumberUnvisitedSelect.cpp old mode 100644 new mode 100755 similarity index 96% rename from moeo/test/t-moeoNumberUnvisitedSelect.cpp rename to test/moeo/t-moeoNumberUnvisitedSelect.cpp index 64e5d2f92..7406aa97e --- a/moeo/test/t-moeoNumberUnvisitedSelect.cpp +++ b/test/moeo/t-moeoNumberUnvisitedSelect.cpp @@ -31,8 +31,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include -#include -#include +#include +#include "moeoTestClass.h" int main(){ diff --git a/moeo/test/t-moeoPLS1.cpp b/test/moeo/t-moeoPLS1.cpp old mode 100644 new mode 100755 similarity index 96% rename from moeo/test/t-moeoPLS1.cpp rename to test/moeo/t-moeoPLS1.cpp index 4d6b1adb2..49900d674 --- a/moeo/test/t-moeoPLS1.cpp +++ b/test/moeo/t-moeoPLS1.cpp @@ -32,9 +32,9 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include "moeoTestClass.h" -#include -#include -#include +#include +#include +#include int main(){ diff --git a/moeo/test/t-moeoPLS2.cpp b/test/moeo/t-moeoPLS2.cpp old mode 100644 new mode 100755 similarity index 96% rename from moeo/test/t-moeoPLS2.cpp rename to test/moeo/t-moeoPLS2.cpp index 1f343ae8f..57820c4c9 --- a/moeo/test/t-moeoPLS2.cpp +++ b/test/moeo/t-moeoPLS2.cpp @@ -32,9 +32,9 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include "moeoTestClass.h" -#include -#include -#include +#include +#include +#include int main(){ diff --git a/moeo/test/t-moeoParetoObjectiveVectorComparator.cpp b/test/moeo/t-moeoParetoObjectiveVectorComparator.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeoParetoObjectiveVectorComparator.cpp rename to test/moeo/t-moeoParetoObjectiveVectorComparator.cpp index 143e3b70e..8a352c356 --- a/moeo/test/t-moeoParetoObjectiveVectorComparator.cpp +++ b/test/moeo/t-moeoParetoObjectiveVectorComparator.cpp @@ -37,8 +37,8 @@ // t-moeoParetoObjectiveVectorComparator.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoQuadTreeArchive.cpp b/test/moeo/t-moeoQuadTreeArchive.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeoQuadTreeArchive.cpp rename to test/moeo/t-moeoQuadTreeArchive.cpp index ab83327d7..83709c0db --- a/moeo/test/t-moeoQuadTreeArchive.cpp +++ b/test/moeo/t-moeoQuadTreeArchive.cpp @@ -37,8 +37,8 @@ // t-moeoEpsilonHyperboxArchive.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include #include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoQuadTreeIndex.cpp b/test/moeo/t-moeoQuadTreeIndex.cpp similarity index 99% rename from moeo/test/t-moeoQuadTreeIndex.cpp rename to test/moeo/t-moeoQuadTreeIndex.cpp index 65c9b1ccc..66eade449 100755 --- a/moeo/test/t-moeoQuadTreeIndex.cpp +++ b/test/moeo/t-moeoQuadTreeIndex.cpp @@ -2,8 +2,8 @@ // t-moeoQuickUnboundedArchive.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoQuickUnboundedArchiveIndex.cpp b/test/moeo/t-moeoQuickUnboundedArchiveIndex.cpp similarity index 98% rename from moeo/test/t-moeoQuickUnboundedArchiveIndex.cpp rename to test/moeo/t-moeoQuickUnboundedArchiveIndex.cpp index ea0d99fe8..cc84385ef 100755 --- a/moeo/test/t-moeoQuickUnboundedArchiveIndex.cpp +++ b/test/moeo/t-moeoQuickUnboundedArchiveIndex.cpp @@ -2,8 +2,8 @@ // t-moeoQuickUnboundedArchive.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoRealVector.cpp b/test/moeo/t-moeoRealVector.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeoRealVector.cpp rename to test/moeo/t-moeoRealVector.cpp index 1d17853f6..1ab3cbbd1 --- a/moeo/test/t-moeoRealVector.cpp +++ b/test/moeo/t-moeoRealVector.cpp @@ -37,8 +37,8 @@ // t-moeoRealVector.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoSEEA.cpp b/test/moeo/t-moeoSEEA.cpp old mode 100644 new mode 100755 similarity index 93% rename from moeo/test/t-moeoSEEA.cpp rename to test/moeo/t-moeoSEEA.cpp index 1e58ba972..41e08d891 --- a/moeo/test/t-moeoSEEA.cpp +++ b/test/moeo/t-moeoSEEA.cpp @@ -37,10 +37,10 @@ // t-moeoSEEA.cpp //----------------------------------------------------------------------------- -#include -#include -#include -#include +#include +#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoSPEA2.cpp b/test/moeo/t-moeoSPEA2.cpp old mode 100644 new mode 100755 similarity index 94% rename from moeo/test/t-moeoSPEA2.cpp rename to test/moeo/t-moeoSPEA2.cpp index 3e2a27183..47ea30b2b --- a/moeo/test/t-moeoSPEA2.cpp +++ b/test/moeo/t-moeoSPEA2.cpp @@ -38,10 +38,10 @@ // t-moeoSPEA2.cpp //----------------------------------------------------------------------------- -#include -#include -#include -#include +#include +#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoSPEA2Archive.cpp b/test/moeo/t-moeoSPEA2Archive.cpp old mode 100644 new mode 100755 similarity index 96% rename from moeo/test/t-moeoSPEA2Archive.cpp rename to test/moeo/t-moeoSPEA2Archive.cpp index 8fb094510..4daa584ba --- a/moeo/test/t-moeoSPEA2Archive.cpp +++ b/test/moeo/t-moeoSPEA2Archive.cpp @@ -38,8 +38,8 @@ // t-moeoSPEA2Archive.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoSharingDiversityAssignment.cpp b/test/moeo/t-moeoSharingDiversityAssignment.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeoSharingDiversityAssignment.cpp rename to test/moeo/t-moeoSharingDiversityAssignment.cpp index 1dd3973fa..1b701b689 --- a/moeo/test/t-moeoSharingDiversityAssignment.cpp +++ b/test/moeo/t-moeoSharingDiversityAssignment.cpp @@ -37,8 +37,8 @@ // t-moeoSharingDiversityAssignment.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoSimpleSubNeighborhoodExplorer.cpp b/test/moeo/t-moeoSimpleSubNeighborhoodExplorer.cpp old mode 100644 new mode 100755 similarity index 97% rename from moeo/test/t-moeoSimpleSubNeighborhoodExplorer.cpp rename to test/moeo/t-moeoSimpleSubNeighborhoodExplorer.cpp index ab4e12fe3..8e72f5c48 --- a/moeo/test/t-moeoSimpleSubNeighborhoodExplorer.cpp +++ b/test/moeo/t-moeoSimpleSubNeighborhoodExplorer.cpp @@ -32,7 +32,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include "moeoTestClass.h" -#include +#include int main(){ diff --git a/moeo/test/t-moeoStrictObjectiveVectorComparator.cpp b/test/moeo/t-moeoStrictObjectiveVectorComparator.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeoStrictObjectiveVectorComparator.cpp rename to test/moeo/t-moeoStrictObjectiveVectorComparator.cpp index b36302f80..24be23fec --- a/moeo/test/t-moeoStrictObjectiveVectorComparator.cpp +++ b/test/moeo/t-moeoStrictObjectiveVectorComparator.cpp @@ -37,8 +37,8 @@ // t-moeoStrictObjectiveVectorComparator.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoUnboundedArchive.cpp b/test/moeo/t-moeoUnboundedArchive.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeoUnboundedArchive.cpp rename to test/moeo/t-moeoUnboundedArchive.cpp index 5c4d8f180..25746ac29 --- a/moeo/test/t-moeoUnboundedArchive.cpp +++ b/test/moeo/t-moeoUnboundedArchive.cpp @@ -37,8 +37,8 @@ // t-moeoUnboundedArchive.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoVecVsVecAdditiveEpsilonBinaryMetric.cpp b/test/moeo/t-moeoVecVsVecAdditiveEpsilonBinaryMetric.cpp old mode 100644 new mode 100755 similarity index 99% rename from moeo/test/t-moeoVecVsVecAdditiveEpsilonBinaryMetric.cpp rename to test/moeo/t-moeoVecVsVecAdditiveEpsilonBinaryMetric.cpp index db2500f97..dcd990cce --- a/moeo/test/t-moeoVecVsVecAdditiveEpsilonBinaryMetric.cpp +++ b/test/moeo/t-moeoVecVsVecAdditiveEpsilonBinaryMetric.cpp @@ -38,8 +38,8 @@ // t-moeoVecVsVecAdditiveEpsilonBinaryMetric.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include #include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoVecVsVecMultiplicativeEpsilonBinaryMetric.cpp b/test/moeo/t-moeoVecVsVecMultiplicativeEpsilonBinaryMetric.cpp old mode 100644 new mode 100755 similarity index 99% rename from moeo/test/t-moeoVecVsVecMultiplicativeEpsilonBinaryMetric.cpp rename to test/moeo/t-moeoVecVsVecMultiplicativeEpsilonBinaryMetric.cpp index cd22abfcd..5ade90235 --- a/moeo/test/t-moeoVecVsVecMultiplicativeEpsilonBinaryMetric.cpp +++ b/test/moeo/t-moeoVecVsVecMultiplicativeEpsilonBinaryMetric.cpp @@ -38,8 +38,8 @@ // t-moeoVecVsVecMultiplicativeEpsilonBinaryMetric.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include #include //----------------------------------------------------------------------------- diff --git a/moeo/test/t-moeoWeakObjectiveVectorComparator.cpp b/test/moeo/t-moeoWeakObjectiveVectorComparator.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/test/t-moeoWeakObjectiveVectorComparator.cpp rename to test/moeo/t-moeoWeakObjectiveVectorComparator.cpp index 9ff0f89ab..2ec1e3b7b --- a/moeo/test/t-moeoWeakObjectiveVectorComparator.cpp +++ b/test/moeo/t-moeoWeakObjectiveVectorComparator.cpp @@ -37,8 +37,8 @@ // t-moeoWeakObjectiveVectorComparator.cpp //----------------------------------------------------------------------------- -#include -#include +#include +#include //----------------------------------------------------------------------------- diff --git a/smp/test/CMakeLists.txt b/test/smp/CMakeLists.txt old mode 100644 new mode 100755 similarity index 81% rename from smp/test/CMakeLists.txt rename to test/smp/CMakeLists.txt index b855a1e4f..e354a11e4 --- a/smp/test/CMakeLists.txt +++ b/test/smp/CMakeLists.txt @@ -2,9 +2,9 @@ ### 0) Include headers ###################################################################################### -include_directories(${EO_SRC_DIR}/src) -include_directories(${SMP_SRC_DIR}/src) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +#include_directories(${EO_SRC_DIR}/src) +#include_directories(${SMP_SRC_DIR}/src) +#include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ###################################################################################### ### 1) Define test list @@ -32,23 +32,23 @@ foreach (test ${TEST_LIST}) add_executable(${test} ${T_${test}_SOURCES}) target_link_libraries(${test} smp eo eoutils) add_test(${test} ${test}) - install(TARGETS ${test} RUNTIME DESTINATION share${INSTALL_SUB_DIR}/smp/test COMPONENT tests) + install(TARGETS ${test} RUNTIME DESTINATION share/${PROJECT_TAG}/smp/test COMPONENT tests) endforeach (test) execute_process( COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/t-data.dat ${CMAKE_CURRENT_BINARY_DIR}/t-data.dat) -install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/t-data.dat DESTINATION share${INSTALL_SUB_DIR}/smp/test COMPONENT tests) +install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/t-data.dat DESTINATION share/${PROJECT_TAG}/smp/test COMPONENT tests) execute_process( COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/data-topo-bool ${CMAKE_CURRENT_BINARY_DIR}/data-topo-bool) -install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/data-topo-bool DESTINATION share${INSTALL_SUB_DIR}/smp/test COMPONENT tests) +install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/data-topo-bool DESTINATION share/${PROJECT_TAG}/smp/test COMPONENT tests) execute_process( COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/data-topo-stoch ${CMAKE_CURRENT_BINARY_DIR}/data-topo-stoch) -install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/data-topo-stoch DESTINATION share${INSTALL_SUB_DIR}/smp/test COMPONENT tests) +install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/data-topo-stoch DESTINATION share/${PROJECT_TAG}/smp/test COMPONENT tests) diff --git a/smp/test/data-topo-bool b/test/smp/data-topo-bool old mode 100644 new mode 100755 similarity index 100% rename from smp/test/data-topo-bool rename to test/smp/data-topo-bool diff --git a/smp/test/data-topo-stoch b/test/smp/data-topo-stoch old mode 100644 new mode 100755 similarity index 100% rename from smp/test/data-topo-stoch rename to test/smp/data-topo-stoch diff --git a/smp/test/smpTestClass.h b/test/smp/smpTestClass.h old mode 100644 new mode 100755 similarity index 100% rename from smp/test/smpTestClass.h rename to test/smp/smpTestClass.h diff --git a/smp/test/t-data.dat b/test/smp/t-data.dat similarity index 100% rename from smp/test/t-data.dat rename to test/smp/t-data.dat diff --git a/smp/test/t-smpCustomTopo.cpp b/test/smp/t-smpCustomTopo.cpp old mode 100644 new mode 100755 similarity index 96% rename from smp/test/t-smpCustomTopo.cpp rename to test/smp/t-smpCustomTopo.cpp index 13f0e4fed..dfe1946b4 --- a/smp/test/t-smpCustomTopo.cpp +++ b/test/smp/t-smpCustomTopo.cpp @@ -1,5 +1,5 @@ -#include -#include +#include +#include #include #include #include diff --git a/smp/test/t-smpIsland.cpp b/test/smp/t-smpIsland.cpp old mode 100644 new mode 100755 similarity index 98% rename from smp/test/t-smpIsland.cpp rename to test/smp/t-smpIsland.cpp index a24730110..ce7245c3f --- a/smp/test/t-smpIsland.cpp +++ b/test/smp/t-smpIsland.cpp @@ -1,5 +1,5 @@ -#include -#include +#include +#include #include "smpTestClass.h" diff --git a/smp/test/t-smpMI_Heterogeneous.cpp b/test/smp/t-smpMI_Heterogeneous.cpp old mode 100644 new mode 100755 similarity index 98% rename from smp/test/t-smpMI_Heterogeneous.cpp rename to test/smp/t-smpMI_Heterogeneous.cpp index f3a0e6265..036123235 --- a/smp/test/t-smpMI_Heterogeneous.cpp +++ b/test/smp/t-smpMI_Heterogeneous.cpp @@ -1,6 +1,6 @@ -#include -#include -#include +#include +#include +#include #include "smpTestClass.h" diff --git a/smp/test/t-smpMI_Homogeneous.cpp b/test/smp/t-smpMI_Homogeneous.cpp old mode 100644 new mode 100755 similarity index 98% rename from smp/test/t-smpMI_Homogeneous.cpp rename to test/smp/t-smpMI_Homogeneous.cpp index 4c82ac504..c63853614 --- a/smp/test/t-smpMI_Homogeneous.cpp +++ b/test/smp/t-smpMI_Homogeneous.cpp @@ -1,5 +1,5 @@ -#include -#include +#include +#include #include "smpTestClass.h" diff --git a/smp/test/t-smpMI_Wrapper.cpp b/test/smp/t-smpMI_Wrapper.cpp old mode 100644 new mode 100755 similarity index 97% rename from smp/test/t-smpMI_Wrapper.cpp rename to test/smp/t-smpMI_Wrapper.cpp index 47da29ad1..8f329d076 --- a/smp/test/t-smpMI_Wrapper.cpp +++ b/test/smp/t-smpMI_Wrapper.cpp @@ -1,5 +1,5 @@ -#include -#include +#include +#include #include "smpTestClass.h" diff --git a/smp/test/t-smpMW_eoEasyEA.cpp b/test/smp/t-smpMW_eoEasyEA.cpp old mode 100644 new mode 100755 similarity index 96% rename from smp/test/t-smpMW_eoEasyEA.cpp rename to test/smp/t-smpMW_eoEasyEA.cpp index a3cd1ba02..10d467c61 --- a/smp/test/t-smpMW_eoEasyEA.cpp +++ b/test/smp/t-smpMW_eoEasyEA.cpp @@ -1,6 +1,6 @@ -#include +#include #include -#include +#include #include "smpTestClass.h" diff --git a/smp/test/t-smpMW_eoEasyPSO.cpp b/test/smp/t-smpMW_eoEasyPSO.cpp old mode 100644 new mode 100755 similarity index 98% rename from smp/test/t-smpMW_eoEasyPSO.cpp rename to test/smp/t-smpMW_eoEasyPSO.cpp index 50a64e6fa..00ad56568 --- a/smp/test/t-smpMW_eoEasyPSO.cpp +++ b/test/smp/t-smpMW_eoEasyPSO.cpp @@ -9,8 +9,8 @@ #include #include -#include -#include +#include +#include // Use functions from namespace std using namespace std; diff --git a/smp/test/t-smpMW_eoSyncEasyPSO.cpp b/test/smp/t-smpMW_eoSyncEasyPSO.cpp old mode 100644 new mode 100755 similarity index 98% rename from smp/test/t-smpMW_eoSyncEasyPSO.cpp rename to test/smp/t-smpMW_eoSyncEasyPSO.cpp index 67dad79e2..2cfa6c100 --- a/smp/test/t-smpMW_eoSyncEasyPSO.cpp +++ b/test/smp/t-smpMW_eoSyncEasyPSO.cpp @@ -9,8 +9,8 @@ #include #include -#include -#include +#include +#include // Use functions from namespace std using namespace std; diff --git a/smp/test/t-smpScheduler.cpp b/test/smp/t-smpScheduler.cpp old mode 100644 new mode 100755 similarity index 92% rename from smp/test/t-smpScheduler.cpp rename to test/smp/t-smpScheduler.cpp index 2194978c6..796ded5c5 --- a/smp/test/t-smpScheduler.cpp +++ b/test/smp/t-smpScheduler.cpp @@ -2,8 +2,8 @@ #include #include -#include -#include +#include +#include #include "smpTestClass.h" diff --git a/smp/test/t-smpTopo.cpp b/test/smp/t-smpTopo.cpp old mode 100644 new mode 100755 similarity index 99% rename from smp/test/t-smpTopo.cpp rename to test/smp/t-smpTopo.cpp index 075c7c6d7..72ad39748 --- a/smp/test/t-smpTopo.cpp +++ b/test/smp/t-smpTopo.cpp @@ -1,4 +1,4 @@ -#include +#include #include #include #include diff --git a/tutorial/CMakeLists.txt b/tutorial/CMakeLists.txt new file mode 100755 index 000000000..c635cd080 --- /dev/null +++ b/tutorial/CMakeLists.txt @@ -0,0 +1,58 @@ +## EO Module +if(${CMAKE_VERBOSE_MAKEFILE}) + message("EO examples:") +endif(${CMAKE_VERBOSE_MAKEFILE}) +add_subdirectory(${EO_TUTORIAL_DIR}) + +if(NOT EO_ONLY) + + ## MO Module + if(MO) + if(${CMAKE_VERBOSE_MAKEFILE}) + message("MO examples:") + endif(${CMAKE_VERBOSE_MAKEFILE}) + add_subdirectory(${MO_TUTORIAL_DIR}) + endif(MO) + + ## EDO Module + if(EDO) + if(${CMAKE_VERBOSE_MAKEFILE}) + message("EDO examples:") + endif(${CMAKE_VERBOSE_MAKEFILE}) + add_subdirectory(${EDO_TUTORIAL_DIR}) + + endif(EDO) + + ## MOEO Module + if(MOEO) + if(${CMAKE_VERBOSE_MAKEFILE}) + message("MOEO examples:") + endif(${CMAKE_VERBOSE_MAKEFILE}) + add_subdirectory(${MOEO_TUTORIAL_DIR}) + endif(MOEO) + + ## SMP Module + if(SMP) + if(${CMAKE_VERBOSE_MAKEFILE}) + message("SMP examples:") + endif(${CMAKE_VERBOSE_MAKEFILE}) + add_subdirectory(${SMP_TUTORIAL_DIR}) + endif(SMP) + + ## EOMPI Module + #if(EOMPI) + # if(${CMAKE_VERBOSE_MAKEFILE}) + # message("EOMPI examples:") + # endif(${CMAKE_VERBOSE_MAKEFILE}) + # add_subdirectory(${EOMPI_TUTORIAL_DIR}) + #endif(EOMPI) + + ## EOSERIAL Module + #if(EOSERIAL) + # if(${CMAKE_VERBOSE_MAKEFILE}) + # message("EOSERIAL examples:") + # endif(${CMAKE_VERBOSE_MAKEFILE}) + # add_subdirectory(${EOSERIAL_TUTORIAL_DIR}) + #endif(EOSERIAL) + +endif() \ No newline at end of file diff --git a/edo/application/CMakeLists.txt b/tutorial/edo/CMakeLists.txt old mode 100644 new mode 100755 similarity index 93% rename from edo/application/CMakeLists.txt rename to tutorial/edo/CMakeLists.txt index 4b871f042..2edbae7c6 --- a/edo/application/CMakeLists.txt +++ b/tutorial/edo/CMakeLists.txt @@ -3,7 +3,7 @@ ###################################################################################### include_directories( - ${CMAKE_CURRENT_SOURCE_DIR}/common + #${CMAKE_CURRENT_SOURCE_DIR}/common ) include_directories(${EIGEN3_INCLUDE_DIR}) diff --git a/tutorial/edo/COPYING b/tutorial/edo/COPYING new file mode 100755 index 000000000..d4537832c --- /dev/null +++ b/tutorial/edo/COPYING @@ -0,0 +1,502 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/edo/application/cmaes/CMakeLists.txt b/tutorial/edo/cmaes/CMakeLists.txt old mode 100644 new mode 100755 similarity index 73% rename from edo/application/cmaes/CMakeLists.txt rename to tutorial/edo/cmaes/CMakeLists.txt index 3fb2b0466..89cd51c51 --- a/edo/application/cmaes/CMakeLists.txt +++ b/tutorial/edo/cmaes/CMakeLists.txt @@ -7,14 +7,14 @@ include_directories( ${EIGEN3_INCLUDE_DIR} ) #message( "MESSAGE:" ${EIGEN3_INCLUDE_DIR} ) #find_package(Boost 1.33.0) -include_directories(${Boost_INCLUDE_DIRS}) +#include_directories(${Boost_INCLUDE_DIRS}) link_directories(${Boost_LIBRARY_DIRS}) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) -include_directories(${EO_SRC_DIR}/src) -include_directories(${EDO_SRC_DIR}/src) -link_directories(${EO_BIN_DIRS}/${LIB}) -link_directories(${EDO_BIN_DIRS}/${LIB}) +#include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +#include_directories(${EO_SRC_DIR}/src) +#include_directories(${EDO_SRC_DIR}/src) +#link_directories(${EO_BIN_DIRS}/${LIB}) +#link_directories(${EDO_BIN_DIRS}/${LIB}) # set(RESOURCES # ${PROJECT_NAME}.param diff --git a/edo/application/cmaes/main.cpp b/tutorial/edo/cmaes/main.cpp old mode 100644 new mode 100755 similarity index 93% rename from edo/application/cmaes/main.cpp rename to tutorial/edo/cmaes/main.cpp index ed7f10a44..41ecda5b4 --- a/edo/application/cmaes/main.cpp +++ b/tutorial/edo/cmaes/main.cpp @@ -25,20 +25,20 @@ Copyright (C) 2010 Thales group Caner Candan */ -#include -//#include +#include +//#include -#include +#include -#include -#include -#include -#include +#include +#include +#include +#include -#include +#include -#include "Rosenbrock.h" -#include "Sphere.h" +#include "../common/Rosenbrock.h" +#include "../common/Sphere.h" typedef eoReal RealVec; diff --git a/edo/application/common/CMakeLists.txt b/tutorial/edo/common/CMakeLists.txt old mode 100644 new mode 100755 similarity index 100% rename from edo/application/common/CMakeLists.txt rename to tutorial/edo/common/CMakeLists.txt diff --git a/edo/application/common/Rosenbrock.h b/tutorial/edo/common/Rosenbrock.h old mode 100644 new mode 100755 similarity index 58% rename from edo/application/common/Rosenbrock.h rename to tutorial/edo/common/Rosenbrock.h index c21a8ccea..a6b333728 --- a/edo/application/common/Rosenbrock.h +++ b/tutorial/edo/common/Rosenbrock.h @@ -1,15 +1,15 @@ #ifndef _Rosenbrock_h #define _Rosenbrock_h -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include template < typename EOT > class Rosenbrock : public eoEvalFunc< EOT > diff --git a/edo/application/common/Sphere.h b/tutorial/edo/common/Sphere.h old mode 100644 new mode 100755 similarity index 57% rename from edo/application/common/Sphere.h rename to tutorial/edo/common/Sphere.h index 1e73b3eaf..0d5c8de3f --- a/edo/application/common/Sphere.h +++ b/tutorial/edo/common/Sphere.h @@ -1,15 +1,15 @@ #ifndef _Sphere_h #define _Sphere_h -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include template < typename EOT > class Sphere : public eoEvalFunc< EOT > diff --git a/edo/application/common/boxplot_eda_n_edasa.py b/tutorial/edo/common/boxplot_eda_n_edasa.py similarity index 100% rename from edo/application/common/boxplot_eda_n_edasa.py rename to tutorial/edo/common/boxplot_eda_n_edasa.py diff --git a/edo/application/common/ggobi.py b/tutorial/edo/common/ggobi.py similarity index 100% rename from edo/application/common/ggobi.py rename to tutorial/edo/common/ggobi.py diff --git a/edo/application/common/gplot.py b/tutorial/edo/common/gplot.py similarity index 100% rename from edo/application/common/gplot.py rename to tutorial/edo/common/gplot.py diff --git a/edo/application/eda/CMakeLists.txt b/tutorial/edo/eda/CMakeLists.txt old mode 100644 new mode 100755 similarity index 82% rename from edo/application/eda/CMakeLists.txt rename to tutorial/edo/eda/CMakeLists.txt index fe1ee606f..0f600d5aa --- a/edo/application/eda/CMakeLists.txt +++ b/tutorial/edo/eda/CMakeLists.txt @@ -2,14 +2,14 @@ project(eda) find_package(Boost 1.33.0) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +#include_directories(${CMAKE_CURRENT_SOURCE_DIR}) include_directories(${Boost_INCLUDE_DIRS}) link_directories(${Boost_LIBRARY_DIRS}) -include_directories(${EO_SRC_DIR}/src) +#include_directories(${EO_SRC_DIR}/src) link_directories(${EO_BIN_DIR}/${LIB}) -include_directories(${EDO_SRC_DIR}/src) +#include_directories(${EDO_SRC_DIR}/src) link_directories(${EDO_BIN_DIR}/${LIB}) set(RESOURCES diff --git a/edo/application/eda/eda.param b/tutorial/edo/eda/eda.param old mode 100644 new mode 100755 similarity index 100% rename from edo/application/eda/eda.param rename to tutorial/edo/eda/eda.param diff --git a/edo/application/eda/main.cpp b/tutorial/edo/eda/main.cpp old mode 100644 new mode 100755 similarity index 94% rename from edo/application/eda/main.cpp rename to tutorial/edo/eda/main.cpp index 6e024545b..3328a5ec3 --- a/edo/application/eda/main.cpp +++ b/tutorial/edo/eda/main.cpp @@ -25,20 +25,20 @@ Copyright (C) 2010 Thales group Caner Candan */ -#include +#include // #include -#include +#include -#include -#include -#include -#include +#include +#include +#include +#include -#include +#include -#include "Rosenbrock.h" -#include "Sphere.h" +#include "../common/Rosenbrock.h" +#include "../common/Sphere.h" typedef eoReal EOT; diff --git a/edo/application/eda_sa/CMakeLists.txt b/tutorial/edo/eda_sa/CMakeLists.txt old mode 100644 new mode 100755 similarity index 92% rename from edo/application/eda_sa/CMakeLists.txt rename to tutorial/edo/eda_sa/CMakeLists.txt index 5cfb550fc..f1486a9de --- a/edo/application/eda_sa/CMakeLists.txt +++ b/tutorial/edo/eda_sa/CMakeLists.txt @@ -2,7 +2,7 @@ PROJECT(eda_sa) FIND_PACKAGE(Boost 1.33.0) -INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) +#INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS}) LINK_DIRECTORIES(${Boost_LIBRARY_DIRS}) diff --git a/edo/application/eda_sa/eda_sa.param b/tutorial/edo/eda_sa/eda_sa.param old mode 100644 new mode 100755 similarity index 100% rename from edo/application/eda_sa/eda_sa.param rename to tutorial/edo/eda_sa/eda_sa.param diff --git a/edo/application/eda_sa/main.cpp b/tutorial/edo/eda_sa/main.cpp old mode 100644 new mode 100755 similarity index 96% rename from edo/application/eda_sa/main.cpp rename to tutorial/edo/eda_sa/main.cpp index eac52e182..55b49c6ab --- a/edo/application/eda_sa/main.cpp +++ b/tutorial/edo/eda_sa/main.cpp @@ -1,17 +1,17 @@ -#include -#include +#include +#include -#include +#include -#include -#include -#include -#include +#include +#include +#include +#include -#include +#include -#include "Rosenbrock.h" -#include "Sphere.h" +#include "../common/Rosenbrock.h" +#include "../common/Sphere.h" typedef eoReal EOT; diff --git a/eo/tutorial/CMakeLists.txt b/tutorial/eo/CMakeLists.txt old mode 100644 new mode 100755 similarity index 92% rename from eo/tutorial/CMakeLists.txt rename to tutorial/eo/CMakeLists.txt index 4573f0b4d..d3f0828a2 --- a/eo/tutorial/CMakeLists.txt +++ b/tutorial/eo/CMakeLists.txt @@ -9,4 +9,6 @@ ADD_SUBDIRECTORY(Lesson4) ADD_SUBDIRECTORY(Lesson5) ADD_SUBDIRECTORY(Lesson6) +ADD_SUBDIRECTORY(app) # deprecated + ###################################################################################### diff --git a/tutorial/eo/LICENSE b/tutorial/eo/LICENSE new file mode 100755 index 000000000..b8df7fd44 --- /dev/null +++ b/tutorial/eo/LICENSE @@ -0,0 +1,502 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/eo/tutorial/Lesson1/CMakeLists.txt b/tutorial/eo/Lesson1/CMakeLists.txt old mode 100644 new mode 100755 similarity index 83% rename from eo/tutorial/Lesson1/CMakeLists.txt rename to tutorial/eo/Lesson1/CMakeLists.txt index 2a0beac7a..461eb3914 --- a/eo/tutorial/Lesson1/CMakeLists.txt +++ b/tutorial/eo/Lesson1/CMakeLists.txt @@ -2,9 +2,9 @@ ### 1) Include the sources ###################################################################################### -include_directories(${EO_SRC_DIR}/src) -include_directories(${EO_SRC_DIR}/src/ga) -include_directories(${EO_SRC_DIR}/src/utils) +#include_directories(${EO_SRC_DIR}/src) +#include_directories(${EO_SRC_DIR}/src/ga) +#include_directories(${EO_SRC_DIR}/src/utils) ###################################################################################### ### 2) Specify where CMake can find the libraries @@ -57,8 +57,8 @@ target_link_libraries(exercise1.3 ga eo eoutils) ### 6) Configure project installation paths ###################################################################################### -install(TARGETS FirstBitGA RUNTIME DESTINATION share${INSTALL_SUB_DIR}/eo/examples/Lesson1 COMPONENT examples) -install(TARGETS FirstRealGA RUNTIME DESTINATION share${INSTALL_SUB_DIR}/eo/examples/Lesson1 COMPONENT examples) -install(TARGETS exercise1.3 RUNTIME DESTINATION share${INSTALL_SUB_DIR}/eo/examples/Lesson1 COMPONENT examples) +install(TARGETS FirstBitGA RUNTIME DESTINATION share/${PROJECT_TAG}/eo/examples/Lesson1 COMPONENT examples) +install(TARGETS FirstRealGA RUNTIME DESTINATION share/${PROJECT_TAG}/eo/examples/Lesson1 COMPONENT examples) +install(TARGETS exercise1.3 RUNTIME DESTINATION share/${PROJECT_TAG}/eo/examples/Lesson1 COMPONENT examples) ###################################################################################### diff --git a/eo/tutorial/Lesson1/FirstBitGA.cpp b/tutorial/eo/Lesson1/FirstBitGA.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/tutorial/Lesson1/FirstBitGA.cpp rename to tutorial/eo/Lesson1/FirstBitGA.cpp index cc187a81e..c96241d9d --- a/eo/tutorial/Lesson1/FirstBitGA.cpp +++ b/tutorial/eo/Lesson1/FirstBitGA.cpp @@ -13,8 +13,8 @@ #include #include -#include -#include +#include +#include // Use functions from namespace std using namespace std; diff --git a/eo/tutorial/Lesson1/FirstRealGA.cpp b/tutorial/eo/Lesson1/FirstRealGA.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/tutorial/Lesson1/FirstRealGA.cpp rename to tutorial/eo/Lesson1/FirstRealGA.cpp index 074c5ae86..0f968b36d --- a/eo/tutorial/Lesson1/FirstRealGA.cpp +++ b/tutorial/eo/Lesson1/FirstRealGA.cpp @@ -13,8 +13,8 @@ #include #include -#include -#include +#include +#include // Use functions from namespace std using namespace std; diff --git a/eo/tutorial/Lesson1/Makefile.simple b/tutorial/eo/Lesson1/Makefile.simple old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Lesson1/Makefile.simple rename to tutorial/eo/Lesson1/Makefile.simple diff --git a/eo/tutorial/Lesson1/exercise1.3.cpp b/tutorial/eo/Lesson1/exercise1.3.cpp old mode 100644 new mode 100755 similarity index 97% rename from eo/tutorial/Lesson1/exercise1.3.cpp rename to tutorial/eo/Lesson1/exercise1.3.cpp index 89965d511..599ac13f6 --- a/eo/tutorial/Lesson1/exercise1.3.cpp +++ b/tutorial/eo/Lesson1/exercise1.3.cpp @@ -14,11 +14,11 @@ #include // the general include for eo -#include +#include //----------------------------------------------------------------------------- // Include the corresponding file -#include // bitstring representation & operators +#include // bitstring representation & operators // define your individuals typedef eoBit Indi; // A bitstring with fitness double diff --git a/eo/tutorial/Lesson2/CMakeLists.txt b/tutorial/eo/Lesson2/CMakeLists.txt old mode 100644 new mode 100755 similarity index 83% rename from eo/tutorial/Lesson2/CMakeLists.txt rename to tutorial/eo/Lesson2/CMakeLists.txt index 4021fc56d..3c89bcd84 --- a/eo/tutorial/Lesson2/CMakeLists.txt +++ b/tutorial/eo/Lesson2/CMakeLists.txt @@ -2,9 +2,9 @@ ### 1) Include the sources ###################################################################################### -include_directories(${EO_SRC_DIR}/src) -include_directories(${EO_SRC_DIR}/src/ga) -include_directories(${EO_SRC_DIR}/src/utils) +#include_directories(${EO_SRC_DIR}/src) +#include_directories(${EO_SRC_DIR}/src/ga) +#include_directories(${EO_SRC_DIR}/src/utils) ###################################################################################### ### 2) Specify where CMake can find the libraries @@ -53,8 +53,8 @@ target_link_libraries(exercise2.3 ga eo eoutils) ### 6) Configure project installation paths ###################################################################################### -install(TARGETS FirstBitEA RUNTIME DESTINATION share${INSTALL_SUB_DIR}/eo/examples/Lesson2 COMPONENT examples) -install(TARGETS FirstRealEA RUNTIME DESTINATION share${INSTALL_SUB_DIR}/eo/examples/Lesson2 COMPONENT examples) -install(TARGETS exercise2.3 RUNTIME DESTINATION share${INSTALL_SUB_DIR}/eo/examples/Lesson2 COMPONENT examples) +install(TARGETS FirstBitEA RUNTIME DESTINATION share/${PROJECT_TAG}/eo/examples/Lesson2 COMPONENT examples) +install(TARGETS FirstRealEA RUNTIME DESTINATION share/${PROJECT_TAG}/eo/examples/Lesson2 COMPONENT examples) +install(TARGETS exercise2.3 RUNTIME DESTINATION share/${PROJECT_TAG}/eo/examples/Lesson2 COMPONENT examples) ###################################################################################### diff --git a/eo/tutorial/Lesson2/FirstBitEA.cpp b/tutorial/eo/Lesson2/FirstBitEA.cpp old mode 100644 new mode 100755 similarity index 99% rename from eo/tutorial/Lesson2/FirstBitEA.cpp rename to tutorial/eo/Lesson2/FirstBitEA.cpp index dfb98bb12..dde30b275 --- a/eo/tutorial/Lesson2/FirstBitEA.cpp +++ b/tutorial/eo/Lesson2/FirstBitEA.cpp @@ -15,8 +15,8 @@ #include // cout // the general include for eo -#include -#include +#include +#include // Use functions from namespace std using namespace std; diff --git a/eo/tutorial/Lesson2/FirstRealEA.cpp b/tutorial/eo/Lesson2/FirstRealEA.cpp old mode 100644 new mode 100755 similarity index 99% rename from eo/tutorial/Lesson2/FirstRealEA.cpp rename to tutorial/eo/Lesson2/FirstRealEA.cpp index 2d22e5756..a78fa92f3 --- a/eo/tutorial/Lesson2/FirstRealEA.cpp +++ b/tutorial/eo/Lesson2/FirstRealEA.cpp @@ -15,8 +15,8 @@ #include // cout // the general include for eo -#include -#include +#include +#include // REPRESENTATION //----------------------------------------------------------------------------- diff --git a/eo/tutorial/Lesson2/Makefile.simple b/tutorial/eo/Lesson2/Makefile.simple old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Lesson2/Makefile.simple rename to tutorial/eo/Lesson2/Makefile.simple diff --git a/eo/tutorial/Lesson2/binary_value.h b/tutorial/eo/Lesson2/binary_value.h old mode 100644 new mode 100755 similarity index 93% rename from eo/tutorial/Lesson2/binary_value.h rename to tutorial/eo/Lesson2/binary_value.h index 66d2823ec..72820b8cd --- a/eo/tutorial/Lesson2/binary_value.h +++ b/tutorial/eo/Lesson2/binary_value.h @@ -1,4 +1,4 @@ -#include +#include //----------------------------------------------------------------------------- diff --git a/eo/tutorial/Lesson2/exercise2.3.cpp b/tutorial/eo/Lesson2/exercise2.3.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/tutorial/Lesson2/exercise2.3.cpp rename to tutorial/eo/Lesson2/exercise2.3.cpp index 0768450db..57555a8be --- a/eo/tutorial/Lesson2/exercise2.3.cpp +++ b/tutorial/eo/Lesson2/exercise2.3.cpp @@ -15,12 +15,12 @@ #include // cout // the general include for eo -#include +#include // REPRESENTATION //----------------------------------------------------------------------------- // Include the corresponding file -#include // bitstring representation & operators +#include // bitstring representation & operators // define your individuals typedef eoBit Indi; // A bitstring with fitness double diff --git a/eo/tutorial/Lesson2/real_value.h b/tutorial/eo/Lesson2/real_value.h old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Lesson2/real_value.h rename to tutorial/eo/Lesson2/real_value.h diff --git a/eo/tutorial/Lesson3/CMakeLists.txt b/tutorial/eo/Lesson3/CMakeLists.txt old mode 100644 new mode 100755 similarity index 83% rename from eo/tutorial/Lesson3/CMakeLists.txt rename to tutorial/eo/Lesson3/CMakeLists.txt index e1e23a2f2..40046db49 --- a/eo/tutorial/Lesson3/CMakeLists.txt +++ b/tutorial/eo/Lesson3/CMakeLists.txt @@ -2,9 +2,9 @@ ### 1) Include the sources ###################################################################################### -include_directories(${EO_SRC_DIR}/src) -include_directories(${EO_SRC_DIR}/src/ga) -include_directories(${EO_SRC_DIR}/src/utils) +#include_directories(${EO_SRC_DIR}/src) +#include_directories(${EO_SRC_DIR}/src/ga) +#include_directories(${EO_SRC_DIR}/src/utils) ###################################################################################### ### 2) Specify where CMake can find the libraries @@ -57,8 +57,8 @@ target_link_libraries(exercise3.1 ga eoutils eo) ### 6) Configure project installation paths ###################################################################################### -install(TARGETS SecondBitEA RUNTIME DESTINATION share${INSTALL_SUB_DIR}/eo/examples/Lesson3 COMPONENT examples) -install(TARGETS SecondRealEA RUNTIME DESTINATION share${INSTALL_SUB_DIR}/eo/examples/Lesson3 COMPONENT examples) -install(TARGETS exercise3.1 RUNTIME DESTINATION share${INSTALL_SUB_DIR}/eo/examples/Lesson3 COMPONENT examples) +install(TARGETS SecondBitEA RUNTIME DESTINATION share/${PROJECT_TAG}/eo/examples/Lesson3 COMPONENT examples) +install(TARGETS SecondRealEA RUNTIME DESTINATION share/${PROJECT_TAG}/eo/examples/Lesson3 COMPONENT examples) +install(TARGETS exercise3.1 RUNTIME DESTINATION share/${PROJECT_TAG}/eo/examples/Lesson3 COMPONENT examples) ###################################################################################### diff --git a/eo/tutorial/Lesson3/Makefile.simple b/tutorial/eo/Lesson3/Makefile.simple old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Lesson3/Makefile.simple rename to tutorial/eo/Lesson3/Makefile.simple diff --git a/eo/tutorial/Lesson3/SecondBitEA.cpp b/tutorial/eo/Lesson3/SecondBitEA.cpp old mode 100644 new mode 100755 similarity index 99% rename from eo/tutorial/Lesson3/SecondBitEA.cpp rename to tutorial/eo/Lesson3/SecondBitEA.cpp index cb7ac9c9d..48285677b --- a/eo/tutorial/Lesson3/SecondBitEA.cpp +++ b/tutorial/eo/Lesson3/SecondBitEA.cpp @@ -16,8 +16,8 @@ #include // runtime_error // the general include for eo -#include -#include +#include +#include // Use functions from namespace std using namespace std; diff --git a/eo/tutorial/Lesson3/SecondRealEA.cpp b/tutorial/eo/Lesson3/SecondRealEA.cpp old mode 100644 new mode 100755 similarity index 99% rename from eo/tutorial/Lesson3/SecondRealEA.cpp rename to tutorial/eo/Lesson3/SecondRealEA.cpp index 1116682f3..5c400c392 --- a/eo/tutorial/Lesson3/SecondRealEA.cpp +++ b/tutorial/eo/Lesson3/SecondRealEA.cpp @@ -18,8 +18,8 @@ #include // runtime_error // the general include for eo -#include -#include +#include +#include // REPRESENTATION //----------------------------------------------------------------------------- diff --git a/eo/tutorial/Lesson3/binary_value.h b/tutorial/eo/Lesson3/binary_value.h old mode 100644 new mode 100755 similarity index 93% rename from eo/tutorial/Lesson3/binary_value.h rename to tutorial/eo/Lesson3/binary_value.h index 66d2823ec..72820b8cd --- a/eo/tutorial/Lesson3/binary_value.h +++ b/tutorial/eo/Lesson3/binary_value.h @@ -1,4 +1,4 @@ -#include +#include //----------------------------------------------------------------------------- diff --git a/eo/tutorial/Lesson3/exercise3.1.cpp b/tutorial/eo/Lesson3/exercise3.1.cpp old mode 100644 new mode 100755 similarity index 99% rename from eo/tutorial/Lesson3/exercise3.1.cpp rename to tutorial/eo/Lesson3/exercise3.1.cpp index dc37479d4..8f1ed763c --- a/eo/tutorial/Lesson3/exercise3.1.cpp +++ b/tutorial/eo/Lesson3/exercise3.1.cpp @@ -16,7 +16,7 @@ #include // runtime_error // the general include for eo -#include +#include // EVAL #include "binary_value.h" @@ -24,7 +24,7 @@ // REPRESENTATION //----------------------------------------------------------------------------- // Include the corresponding file -#include // bitstring representation & operators +#include // bitstring representation & operators // define your genotype and fitness types typedef eoBit Indi; diff --git a/eo/tutorial/Lesson3/real_value.h b/tutorial/eo/Lesson3/real_value.h old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Lesson3/real_value.h rename to tutorial/eo/Lesson3/real_value.h diff --git a/eo/tutorial/Lesson4/BitEA.cpp b/tutorial/eo/Lesson4/BitEA.cpp old mode 100644 new mode 100755 similarity index 97% rename from eo/tutorial/Lesson4/BitEA.cpp rename to tutorial/eo/Lesson4/BitEA.cpp index 97a6cc435..13ab2d2e3 --- a/eo/tutorial/Lesson4/BitEA.cpp +++ b/tutorial/eo/Lesson4/BitEA.cpp @@ -1,7 +1,7 @@ #include -#include -#include +#include +#include // EVAL #include "binary_value.h" diff --git a/eo/tutorial/Lesson4/CMakeLists.txt b/tutorial/eo/Lesson4/CMakeLists.txt old mode 100644 new mode 100755 similarity index 85% rename from eo/tutorial/Lesson4/CMakeLists.txt rename to tutorial/eo/Lesson4/CMakeLists.txt index 858ff91d2..d771449c3 --- a/eo/tutorial/Lesson4/CMakeLists.txt +++ b/tutorial/eo/Lesson4/CMakeLists.txt @@ -4,10 +4,10 @@ execute_process( COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${EO_SRC_DIR}/tutorial/Lesson4/ESEA.param + ${EO_TUTORIAL_DIR}/Lesson4/ESEA.param ${EO_BIN_DIR}/tutorial/Lesson4/ESEA.param COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${EO_SRC_DIR}/tutorial/Lesson4/RealEA.param + ${EO_TUTORIAL_DIR}/Lesson4/RealEA.param ${EO_BIN_DIR}/tutorial/Lesson4/RealEA.param ) @@ -35,10 +35,10 @@ execute_process( ### 1) Include the sources ###################################################################################### -include_directories(${EO_SRC_DIR}/src) -include_directories(${EO_SRC_DIR}/src/es) -include_directories(${EO_SRC_DIR}/src/utils) -include_directories(${EO_SRC_DIR}/src/ga) +#include_directories(${EO_SRC_DIR}/src) +#include_directories(${EO_SRC_DIR}/src/es) +#include_directories(${EO_SRC_DIR}/src/utils) +#include_directories(${EO_SRC_DIR}/src/ga) ###################################################################################### ### 2) Specify where CMake can find the libraries @@ -91,8 +91,8 @@ target_link_libraries(ESEA es ga eo eoutils) ### 6) Configure project installation paths ###################################################################################### -install(TARGETS BitEA RUNTIME DESTINATION share${INSTALL_SUB_DIR}/eo/examples/Lesson4 COMPONENT examples) -install(TARGETS RealEA RUNTIME DESTINATION share${INSTALL_SUB_DIR}/eo/examples/Lesson4 COMPONENT examples) -install(TARGETS ESEA RUNTIME DESTINATION share${INSTALL_SUB_DIR}/eo/examples/Lesson4 COMPONENT examples) +install(TARGETS BitEA RUNTIME DESTINATION share/${PROJECT_TAG}/eo/examples/Lesson4 COMPONENT examples) +install(TARGETS RealEA RUNTIME DESTINATION share/${PROJECT_TAG}/eo/examples/Lesson4 COMPONENT examples) +install(TARGETS ESEA RUNTIME DESTINATION share/${PROJECT_TAG}/eo/examples/Lesson4 COMPONENT examples) ###################################################################################### diff --git a/eo/tutorial/Lesson4/ESEA.cpp b/tutorial/eo/Lesson4/ESEA.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/tutorial/Lesson4/ESEA.cpp rename to tutorial/eo/Lesson4/ESEA.cpp index 6a2b51a23..cf9a8dcf3 --- a/eo/tutorial/Lesson4/ESEA.cpp +++ b/tutorial/eo/Lesson4/ESEA.cpp @@ -13,10 +13,10 @@ using namespace std; -#include +#include // representation specific -#include +#include #include "real_value.h" // the sphere fitness diff --git a/eo/tutorial/Lesson4/ESEA.param b/tutorial/eo/Lesson4/ESEA.param old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Lesson4/ESEA.param rename to tutorial/eo/Lesson4/ESEA.param diff --git a/eo/tutorial/Lesson4/Makefile.simple b/tutorial/eo/Lesson4/Makefile.simple old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Lesson4/Makefile.simple rename to tutorial/eo/Lesson4/Makefile.simple diff --git a/eo/tutorial/Lesson4/RealEA.cpp b/tutorial/eo/Lesson4/RealEA.cpp old mode 100644 new mode 100755 similarity index 96% rename from eo/tutorial/Lesson4/RealEA.cpp rename to tutorial/eo/Lesson4/RealEA.cpp index 1775b12b7..6020ee849 --- a/eo/tutorial/Lesson4/RealEA.cpp +++ b/tutorial/eo/Lesson4/RealEA.cpp @@ -1,8 +1,8 @@ #include -#include +#include #include "real_value.h" -#include +#include using namespace std; diff --git a/eo/tutorial/Lesson4/RealEA.param b/tutorial/eo/Lesson4/RealEA.param old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Lesson4/RealEA.param rename to tutorial/eo/Lesson4/RealEA.param diff --git a/eo/tutorial/Lesson4/binary_value.h b/tutorial/eo/Lesson4/binary_value.h old mode 100644 new mode 100755 similarity index 95% rename from eo/tutorial/Lesson4/binary_value.h rename to tutorial/eo/Lesson4/binary_value.h index f8dd5891d..9c87ddcec --- a/eo/tutorial/Lesson4/binary_value.h +++ b/tutorial/eo/Lesson4/binary_value.h @@ -1,4 +1,4 @@ -#include +#include //----------------------------------------------------------------------------- diff --git a/eo/tutorial/Lesson4/real_value.h b/tutorial/eo/Lesson4/real_value.h old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Lesson4/real_value.h rename to tutorial/eo/Lesson4/real_value.h diff --git a/eo/tutorial/Lesson5/CMakeLists.txt b/tutorial/eo/Lesson5/CMakeLists.txt old mode 100644 new mode 100755 similarity index 87% rename from eo/tutorial/Lesson5/CMakeLists.txt rename to tutorial/eo/Lesson5/CMakeLists.txt index 69130e265..b6bb728f9 --- a/eo/tutorial/Lesson5/CMakeLists.txt +++ b/tutorial/eo/Lesson5/CMakeLists.txt @@ -2,8 +2,8 @@ ### 1) Include the sources ###################################################################################### -include_directories(${EO_SRC_DIR}/src) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +#include_directories(${EO_SRC_DIR}/src) +#include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ###################################################################################### ### 2) Specify where CMake can find the libraries @@ -50,7 +50,7 @@ target_link_libraries(OneMaxLibEA es ga eo eoutils) ### 6) Configure project installation paths ###################################################################################### -install(TARGETS OneMaxEA RUNTIME DESTINATION share${INSTALL_SUB_DIR}/eo/examples/Lesson5 COMPONENT examples) -install(TARGETS OneMaxLibEA RUNTIME DESTINATION share${INSTALL_SUB_DIR}/eo/examples/Lesson5 COMPONENT examples) +install(TARGETS OneMaxEA RUNTIME DESTINATION share/${PROJECT_TAG}/eo/examples/Lesson5 COMPONENT examples) +install(TARGETS OneMaxLibEA RUNTIME DESTINATION share/${PROJECT_TAG}/eo/examples/Lesson5 COMPONENT examples) ###################################################################################### diff --git a/eo/tutorial/Lesson5/Makefile.simple b/tutorial/eo/Lesson5/Makefile.simple old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Lesson5/Makefile.simple rename to tutorial/eo/Lesson5/Makefile.simple diff --git a/eo/tutorial/Lesson5/OneMaxEA.cpp b/tutorial/eo/Lesson5/OneMaxEA.cpp old mode 100644 new mode 100755 similarity index 94% rename from eo/tutorial/Lesson5/OneMaxEA.cpp rename to tutorial/eo/Lesson5/OneMaxEA.cpp index 14a0f4c5e..5dcdc1c34 --- a/eo/tutorial/Lesson5/OneMaxEA.cpp +++ b/tutorial/eo/Lesson5/OneMaxEA.cpp @@ -22,9 +22,9 @@ Or you can wait until we do it :-) using namespace std; // eo general include -#include "eo" +#include // the real bounds (not yet in general eo include) -#include "utils/eoRealVectorBounds.h" +#include // include here whatever specific files for your representation // Basically, this should include at least the following @@ -77,28 +77,28 @@ eoGenOp& make_op(eoParser& _parser, eoState& _state, eoInit& _init) // how to initialize the population // it IS representation independent if an eoInit is given -#include +#include eoPop& make_pop(eoParser& _parser, eoState& _state, eoInit & _init) { return do_make_pop(_parser, _state, _init); } // the stopping criterion -#include +#include eoContinue& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter & _eval) { return do_make_continue(_parser, _state, _eval); } // outputs (stats, population dumps, ...) -#include +#include eoCheckPoint& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter& _eval, eoContinue& _continue) { return do_make_checkpoint(_parser, _state, _eval, _continue); } // evolution engine (selection and replacement) -#include +#include eoAlgo& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc& _eval, eoContinue& _continue, eoGenOp& _op) { return do_make_algo_scalar(_parser, _state, _eval, _continue, _op); @@ -106,9 +106,9 @@ eoAlgo& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc +#include // the instanciating fitnesses -#include +#include void run_ea(eoAlgo& _ga, eoPop& _pop) { do_run(_ga, _pop); diff --git a/eo/tutorial/Lesson5/OneMaxLibEA.cpp b/tutorial/eo/Lesson5/OneMaxLibEA.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/tutorial/Lesson5/OneMaxLibEA.cpp rename to tutorial/eo/Lesson5/OneMaxLibEA.cpp index febcca445..1a6999a09 --- a/eo/tutorial/Lesson5/OneMaxLibEA.cpp +++ b/tutorial/eo/Lesson5/OneMaxLibEA.cpp @@ -17,9 +17,9 @@ See make_OneMax.cpp file. using namespace std; // eo general include -#include "eo" +#include // the real bounds (not yet in general eo include) -#include "utils/eoRealVectorBounds.h" +#include // include here whatever specific files for your representation // Basically, this should include at least the following diff --git a/eo/tutorial/Lesson5/eoOneMax.h b/tutorial/eo/Lesson5/eoOneMax.h old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Lesson5/eoOneMax.h rename to tutorial/eo/Lesson5/eoOneMax.h diff --git a/eo/tutorial/Lesson5/eoOneMaxEvalFunc.h b/tutorial/eo/Lesson5/eoOneMaxEvalFunc.h old mode 100644 new mode 100755 similarity index 98% rename from eo/tutorial/Lesson5/eoOneMaxEvalFunc.h rename to tutorial/eo/Lesson5/eoOneMaxEvalFunc.h index e9c31d793..c4ddc1f37 --- a/eo/tutorial/Lesson5/eoOneMaxEvalFunc.h +++ b/tutorial/eo/Lesson5/eoOneMaxEvalFunc.h @@ -16,7 +16,7 @@ Template for evaluator in EO, a functor that computes the fitness of an EO #include // include the base definition of eoEvalFunc -#include "eoEvalFunc.h" +#include /** Always write a comment in this format before class definition diff --git a/eo/tutorial/Lesson5/eoOneMaxInit.h b/tutorial/eo/Lesson5/eoOneMaxInit.h old mode 100644 new mode 100755 similarity index 98% rename from eo/tutorial/Lesson5/eoOneMaxInit.h rename to tutorial/eo/Lesson5/eoOneMaxInit.h index 3622aa672..c6328a155 --- a/eo/tutorial/Lesson5/eoOneMaxInit.h +++ b/tutorial/eo/Lesson5/eoOneMaxInit.h @@ -12,7 +12,7 @@ Template for EO objects initialization in EO #define _eoOneMaxInit_h // include the base definition of eoInit -#include +#include /** * Always write a comment in this format before class definition diff --git a/eo/tutorial/Lesson5/eoOneMaxMutation.h b/tutorial/eo/Lesson5/eoOneMaxMutation.h old mode 100644 new mode 100755 similarity index 98% rename from eo/tutorial/Lesson5/eoOneMaxMutation.h rename to tutorial/eo/Lesson5/eoOneMaxMutation.h index 42a840fea..5ddbe14ce --- a/eo/tutorial/Lesson5/eoOneMaxMutation.h +++ b/tutorial/eo/Lesson5/eoOneMaxMutation.h @@ -12,7 +12,7 @@ Template for simple mutation operators #define eoOneMaxMutation_H -#include +#include /** * Always write a comment in this format before class definition diff --git a/eo/tutorial/Lesson5/eoOneMaxQuadCrossover.h b/tutorial/eo/Lesson5/eoOneMaxQuadCrossover.h old mode 100644 new mode 100755 similarity index 98% rename from eo/tutorial/Lesson5/eoOneMaxQuadCrossover.h rename to tutorial/eo/Lesson5/eoOneMaxQuadCrossover.h index b10942157..bede846b6 --- a/eo/tutorial/Lesson5/eoOneMaxQuadCrossover.h +++ b/tutorial/eo/Lesson5/eoOneMaxQuadCrossover.h @@ -13,7 +13,7 @@ Quadratic crossover operators modify the both genotypes #ifndef eoOneMaxQuadCrossover_H #define eoOneMaxQuadCrossover_H -#include +#include /** * Always write a comment in this format before class definition diff --git a/eo/tutorial/Lesson5/make_OneMax.cpp b/tutorial/eo/Lesson5/make_OneMax.cpp old mode 100644 new mode 100755 similarity index 94% rename from eo/tutorial/Lesson5/make_OneMax.cpp rename to tutorial/eo/Lesson5/make_OneMax.cpp index 7c2c05ee6..a478ffe0a --- a/eo/tutorial/Lesson5/make_OneMax.cpp +++ b/tutorial/eo/Lesson5/make_OneMax.cpp @@ -22,9 +22,9 @@ and src/es (for real vectors). using namespace std; // eo general include -#include "eo" +#include // the real bounds (not yet in general eo include) -#include "utils/eoRealVectorBounds.h" +#include // include here whatever specific files for your representation // Basically, this should include at least the following @@ -67,7 +67,7 @@ using namespace std; // how to initialize the population // it IS representation independent if an eoInit is given -#include +#include eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit > & _init) { return do_make_pop(_parser, _state, _init); @@ -79,7 +79,7 @@ eoPop >& make_pop(eoParser& _parser, eoState& _st } // the stopping criterion -#include +#include eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval) { return do_make_continue(_parser, _state, _eval); @@ -91,7 +91,7 @@ eoContinue >& make_continue(eoParser& _parser, eoS } // outputs (stats, population dumps, ...) -#include +#include eoCheckPoint >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue) { return do_make_checkpoint(_parser, _state, _eval, _continue); @@ -103,7 +103,7 @@ eoCheckPoint >& make_checkpoint(eoParser& _parser, } // evolution engine (selection and replacement) -#include +#include eoAlgo >& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _continue, eoGenOp >& _op) { return do_make_algo_scalar(_parser, _state, _eval, _continue, _op); @@ -116,7 +116,7 @@ eoAlgo >& make_algo_scalar(eoParser& _parser, eoS // simple call to the algo. stays there for consistency reasons // no template for that one -#include +#include void run_ea(eoAlgo >& _ga, eoPop >& _pop) { do_run(_ga, _pop); diff --git a/eo/tutorial/Lesson5/make_genotype_OneMax.h b/tutorial/eo/Lesson5/make_genotype_OneMax.h old mode 100644 new mode 100755 similarity index 95% rename from eo/tutorial/Lesson5/make_genotype_OneMax.h rename to tutorial/eo/Lesson5/make_genotype_OneMax.h index ebbdd306e..b177ce247 --- a/eo/tutorial/Lesson5/make_genotype_OneMax.h +++ b/tutorial/eo/Lesson5/make_genotype_OneMax.h @@ -27,11 +27,11 @@ #ifndef _make_genotype_h #define _make_genotype_h -#include -#include +#include "eoOneMax.h" +#include "eoOneMaxInit.h" // also need the parser and param includes -#include -#include +#include +#include /* diff --git a/eo/tutorial/Lesson5/make_op_OneMax.h b/tutorial/eo/Lesson5/make_op_OneMax.h old mode 100644 new mode 100755 similarity index 96% rename from eo/tutorial/Lesson5/make_op_OneMax.h rename to tutorial/eo/Lesson5/make_op_OneMax.h index e157720fa..f8d7c9ea7 --- a/eo/tutorial/Lesson5/make_op_OneMax.h +++ b/tutorial/eo/Lesson5/make_op_OneMax.h @@ -28,12 +28,12 @@ #define _make_op_OneMax_h // the operators -#include -#include -#include -#include +#include +#include +#include +#include // combinations of simple eoOps (eoMonOp and eoQuadOp) -#include +#include /** definition of mutation: * class eoOneMaxMonop MUST derive from eoMonOp @@ -45,13 +45,13 @@ * OR * class eoOneMaxQuadCrossover MUST derive from eoQuadOp */ -// #include "eoOneMaxBinOp.h" +// #include "../../src/eoOneMaxBinOp.h" // OR #include "eoOneMaxQuadCrossover.h" // also need the parser and state includes -#include -#include +#include +#include /////////////////// variation operators /////////////// diff --git a/eo/tutorial/Lesson6/BinaryPSO.cpp b/tutorial/eo/Lesson6/BinaryPSO.cpp old mode 100644 new mode 100755 similarity index 99% rename from eo/tutorial/Lesson6/BinaryPSO.cpp rename to tutorial/eo/Lesson6/BinaryPSO.cpp index 2e670f536..569bc4b17 --- a/eo/tutorial/Lesson6/BinaryPSO.cpp +++ b/tutorial/eo/Lesson6/BinaryPSO.cpp @@ -9,7 +9,7 @@ #include #include -#include +#include // Use functions from namespace std using namespace std; diff --git a/eo/tutorial/Lesson6/CMakeLists.txt b/tutorial/eo/Lesson6/CMakeLists.txt old mode 100644 new mode 100755 similarity index 88% rename from eo/tutorial/Lesson6/CMakeLists.txt rename to tutorial/eo/Lesson6/CMakeLists.txt index 8e852f92a..3ba484121 --- a/eo/tutorial/Lesson6/CMakeLists.txt +++ b/tutorial/eo/Lesson6/CMakeLists.txt @@ -2,7 +2,7 @@ ### 1) Include the sources ###################################################################################### -include_directories(${EO_SRC_DIR}/src) +#include_directories(${EO_SRC_DIR}/src) ###################################################################################### ### 2) Specify where CMake can find the libraries @@ -45,7 +45,7 @@ target_link_libraries(RealPSO eo eoutils) ### 6) Configure project installation paths ###################################################################################### -install(TARGETS BinaryPSO RUNTIME DESTINATION share${INSTALL_SUB_DIR}/eo/examples/Lesson6 COMPONENT examples) -install(TARGETS RealPSO RUNTIME DESTINATION share${INSTALL_SUB_DIR}/eo/examples/Lesson6 COMPONENT examples) +install(TARGETS BinaryPSO RUNTIME DESTINATION share/${PROJECT_TAG}/eo/examples/Lesson6 COMPONENT examples) +install(TARGETS RealPSO RUNTIME DESTINATION share/${PROJECT_TAG}/eo/examples/Lesson6 COMPONENT examples) ###################################################################################### diff --git a/eo/tutorial/Lesson6/Makefile.simple b/tutorial/eo/Lesson6/Makefile.simple old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Lesson6/Makefile.simple rename to tutorial/eo/Lesson6/Makefile.simple diff --git a/eo/tutorial/Lesson6/RealPSO.cpp b/tutorial/eo/Lesson6/RealPSO.cpp old mode 100644 new mode 100755 similarity index 99% rename from eo/tutorial/Lesson6/RealPSO.cpp rename to tutorial/eo/Lesson6/RealPSO.cpp index 23f67100f..34fcd9b90 --- a/eo/tutorial/Lesson6/RealPSO.cpp +++ b/tutorial/eo/Lesson6/RealPSO.cpp @@ -9,7 +9,7 @@ #include #include -#include +#include // Use functions from namespace std using namespace std; diff --git a/eo/tutorial/Makefile.simple b/tutorial/eo/Makefile.simple old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Makefile.simple rename to tutorial/eo/Makefile.simple diff --git a/eo/tutorial/Parallelization/INSTALL b/tutorial/eo/Parallelization/INSTALL old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/INSTALL rename to tutorial/eo/Parallelization/INSTALL diff --git a/eo/tutorial/Parallelization/css/deck.core.css b/tutorial/eo/Parallelization/css/deck.core.css old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/css/deck.core.css rename to tutorial/eo/Parallelization/css/deck.core.css diff --git a/eo/tutorial/Parallelization/css/deck.goto.css b/tutorial/eo/Parallelization/css/deck.goto.css old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/css/deck.goto.css rename to tutorial/eo/Parallelization/css/deck.goto.css diff --git a/eo/tutorial/Parallelization/css/deck.hash.css b/tutorial/eo/Parallelization/css/deck.hash.css old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/css/deck.hash.css rename to tutorial/eo/Parallelization/css/deck.hash.css diff --git a/eo/tutorial/Parallelization/css/deck.menu.css b/tutorial/eo/Parallelization/css/deck.menu.css old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/css/deck.menu.css rename to tutorial/eo/Parallelization/css/deck.menu.css diff --git a/eo/tutorial/Parallelization/css/deck.navigation.css b/tutorial/eo/Parallelization/css/deck.navigation.css old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/css/deck.navigation.css rename to tutorial/eo/Parallelization/css/deck.navigation.css diff --git a/eo/tutorial/Parallelization/css/deck.scale.css b/tutorial/eo/Parallelization/css/deck.scale.css old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/css/deck.scale.css rename to tutorial/eo/Parallelization/css/deck.scale.css diff --git a/eo/tutorial/Parallelization/css/deck.status.css b/tutorial/eo/Parallelization/css/deck.status.css old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/css/deck.status.css rename to tutorial/eo/Parallelization/css/deck.status.css diff --git a/eo/tutorial/Parallelization/css/eompi.css b/tutorial/eo/Parallelization/css/eompi.css old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/css/eompi.css rename to tutorial/eo/Parallelization/css/eompi.css diff --git a/eo/tutorial/Parallelization/css/horizontal-slide.css b/tutorial/eo/Parallelization/css/horizontal-slide.css old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/css/horizontal-slide.css rename to tutorial/eo/Parallelization/css/horizontal-slide.css diff --git a/eo/tutorial/Parallelization/css/shjs.css b/tutorial/eo/Parallelization/css/shjs.css old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/css/shjs.css rename to tutorial/eo/Parallelization/css/shjs.css diff --git a/eo/tutorial/Parallelization/css/thales.css b/tutorial/eo/Parallelization/css/thales.css old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/css/thales.css rename to tutorial/eo/Parallelization/css/thales.css diff --git a/eo/tutorial/Parallelization/eompi.html b/tutorial/eo/Parallelization/eompi.html old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/eompi.html rename to tutorial/eo/Parallelization/eompi.html diff --git a/eo/tutorial/Parallelization/img/generic_parallel.dia b/tutorial/eo/Parallelization/img/generic_parallel.dia old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/img/generic_parallel.dia rename to tutorial/eo/Parallelization/img/generic_parallel.dia diff --git a/eo/tutorial/Parallelization/img/generic_parallel.png b/tutorial/eo/Parallelization/img/generic_parallel.png old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/img/generic_parallel.png rename to tutorial/eo/Parallelization/img/generic_parallel.png diff --git a/eo/tutorial/Parallelization/img/serialisation.dia b/tutorial/eo/Parallelization/img/serialisation.dia old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/img/serialisation.dia rename to tutorial/eo/Parallelization/img/serialisation.dia diff --git a/eo/tutorial/Parallelization/img/serialisation.png b/tutorial/eo/Parallelization/img/serialisation.png old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/img/serialisation.png rename to tutorial/eo/Parallelization/img/serialisation.png diff --git a/eo/tutorial/Parallelization/js/deck.core.js b/tutorial/eo/Parallelization/js/deck.core.js old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/js/deck.core.js rename to tutorial/eo/Parallelization/js/deck.core.js diff --git a/eo/tutorial/Parallelization/js/deck.goto.js b/tutorial/eo/Parallelization/js/deck.goto.js old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/js/deck.goto.js rename to tutorial/eo/Parallelization/js/deck.goto.js diff --git a/eo/tutorial/Parallelization/js/deck.hash.js b/tutorial/eo/Parallelization/js/deck.hash.js old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/js/deck.hash.js rename to tutorial/eo/Parallelization/js/deck.hash.js diff --git a/eo/tutorial/Parallelization/js/deck.menu.js b/tutorial/eo/Parallelization/js/deck.menu.js old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/js/deck.menu.js rename to tutorial/eo/Parallelization/js/deck.menu.js diff --git a/eo/tutorial/Parallelization/js/deck.navigation.js b/tutorial/eo/Parallelization/js/deck.navigation.js old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/js/deck.navigation.js rename to tutorial/eo/Parallelization/js/deck.navigation.js diff --git a/eo/tutorial/Parallelization/js/deck.scale.js b/tutorial/eo/Parallelization/js/deck.scale.js old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/js/deck.scale.js rename to tutorial/eo/Parallelization/js/deck.scale.js diff --git a/eo/tutorial/Parallelization/js/deck.status.js b/tutorial/eo/Parallelization/js/deck.status.js old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/js/deck.status.js rename to tutorial/eo/Parallelization/js/deck.status.js diff --git a/eo/tutorial/Parallelization/js/jquery-1.7.min.js b/tutorial/eo/Parallelization/js/jquery-1.7.min.js old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/js/jquery-1.7.min.js rename to tutorial/eo/Parallelization/js/jquery-1.7.min.js diff --git a/eo/tutorial/Parallelization/js/modernizr.custom.js b/tutorial/eo/Parallelization/js/modernizr.custom.js old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/js/modernizr.custom.js rename to tutorial/eo/Parallelization/js/modernizr.custom.js diff --git a/eo/tutorial/Parallelization/js/shjs-cpp.js b/tutorial/eo/Parallelization/js/shjs-cpp.js old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/js/shjs-cpp.js rename to tutorial/eo/Parallelization/js/shjs-cpp.js diff --git a/eo/tutorial/Parallelization/js/shjs.js b/tutorial/eo/Parallelization/js/shjs.js old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/js/shjs.js rename to tutorial/eo/Parallelization/js/shjs.js diff --git a/eo/tutorial/Parallelization/mpi.c b/tutorial/eo/Parallelization/mpi.c old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Parallelization/mpi.c rename to tutorial/eo/Parallelization/mpi.c diff --git a/eo/tutorial/README b/tutorial/eo/README old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/README rename to tutorial/eo/README diff --git a/eo/tutorial/Templates/CMakeLists.txt.src-tmpl b/tutorial/eo/Templates/CMakeLists.txt.src-tmpl similarity index 100% rename from eo/tutorial/Templates/CMakeLists.txt.src-tmpl rename to tutorial/eo/Templates/CMakeLists.txt.src-tmpl diff --git a/eo/tutorial/Templates/CMakeLists.txt.top-tmpl b/tutorial/eo/Templates/CMakeLists.txt.top-tmpl similarity index 100% rename from eo/tutorial/Templates/CMakeLists.txt.top-tmpl rename to tutorial/eo/Templates/CMakeLists.txt.top-tmpl diff --git a/eo/tutorial/Templates/ChangeLog b/tutorial/eo/Templates/ChangeLog old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Templates/ChangeLog rename to tutorial/eo/Templates/ChangeLog diff --git a/eo/tutorial/Templates/EO.tpl b/tutorial/eo/Templates/EO.tpl old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Templates/EO.tpl rename to tutorial/eo/Templates/EO.tpl diff --git a/eo/tutorial/Templates/Makefile.am.src-tmpl b/tutorial/eo/Templates/Makefile.am.src-tmpl old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Templates/Makefile.am.src-tmpl rename to tutorial/eo/Templates/Makefile.am.src-tmpl diff --git a/eo/tutorial/Templates/Makefile.am.top-tmpl b/tutorial/eo/Templates/Makefile.am.top-tmpl old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Templates/Makefile.am.top-tmpl rename to tutorial/eo/Templates/Makefile.am.top-tmpl diff --git a/eo/tutorial/Templates/MyStructEA.cpp b/tutorial/eo/Templates/MyStructEA.cpp old mode 100644 new mode 100755 similarity index 95% rename from eo/tutorial/Templates/MyStructEA.cpp rename to tutorial/eo/Templates/MyStructEA.cpp index 1478e3085..66039f983 --- a/eo/tutorial/Templates/MyStructEA.cpp +++ b/tutorial/eo/Templates/MyStructEA.cpp @@ -22,9 +22,9 @@ Or you can wait until we do it :-) using namespace std; // eo general include -#include "eo" +#include // the real bounds (not yet in general eo include) -#include "utils/eoRealVectorBounds.h" +#include // include here whatever specific files for your representation // Basically, this should include at least the following @@ -32,19 +32,19 @@ using namespace std; /** definition of representation: * class eoMyStruct MUST derive from EO for some fitness */ -#include "eoMyStruct.h" +#include /** definition of initilizqtion: * class eoMyStructInit MUST derive from eoInit */ -#include "eoMyStructInit.h" +#include /** definition of evaluation: * class eoMyStructEvalFunc MUST derive from eoEvalFunc * and should test for validity before doing any computation * see tutorial/Templates/evalFunc.tmpl */ -#include "eoMyStructEvalFunc.h" +#include // GENOTYPE eoMyStruct ***MUST*** be templatized over the fitness @@ -108,7 +108,7 @@ eoAlgo& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc // the instanciating fitnesses -#include +#include void run_ea(eoAlgo& _ga, eoPop& _pop) { do_run(_ga, _pop); diff --git a/eo/tutorial/Templates/MyStructLibEA.cpp b/tutorial/eo/Templates/MyStructLibEA.cpp old mode 100644 new mode 100755 similarity index 96% rename from eo/tutorial/Templates/MyStructLibEA.cpp rename to tutorial/eo/Templates/MyStructLibEA.cpp index 54e9f2ff9..e47c95ece --- a/eo/tutorial/Templates/MyStructLibEA.cpp +++ b/tutorial/eo/Templates/MyStructLibEA.cpp @@ -17,9 +17,9 @@ This is the template main file for compiling after creating a using namespace std; // eo general include -#include "eo" +#include // the real bounds (not yet in general eo include) -#include "utils/eoRealVectorBounds.h" +#include // include here whatever specific files for your representation // Basically, this should include at least the following @@ -27,19 +27,19 @@ using namespace std; /** definition of representation: * class eoMyStruct MUST derive from EO for some fitness */ -#include "eoMyStruct.h" +#include /** definition of initilizqtion: * class eoMyStructInit MUST derive from eoInit */ -#include "eoMyStructInit.h" +#include /** definition of evaluation: * class eoMyStructEvalFunc MUST derive from eoEvalFunc * and should test for validity before doing any computation * see tutorial/Templates/evalFunc.tmpl */ -#include "eoMyStructEvalFunc.h" +#include // GENOTYPE eoMyStruct ***MUST*** be templatized over the fitness diff --git a/eo/tutorial/Templates/MyStructSEA.cpp b/tutorial/eo/Templates/MyStructSEA.cpp old mode 100644 new mode 100755 similarity index 97% rename from eo/tutorial/Templates/MyStructSEA.cpp rename to tutorial/eo/Templates/MyStructSEA.cpp index 5a05169ea..bcc094575 --- a/eo/tutorial/Templates/MyStructSEA.cpp +++ b/tutorial/eo/Templates/MyStructSEA.cpp @@ -22,9 +22,9 @@ Or you can wait until we do it :-) using namespace std; // eo general include -#include "eo" +#include // the real bounds (not yet in general eo include) -#include "utils/eoRealVectorBounds.h" +#include // include here whatever specific files for your representation // Basically, this should include at least the following @@ -32,29 +32,29 @@ using namespace std; /** definition of representation: * class eoMyStruct MUST derive from EO for some fitness */ -#include "eoMyStruct.h" +#include /** definition of initilizqtion: * class eoMyStructInit MUST derive from eoInit */ -#include "eoMyStructInit.h" +#include /** definition of evaluation: * class eoMyStructEvalFunc MUST derive from eoEvalFunc * and should test for validity before doing any computation * see tutorial/Templates/evalFunc.tmpl */ -#include "eoMyStructEvalFunc.h" +#include /** definitions of operators: write as many classes as types of operators * and include them here. In this simple example, * one crossover (2->2) and one mutation (1->1) operators are used */ -#include "eoMyStructQuadCrossover.h" -#include "eoMyStructMutation.h" +#include +#include /* and (possibly) your personal statistics */ -#include "eoMyStructStat.h" +#include // GENOTYPE eoMyStruct ***MUST*** be templatized over the fitness @@ -104,7 +104,7 @@ eoAlgo& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc // the instanciating fitnesses -#include +#include void run_ea(eoAlgo& _ga, eoPop& _pop) { do_run(_ga, _pop); diff --git a/eo/tutorial/Templates/README b/tutorial/eo/Templates/README old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Templates/README rename to tutorial/eo/Templates/README diff --git a/eo/tutorial/Templates/README.manual b/tutorial/eo/Templates/README.manual old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Templates/README.manual rename to tutorial/eo/Templates/README.manual diff --git a/eo/tutorial/Templates/README.tmpl b/tutorial/eo/Templates/README.tmpl old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Templates/README.tmpl rename to tutorial/eo/Templates/README.tmpl diff --git a/eo/tutorial/Templates/binCrossover.tmpl b/tutorial/eo/Templates/binCrossover.tmpl old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Templates/binCrossover.tmpl rename to tutorial/eo/Templates/binCrossover.tmpl diff --git a/eo/tutorial/Templates/configure.ac.tmpl b/tutorial/eo/Templates/configure.ac.tmpl old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Templates/configure.ac.tmpl rename to tutorial/eo/Templates/configure.ac.tmpl diff --git a/eo/tutorial/Templates/continue.tmpl b/tutorial/eo/Templates/continue.tmpl old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Templates/continue.tmpl rename to tutorial/eo/Templates/continue.tmpl diff --git a/eo/tutorial/Templates/createEOproject.sh b/tutorial/eo/Templates/createEOproject.sh similarity index 100% rename from eo/tutorial/Templates/createEOproject.sh rename to tutorial/eo/Templates/createEOproject.sh diff --git a/eo/tutorial/Templates/eoMyStruct.tmpl b/tutorial/eo/Templates/eoMyStruct.tmpl old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Templates/eoMyStruct.tmpl rename to tutorial/eo/Templates/eoMyStruct.tmpl diff --git a/eo/tutorial/Templates/evalFunc.tmpl b/tutorial/eo/Templates/evalFunc.tmpl old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Templates/evalFunc.tmpl rename to tutorial/eo/Templates/evalFunc.tmpl diff --git a/eo/tutorial/Templates/init.tmpl b/tutorial/eo/Templates/init.tmpl old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Templates/init.tmpl rename to tutorial/eo/Templates/init.tmpl diff --git a/eo/tutorial/Templates/lessOffspringExternalSelectorGenOp.tmpl b/tutorial/eo/Templates/lessOffspringExternalSelectorGenOp.tmpl old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Templates/lessOffspringExternalSelectorGenOp.tmpl rename to tutorial/eo/Templates/lessOffspringExternalSelectorGenOp.tmpl diff --git a/eo/tutorial/Templates/lessOffspringSameSelectorGenOp.tmpl b/tutorial/eo/Templates/lessOffspringSameSelectorGenOp.tmpl old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Templates/lessOffspringSameSelectorGenOp.tmpl rename to tutorial/eo/Templates/lessOffspringSameSelectorGenOp.tmpl diff --git a/eo/tutorial/Templates/make_MyStruct.cpp b/tutorial/eo/Templates/make_MyStruct.cpp old mode 100644 new mode 100755 similarity index 97% rename from eo/tutorial/Templates/make_MyStruct.cpp rename to tutorial/eo/Templates/make_MyStruct.cpp index aaf183c91..55b74982f --- a/eo/tutorial/Templates/make_MyStruct.cpp +++ b/tutorial/eo/Templates/make_MyStruct.cpp @@ -22,9 +22,9 @@ and src/es (for real vectors). using namespace std; // eo general include -#include "eo" +#include // the real bounds (not yet in general eo include) -#include "utils/eoRealVectorBounds.h" +#include // include here whatever specific files for your representation // Basically, this should include at least the following @@ -32,7 +32,7 @@ using namespace std; /** definition of representation: * class eoMyStruct MUST derive from EO for some fitness */ -#include "eoMyStruct.h" +#include // create an initializer: this is NOT representation-independent // and will be done in the main file diff --git a/eo/tutorial/Templates/make_genotype_MyStruct.h b/tutorial/eo/Templates/make_genotype_MyStruct.h old mode 100644 new mode 100755 similarity index 94% rename from eo/tutorial/Templates/make_genotype_MyStruct.h rename to tutorial/eo/Templates/make_genotype_MyStruct.h index 7cc279467..38ec17bc0 --- a/eo/tutorial/Templates/make_genotype_MyStruct.h +++ b/tutorial/eo/Templates/make_genotype_MyStruct.h @@ -27,11 +27,11 @@ #ifndef _make_genotype_h #define _make_genotype_h -#include -#include +#include +#include // also need the parser and param includes -#include -#include +#include +#include /* diff --git a/eo/tutorial/Templates/make_op_MyStruct.h b/tutorial/eo/Templates/make_op_MyStruct.h old mode 100644 new mode 100755 similarity index 95% rename from eo/tutorial/Templates/make_op_MyStruct.h rename to tutorial/eo/Templates/make_op_MyStruct.h index d857e8958..a786e243f --- a/eo/tutorial/Templates/make_op_MyStruct.h +++ b/tutorial/eo/Templates/make_op_MyStruct.h @@ -28,30 +28,30 @@ #define _make_op_MyStruct_h // the operators -#include -#include -#include -#include +#include +#include +#include +#include // combinations of simple eoOps (eoMonOp and eoQuadOp) -#include +#include /** definition of mutation: * class eoMyStructMonop MUST derive from eoMonOp */ -#include "eoMyStructMutation.h" +#include /** definition of crossover (either as eoBinOp (2->1) or eoQuadOp (2->2): * class eoMyStructBinCrossover MUST derive from eoBinOp * OR * class eoMyStructQuadCrossover MUST derive from eoQuadOp */ -// #include "eoMyStructBinOp.h" +// #include // OR -#include "eoMyStructQuadCrossover.h" +#include // also need the parser and state includes -#include -#include +#include +#include /////////////////// variation operators /////////////// diff --git a/eo/tutorial/Templates/moreOffspringGenOp.tmpl b/tutorial/eo/Templates/moreOffspringGenOp.tmpl old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Templates/moreOffspringGenOp.tmpl rename to tutorial/eo/Templates/moreOffspringGenOp.tmpl diff --git a/eo/tutorial/Templates/mutation.tmpl b/tutorial/eo/Templates/mutation.tmpl old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Templates/mutation.tmpl rename to tutorial/eo/Templates/mutation.tmpl diff --git a/eo/tutorial/Templates/quadCrossover.tmpl b/tutorial/eo/Templates/quadCrossover.tmpl old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Templates/quadCrossover.tmpl rename to tutorial/eo/Templates/quadCrossover.tmpl diff --git a/eo/tutorial/Templates/stat.tmpl b/tutorial/eo/Templates/stat.tmpl old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/Templates/stat.tmpl rename to tutorial/eo/Templates/stat.tmpl diff --git a/eo/app/CMakeLists.txt b/tutorial/eo/app/CMakeLists.txt old mode 100644 new mode 100755 similarity index 100% rename from eo/app/CMakeLists.txt rename to tutorial/eo/app/CMakeLists.txt diff --git a/eo/app/gprop/CMakeLists.txt b/tutorial/eo/app/gprop/CMakeLists.txt old mode 100644 new mode 100755 similarity index 92% rename from eo/app/gprop/CMakeLists.txt rename to tutorial/eo/app/gprop/CMakeLists.txt index 98b82e11f..7ba226805 --- a/eo/app/gprop/CMakeLists.txt +++ b/tutorial/eo/app/gprop/CMakeLists.txt @@ -2,8 +2,8 @@ ### 1) Include the sources ###################################################################################### -include_directories(${EO_SRC_DIR}/src) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +#include_directories(${EO_SRC_DIR}/src) +#include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ###################################################################################### ### 2) specify where cmake can find the libraries (mandatory: before 3) ) diff --git a/eo/app/gprop/gprop.cpp b/tutorial/eo/app/gprop/gprop.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/app/gprop/gprop.cpp rename to tutorial/eo/app/gprop/gprop.cpp index 3c8d17c44..7f1296941 --- a/eo/app/gprop/gprop.cpp +++ b/tutorial/eo/app/gprop/gprop.cpp @@ -7,7 +7,7 @@ #include // cerr cout #include // ifstream #include // string -#include // all usefull eo stuff +#include // all usefull eo stuff #include "gprop.h" // Chrom eoChromInit eoChromMutation eoChromXover eoChromEvaluator using namespace std; diff --git a/eo/app/gprop/gprop.h b/tutorial/eo/app/gprop/gprop.h old mode 100644 new mode 100755 similarity index 90% rename from eo/app/gprop/gprop.h rename to tutorial/eo/app/gprop/gprop.h index db67c1885..a3a40f5c4 --- a/eo/app/gprop/gprop.h +++ b/tutorial/eo/app/gprop/gprop.h @@ -28,16 +28,16 @@ //----------------------------------------------------------------------------- -#include // istream ostream -#include // setprecision -#include // string -#include // EO -#include // eoMonOp eoQuadraticOp -#include // eoInit -#include // normal_generator -#include "mlp.h" // mlp::net mlp::set -#include "qp.h" // qp::set -#include "mse.h" // mse::error +#include // istream ostream +#include // setprecision +#include // string +#include // EO +#include // eoMonOp eoQuadraticOp +#include // eoInit +#include // normal_generator +#include "mlp.h" // mlp::net mlp::set +#include "qp.h" // qp::set +#include "mse.h" // mse::error //----------------------------------------------------------------------------- // phenotype diff --git a/eo/app/gprop/l2.h b/tutorial/eo/app/gprop/l2.h old mode 100644 new mode 100755 similarity index 98% rename from eo/app/gprop/l2.h rename to tutorial/eo/app/gprop/l2.h index cff4a67c3..f5daabc6f --- a/eo/app/gprop/l2.h +++ b/tutorial/eo/app/gprop/l2.h @@ -8,7 +8,7 @@ //----------------------------------------------------------------------------- #include // log -#include // neuron layer net set +#include "qp.h" // neuron layer net set //----------------------------------------------------------------------------- diff --git a/eo/app/gprop/mlp.h b/tutorial/eo/app/gprop/mlp.h old mode 100644 new mode 100755 similarity index 98% rename from eo/app/gprop/mlp.h rename to tutorial/eo/app/gprop/mlp.h index c7c612826..5b1d29210 --- a/eo/app/gprop/mlp.h +++ b/tutorial/eo/app/gprop/mlp.h @@ -13,9 +13,10 @@ #include // invalid_argument #include #include -#include // eoRng -#include // normal_generator -#include // * +#include // eoRng +#include // normal_generator + +#include "vecop.h" // * #include #include diff --git a/eo/app/gprop/mse.h b/tutorial/eo/app/gprop/mse.h old mode 100644 new mode 100755 similarity index 98% rename from eo/app/gprop/mse.h rename to tutorial/eo/app/gprop/mse.h index 3fb62fa09..9e5fa2fbc --- a/eo/app/gprop/mse.h +++ b/tutorial/eo/app/gprop/mse.h @@ -7,7 +7,7 @@ //----------------------------------------------------------------------------- -#include // neuron layer net set +#include "qp.h" // neuron layer net set //----------------------------------------------------------------------------- diff --git a/eo/app/gprop/qp.h b/tutorial/eo/app/gprop/qp.h old mode 100644 new mode 100755 similarity index 95% rename from eo/app/gprop/qp.h rename to tutorial/eo/app/gprop/qp.h index fb9836759..0c925b204 --- a/eo/app/gprop/qp.h +++ b/tutorial/eo/app/gprop/qp.h @@ -7,11 +7,11 @@ //----------------------------------------------------------------------------- -#include // istream ostream -#include // fill -#include // vector -#include // uniform_generator -#include // neuron layer net +#include // istream ostream +#include // fill +#include // vector +#include // uniform_generator +#include "mlp.h" // neuron layer net //----------------------------------------------------------------------------- diff --git a/eo/app/gprop/vecop.h b/tutorial/eo/app/gprop/vecop.h old mode 100644 new mode 100755 similarity index 100% rename from eo/app/gprop/vecop.h rename to tutorial/eo/app/gprop/vecop.h diff --git a/eo/app/gpsymreg/CMakeLists.txt b/tutorial/eo/app/gpsymreg/CMakeLists.txt old mode 100644 new mode 100755 similarity index 94% rename from eo/app/gpsymreg/CMakeLists.txt rename to tutorial/eo/app/gpsymreg/CMakeLists.txt index 647d65e6f..8a2d3246d --- a/eo/app/gpsymreg/CMakeLists.txt +++ b/tutorial/eo/app/gpsymreg/CMakeLists.txt @@ -2,8 +2,8 @@ ### 1) Include the sources ###################################################################################### -include_directories(${EO_SRC_DIR}/src) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +#include_directories(${EO_SRC_DIR}/src) +#include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ###################################################################################### ### 2) specify where cmake can find the libraries (mandatory: before 3) ) diff --git a/eo/app/gpsymreg/fitness.h b/tutorial/eo/app/gpsymreg/fitness.h old mode 100644 new mode 100755 similarity index 98% rename from eo/app/gpsymreg/fitness.h rename to tutorial/eo/app/gpsymreg/fitness.h index d4fdb5056..45efd6ca4 --- a/eo/app/gpsymreg/fitness.h +++ b/tutorial/eo/app/gpsymreg/fitness.h @@ -20,10 +20,10 @@ #ifndef _FITNESS_FUNCTION_H #define _FITNESS_FUNCTION_H -#include -#include - +#include +#include #include + #include "parameters.h" #include "node.h" diff --git a/eo/app/gpsymreg/main.cpp b/tutorial/eo/app/gpsymreg/main.cpp old mode 100644 new mode 100755 similarity index 98% rename from eo/app/gpsymreg/main.cpp rename to tutorial/eo/app/gpsymreg/main.cpp index 6d3318ff6..9fa0d58c3 --- a/eo/app/gpsymreg/main.cpp +++ b/tutorial/eo/app/gpsymreg/main.cpp @@ -54,9 +54,9 @@ #include -#include "gp/eoParseTree.h" +#include -#include "eo" +#include diff --git a/eo/app/gpsymreg/node.h b/tutorial/eo/app/gpsymreg/node.h old mode 100644 new mode 100755 similarity index 100% rename from eo/app/gpsymreg/node.h rename to tutorial/eo/app/gpsymreg/node.h diff --git a/eo/app/gpsymreg/parameters.h b/tutorial/eo/app/gpsymreg/parameters.h old mode 100644 new mode 100755 similarity index 98% rename from eo/app/gpsymreg/parameters.h rename to tutorial/eo/app/gpsymreg/parameters.h index ed9a02577..5763b080f --- a/eo/app/gpsymreg/parameters.h +++ b/tutorial/eo/app/gpsymreg/parameters.h @@ -20,8 +20,8 @@ #ifndef _PARAMETERS_FUNCTION_H #define _PARAMETERS_FUNCTION_H -#include -#include +#include +#include using namespace gp_parse_tree; using namespace std; diff --git a/eo/app/mastermind/CMakeLists.txt b/tutorial/eo/app/mastermind/CMakeLists.txt old mode 100644 new mode 100755 similarity index 94% rename from eo/app/mastermind/CMakeLists.txt rename to tutorial/eo/app/mastermind/CMakeLists.txt index 5ae1cab06..fafb0d8e5 --- a/eo/app/mastermind/CMakeLists.txt +++ b/tutorial/eo/app/mastermind/CMakeLists.txt @@ -2,8 +2,8 @@ ### 1) Include the sources ###################################################################################### -INCLUDE_DIRECTORIES(${EO_SRC_DIR}/src) -INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) +#INCLUDE_DIRECTORIES(${EO_SRC_DIR}/src) +#INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) ###################################################################################### ### 2) Specify where CMake can find the libraries (mandatory: before 3) ) diff --git a/eo/app/mastermind/mastermind.cpp b/tutorial/eo/app/mastermind/mastermind.cpp old mode 100644 new mode 100755 similarity index 96% rename from eo/app/mastermind/mastermind.cpp rename to tutorial/eo/app/mastermind/mastermind.cpp index c17889913..8a916426d --- a/eo/app/mastermind/mastermind.cpp +++ b/tutorial/eo/app/mastermind/mastermind.cpp @@ -7,7 +7,7 @@ #include // cerr cout #include // ifstream #include // string -#include // all usefull eo stuff +#include // all usefull eo stuff #include "mastermind.h" // Chrom eoChromInit eoChromMutation eoChromXover eoChromEvaluator @@ -105,7 +105,8 @@ void ga() // stop condition eoGenContinue continuator1(generations.value()); eoFitContinue continuator2(solution.fitness()); - eoCombinedContinue continuator(continuator1, continuator2); + eoCombinedContinue continuator(continuator1); + continuator.add(continuator2); // checkpoint eoCheckPoint checkpoint(continuator); diff --git a/eo/app/mastermind/mastermind.h b/tutorial/eo/app/mastermind/mastermind.h old mode 100644 new mode 100755 similarity index 94% rename from eo/app/mastermind/mastermind.h rename to tutorial/eo/app/mastermind/mastermind.h index 13066036e..c60a5a54d --- a/eo/app/mastermind/mastermind.h +++ b/tutorial/eo/app/mastermind/mastermind.h @@ -8,10 +8,10 @@ //----------------------------------------------------------------------------- #include // exit EXIT_FAILURE -#include // eoVectorLength -#include // eoMonOp eoQuadraticOp -#include // eoInit -#include "utils/rnd_generators.h" // uniform_generator +#include // eoVectorLength +#include // eoMonOp eoQuadraticOp +#include // eoInit +#include // uniform_generator //----------------------------------------------------------------------------- // phenotype diff --git a/eo/tutorial/html/EA_tutorial.jpg b/tutorial/eo/html/EA_tutorial.jpg old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/html/EA_tutorial.jpg rename to tutorial/eo/html/EA_tutorial.jpg diff --git a/eo/tutorial/html/beige009.jpg b/tutorial/eo/html/beige009.jpg old mode 100644 new mode 100755 similarity index 100% rename from eo/tutorial/html/beige009.jpg rename to tutorial/eo/html/beige009.jpg diff --git a/mo/tutorial/CMakeLists.txt b/tutorial/mo/CMakeLists.txt old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/CMakeLists.txt rename to tutorial/mo/CMakeLists.txt diff --git a/mo/tutorial/Lesson1/CMakeLists.txt b/tutorial/mo/Lesson1/CMakeLists.txt old mode 100644 new mode 100755 similarity index 91% rename from mo/tutorial/Lesson1/CMakeLists.txt rename to tutorial/mo/Lesson1/CMakeLists.txt index ae558df58..7dc5d89a0 --- a/mo/tutorial/Lesson1/CMakeLists.txt +++ b/tutorial/mo/Lesson1/CMakeLists.txt @@ -27,7 +27,9 @@ add_lesson(mo Lesson1 "${files}") ### 2) Include dependencies ###################################################################################### -include_directories(${EO_SRC_DIR}/src - ${MO_SRC_DIR}/src - ${PROBLEMS_SRC_DIR}) +include_directories( + #${EO_SRC_DIR}/src + #${MO_SRC_DIR}/src + #${PROBLEMS_SRC_DIR} +) diff --git a/mo/tutorial/Lesson1/firstImprHC_maxSAT.cpp b/tutorial/mo/Lesson1/firstImprHC_maxSAT.cpp old mode 100644 new mode 100755 similarity index 92% rename from mo/tutorial/Lesson1/firstImprHC_maxSAT.cpp rename to tutorial/mo/Lesson1/firstImprHC_maxSAT.cpp index 97f48ae31..c2a579f0a --- a/mo/tutorial/Lesson1/firstImprHC_maxSAT.cpp +++ b/tutorial/mo/Lesson1/firstImprHC_maxSAT.cpp @@ -16,29 +16,29 @@ #include // the general include for eo -#include +#include // declaration of the namespace using namespace std; //----------------------------------------------------------------------------- // representation of solutions, and neighbors -#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp -#include // neighbor of bit string +#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp +#include // neighbor of bit string //----------------------------------------------------------------------------- // fitness function, and evaluation of neighbors -#include -#include -#include +#include +#include +#include //----------------------------------------------------------------------------- // neighborhood description -#include // visit all neighbors in random order without repeating any neighbor +#include // visit all neighbors in random order without repeating any neighbor //----------------------------------------------------------------------------- // the first improvement Hill-Climbing local search -#include +#include // Declaration of types //----------------------------------------------------------------------------- diff --git a/mo/tutorial/Lesson1/firstImprHC_maxSAT.param b/tutorial/mo/Lesson1/firstImprHC_maxSAT.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson1/firstImprHC_maxSAT.param rename to tutorial/mo/Lesson1/firstImprHC_maxSAT.param diff --git a/mo/tutorial/Lesson1/lesson1_combinedContinuator.cpp b/tutorial/mo/Lesson1/lesson1_combinedContinuator.cpp old mode 100644 new mode 100755 similarity index 89% rename from mo/tutorial/Lesson1/lesson1_combinedContinuator.cpp rename to tutorial/mo/Lesson1/lesson1_combinedContinuator.cpp index ba2d3de30..fcf93ecfc --- a/mo/tutorial/Lesson1/lesson1_combinedContinuator.cpp +++ b/tutorial/mo/Lesson1/lesson1_combinedContinuator.cpp @@ -16,39 +16,39 @@ #include // the general include for eo -#include +#include // declaration of the namespace using namespace std; //----------------------------------------------------------------------------- // representation of solutions, and neighbors -#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp -#include // neighbor of bit string +#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp +#include // neighbor of bit string //----------------------------------------------------------------------------- // fitness function, and evaluation of neighbors -#include -#include -#include +#include +#include +#include //----------------------------------------------------------------------------- // neighborhood description -#include // visit all neighbors in increasing order of bit index +#include // visit all neighbors in increasing order of bit index //----------------------------------------------------------------------------- // the continuators -#include // to import the fitness counter -#include // to import the neighbor evaluation counter -#include -#include -#include -#include -#include +#include // to import the fitness counter +#include // to import the neighbor evaluation counter +#include +#include +#include +#include +#include //----------------------------------------------------------------------------- // the simple Hill-Climbing local search -#include +#include // Declaration of types //----------------------------------------------------------------------------- diff --git a/mo/tutorial/Lesson1/lesson1_combinedContinuator.param b/tutorial/mo/Lesson1/lesson1_combinedContinuator.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson1/lesson1_combinedContinuator.param rename to tutorial/mo/Lesson1/lesson1_combinedContinuator.param diff --git a/mo/tutorial/Lesson1/lesson1_evalContinuator.cpp b/tutorial/mo/Lesson1/lesson1_evalContinuator.cpp old mode 100644 new mode 100755 similarity index 91% rename from mo/tutorial/Lesson1/lesson1_evalContinuator.cpp rename to tutorial/mo/Lesson1/lesson1_evalContinuator.cpp index 69cc1a3a7..83c232fb3 --- a/mo/tutorial/Lesson1/lesson1_evalContinuator.cpp +++ b/tutorial/mo/Lesson1/lesson1_evalContinuator.cpp @@ -16,34 +16,34 @@ #include // the general include for eo -#include +#include // declaration of the namespace using namespace std; //----------------------------------------------------------------------------- // representation of solutions, and neighbors -#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp -#include // neighbor of bit string +#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp +#include // neighbor of bit string //----------------------------------------------------------------------------- // fitness function, and evaluation of neighbors -#include -#include -#include +#include +#include +#include //----------------------------------------------------------------------------- // neighborhood description -#include // visit all neighbors in increasing order of bit index +#include // visit all neighbors in increasing order of bit index //----------------------------------------------------------------------------- // the continuator based on the number of neighbor evaluations -#include // to import the neighbor evaluation counter -#include +#include // to import the neighbor evaluation counter +#include //----------------------------------------------------------------------------- // the simple Hill-Climbing local search -#include +#include // Declaration of types //----------------------------------------------------------------------------- diff --git a/mo/tutorial/Lesson1/lesson1_evalContinuator.param b/tutorial/mo/Lesson1/lesson1_evalContinuator.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson1/lesson1_evalContinuator.param rename to tutorial/mo/Lesson1/lesson1_evalContinuator.param diff --git a/mo/tutorial/Lesson1/lesson1_firstImprHC.cpp b/tutorial/mo/Lesson1/lesson1_firstImprHC.cpp old mode 100644 new mode 100755 similarity index 91% rename from mo/tutorial/Lesson1/lesson1_firstImprHC.cpp rename to tutorial/mo/Lesson1/lesson1_firstImprHC.cpp index db0158fce..ccb93444e --- a/mo/tutorial/Lesson1/lesson1_firstImprHC.cpp +++ b/tutorial/mo/Lesson1/lesson1_firstImprHC.cpp @@ -16,29 +16,29 @@ #include // the general include for eo -#include +#include // declaration of the namespace using namespace std; //----------------------------------------------------------------------------- // representation of solutions, and neighbors -#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp -#include // neighbor of bit string +#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp +#include // neighbor of bit string //----------------------------------------------------------------------------- // fitness function, and evaluation of neighbors -#include -#include -#include +#include +#include +#include //----------------------------------------------------------------------------- // neighborhood description -#include // visit all neighbors in random order without repeating any neighbor +#include // visit all neighbors in random order without repeating any neighbor //----------------------------------------------------------------------------- // the first improvement Hill-Climbing local search -#include +#include // Declaration of types //----------------------------------------------------------------------------- diff --git a/mo/tutorial/Lesson1/lesson1_firstImprHC.param b/tutorial/mo/Lesson1/lesson1_firstImprHC.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson1/lesson1_firstImprHC.param rename to tutorial/mo/Lesson1/lesson1_firstImprHC.param diff --git a/mo/tutorial/Lesson1/lesson1_fitContinuator.cpp b/tutorial/mo/Lesson1/lesson1_fitContinuator.cpp old mode 100644 new mode 100755 similarity index 92% rename from mo/tutorial/Lesson1/lesson1_fitContinuator.cpp rename to tutorial/mo/Lesson1/lesson1_fitContinuator.cpp index a72ca7963..c2ad88994 --- a/mo/tutorial/Lesson1/lesson1_fitContinuator.cpp +++ b/tutorial/mo/Lesson1/lesson1_fitContinuator.cpp @@ -16,33 +16,33 @@ #include // the general include for eo -#include +#include // declaration of the namespace using namespace std; //----------------------------------------------------------------------------- // representation of solutions, and neighbors -#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp -#include // neighbor of bit string +#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp +#include // neighbor of bit string //----------------------------------------------------------------------------- // fitness function, and evaluation of neighbors -#include -#include -#include +#include +#include +#include //----------------------------------------------------------------------------- // neighborhood description -#include // visit all neighbors in increasing order of bit index +#include // visit all neighbors in increasing order of bit index //----------------------------------------------------------------------------- // the continuator based on fitness -#include +#include //----------------------------------------------------------------------------- // the simple Hill-Climbing local search -#include +#include // Declaration of types //----------------------------------------------------------------------------- diff --git a/mo/tutorial/Lesson1/lesson1_fitContinuator.param b/tutorial/mo/Lesson1/lesson1_fitContinuator.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson1/lesson1_fitContinuator.param rename to tutorial/mo/Lesson1/lesson1_fitContinuator.param diff --git a/mo/tutorial/Lesson1/lesson1_fullEvalContinuator.cpp b/tutorial/mo/Lesson1/lesson1_fullEvalContinuator.cpp old mode 100644 new mode 100755 similarity index 91% rename from mo/tutorial/Lesson1/lesson1_fullEvalContinuator.cpp rename to tutorial/mo/Lesson1/lesson1_fullEvalContinuator.cpp index 34ec620e0..24928dc79 --- a/mo/tutorial/Lesson1/lesson1_fullEvalContinuator.cpp +++ b/tutorial/mo/Lesson1/lesson1_fullEvalContinuator.cpp @@ -16,34 +16,34 @@ #include // the general include for eo -#include +#include // declaration of the namespace using namespace std; //----------------------------------------------------------------------------- // representation of solutions, and neighbors -#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp -#include // neighbor of bit string +#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp +#include // neighbor of bit string //----------------------------------------------------------------------------- // fitness function, and evaluation of neighbors -#include -#include -#include +#include +#include +#include //----------------------------------------------------------------------------- // neighborhood description -#include // visit all neighbors in increasing order of bit index +#include // visit all neighbors in increasing order of bit index //----------------------------------------------------------------------------- // the continuator based on full eval number -#include // to import the fitness counter -#include +#include // to import the fitness counter +#include //----------------------------------------------------------------------------- // the simple Hill-Climbing local search -#include +#include // Declaration of types //----------------------------------------------------------------------------- diff --git a/mo/tutorial/Lesson1/lesson1_fullEvalContinuator.param b/tutorial/mo/Lesson1/lesson1_fullEvalContinuator.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson1/lesson1_fullEvalContinuator.param rename to tutorial/mo/Lesson1/lesson1_fullEvalContinuator.param diff --git a/mo/tutorial/Lesson1/lesson1_iterContinuator.cpp b/tutorial/mo/Lesson1/lesson1_iterContinuator.cpp old mode 100644 new mode 100755 similarity index 92% rename from mo/tutorial/Lesson1/lesson1_iterContinuator.cpp rename to tutorial/mo/Lesson1/lesson1_iterContinuator.cpp index 01671a8b7..e71e869c4 --- a/mo/tutorial/Lesson1/lesson1_iterContinuator.cpp +++ b/tutorial/mo/Lesson1/lesson1_iterContinuator.cpp @@ -16,33 +16,33 @@ #include // the general include for eo -#include +#include // declaration of the namespace using namespace std; //----------------------------------------------------------------------------- // representation of solutions, and neighbors -#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp -#include // neighbor of bit string +#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp +#include // neighbor of bit string //----------------------------------------------------------------------------- // fitness function, and evaluation of neighbors -#include -#include -#include +#include +#include +#include //----------------------------------------------------------------------------- // neighborhood description -#include // visit all neighbors in increasing order of bit index +#include // visit all neighbors in increasing order of bit index //----------------------------------------------------------------------------- // the iteration continuators -#include +#include //----------------------------------------------------------------------------- // the simple Hill-Climbing local search -#include +#include // Declaration of types //----------------------------------------------------------------------------- diff --git a/mo/tutorial/Lesson1/lesson1_iterContinuator.param b/tutorial/mo/Lesson1/lesson1_iterContinuator.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson1/lesson1_iterContinuator.param rename to tutorial/mo/Lesson1/lesson1_iterContinuator.param diff --git a/mo/tutorial/Lesson1/lesson1_neutralHC.cpp b/tutorial/mo/Lesson1/lesson1_neutralHC.cpp old mode 100644 new mode 100755 similarity index 92% rename from mo/tutorial/Lesson1/lesson1_neutralHC.cpp rename to tutorial/mo/Lesson1/lesson1_neutralHC.cpp index f00439209..d9d986b7f --- a/mo/tutorial/Lesson1/lesson1_neutralHC.cpp +++ b/tutorial/mo/Lesson1/lesson1_neutralHC.cpp @@ -16,29 +16,29 @@ #include // the general include for eo -#include +#include // declaration of the namespace using namespace std; //----------------------------------------------------------------------------- // representation of solutions, and neighbors -#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp -#include // neighbor of bit string +#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp +#include // neighbor of bit string //----------------------------------------------------------------------------- // fitness function, and evaluation of neighbors -#include -#include -#include +#include +#include +#include //----------------------------------------------------------------------------- // neighborhood description -#include // visit all neighbors in increasing order of bit index +#include // visit all neighbors in increasing order of bit index //----------------------------------------------------------------------------- // the neutral Hill-Climbing local search: move one of random best solution even it is the same fitness -#include +#include // Declaration of types //----------------------------------------------------------------------------- diff --git a/mo/tutorial/Lesson1/lesson1_neutralHC.param b/tutorial/mo/Lesson1/lesson1_neutralHC.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson1/lesson1_neutralHC.param rename to tutorial/mo/Lesson1/lesson1_neutralHC.param diff --git a/mo/tutorial/Lesson1/lesson1_randomBestHC.cpp b/tutorial/mo/Lesson1/lesson1_randomBestHC.cpp old mode 100644 new mode 100755 similarity index 92% rename from mo/tutorial/Lesson1/lesson1_randomBestHC.cpp rename to tutorial/mo/Lesson1/lesson1_randomBestHC.cpp index 868033b31..6697b65b2 --- a/mo/tutorial/Lesson1/lesson1_randomBestHC.cpp +++ b/tutorial/mo/Lesson1/lesson1_randomBestHC.cpp @@ -16,29 +16,29 @@ #include // the general include for eo -#include +#include // declaration of the namespace using namespace std; //----------------------------------------------------------------------------- // representation of solutions, and neighbors -#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp -#include // neighbor of bit string +#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp +#include // neighbor of bit string //----------------------------------------------------------------------------- // fitness function, and evaluation of neighbors -#include -#include -#include +#include +#include +#include //----------------------------------------------------------------------------- // neighborhood description -#include // visit all neighbors in increasing order of bit index +#include // visit all neighbors in increasing order of bit index //----------------------------------------------------------------------------- // the Hill-Climbing local search which randomly one of the best solution -#include +#include // Declaration of types //----------------------------------------------------------------------------- diff --git a/mo/tutorial/Lesson1/lesson1_randomBestHC.param b/tutorial/mo/Lesson1/lesson1_randomBestHC.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson1/lesson1_randomBestHC.param rename to tutorial/mo/Lesson1/lesson1_randomBestHC.param diff --git a/mo/tutorial/Lesson1/lesson1_simpleHC.cpp b/tutorial/mo/Lesson1/lesson1_simpleHC.cpp old mode 100644 new mode 100755 similarity index 90% rename from mo/tutorial/Lesson1/lesson1_simpleHC.cpp rename to tutorial/mo/Lesson1/lesson1_simpleHC.cpp index 013b6731e..5078b50cf --- a/mo/tutorial/Lesson1/lesson1_simpleHC.cpp +++ b/tutorial/mo/Lesson1/lesson1_simpleHC.cpp @@ -16,30 +16,30 @@ #include // the general include for eo -#include +#include // declaration of the namespace using namespace std; //----------------------------------------------------------------------------- // representation of solutions, and neighbors -#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp -#include // neighbor of bit string +#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp +#include // neighbor of bit string //----------------------------------------------------------------------------- // fitness function, and evaluation of neighbors -#include -#include -#include +#include +#include +#include //----------------------------------------------------------------------------- // neighborhood description -#include // visit all neighbors in random order with neighbor -#include // visit all neighbors in order with neighbor +#include // visit all neighbors in random order with neighbor +#include // visit all neighbors in order with neighbor //----------------------------------------------------------------------------- // the simple Hill-Climbing local search -#include +#include // Declaration of types //----------------------------------------------------------------------------- diff --git a/mo/tutorial/Lesson1/lesson1_simpleHC.param b/tutorial/mo/Lesson1/lesson1_simpleHC.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson1/lesson1_simpleHC.param rename to tutorial/mo/Lesson1/lesson1_simpleHC.param diff --git a/mo/tutorial/Lesson2/CMakeLists.txt b/tutorial/mo/Lesson2/CMakeLists.txt old mode 100644 new mode 100755 similarity index 88% rename from mo/tutorial/Lesson2/CMakeLists.txt rename to tutorial/mo/Lesson2/CMakeLists.txt index 2dcb7a917..b0cd1a3d3 --- a/mo/tutorial/Lesson2/CMakeLists.txt +++ b/tutorial/mo/Lesson2/CMakeLists.txt @@ -16,6 +16,8 @@ add_lesson(mo Lesson2 "${files}") ### 2) Include dependencies ###################################################################################### -include_directories(${EO_SRC_DIR}/src - ${MO_SRC_DIR}/src - ${PROBLEMS_SRC_DIR}) +include_directories( + #${EO_SRC_DIR}/src + #${MO_SRC_DIR}/src + #${PROBLEMS_SRC_DIR} +) diff --git a/mo/tutorial/Lesson2/testNeighborhood.cpp b/tutorial/mo/Lesson2/testNeighborhood.cpp old mode 100644 new mode 100755 similarity index 91% rename from mo/tutorial/Lesson2/testNeighborhood.cpp rename to tutorial/mo/Lesson2/testNeighborhood.cpp index fbc99827a..a004ffed4 --- a/mo/tutorial/Lesson2/testNeighborhood.cpp +++ b/tutorial/mo/Lesson2/testNeighborhood.cpp @@ -16,29 +16,29 @@ #include // the general include for eo -#include -#include +#include +#include using namespace std; //---------------------------------------------------------------------------- //Representation and initializer -#include -#include +#include +#include // fitness function -#include -#include -#include +#include +#include +#include //Neighbors and Neighborhoods -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include // Define types of the representation solution, different neighbors and neighborhoods diff --git a/mo/tutorial/Lesson2/testNeighborhood.param b/tutorial/mo/Lesson2/testNeighborhood.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson2/testNeighborhood.param rename to tutorial/mo/Lesson2/testNeighborhood.param diff --git a/mo/tutorial/Lesson3/CMakeLists.txt b/tutorial/mo/Lesson3/CMakeLists.txt old mode 100644 new mode 100755 similarity index 88% rename from mo/tutorial/Lesson3/CMakeLists.txt rename to tutorial/mo/Lesson3/CMakeLists.txt index c4cbca429..03050490d --- a/mo/tutorial/Lesson3/CMakeLists.txt +++ b/tutorial/mo/Lesson3/CMakeLists.txt @@ -16,8 +16,10 @@ add_lesson(mo Lesson3 "${files}") ### 2) Include dependencies ###################################################################################### -include_directories(${EO_SRC_DIR}/src - ${MO_SRC_DIR}/src - ${PROBLEMS_SRC_DIR}) +include_directories( + #${EO_SRC_DIR}/src + #${MO_SRC_DIR}/src + #${PROBLEMS_SRC_DIR} +) diff --git a/mo/tutorial/Lesson3/testSimulatedAnnealing.cpp b/tutorial/mo/Lesson3/testSimulatedAnnealing.cpp old mode 100644 new mode 100755 similarity index 88% rename from mo/tutorial/Lesson3/testSimulatedAnnealing.cpp rename to tutorial/mo/Lesson3/testSimulatedAnnealing.cpp index 661657c7b..b65e0e6f2 --- a/mo/tutorial/Lesson3/testSimulatedAnnealing.cpp +++ b/tutorial/mo/Lesson3/testSimulatedAnnealing.cpp @@ -16,39 +16,39 @@ #include // the general include for eo -#include -#include +#include +#include using namespace std; //----------------------------------------------------------------------------- //Representation and initializer -#include -#include -#include +#include +#include +#include // fitness function -#include -#include -#include +#include +#include +#include //Neighbors and Neighborhoods -#include -#include +#include +#include //Algorithm and its components -#include -#include +#include +#include //comparator -#include +#include //continuators -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include //----------------------------------------------------------------------------- diff --git a/mo/tutorial/Lesson3/testSimulatedAnnealing.param b/tutorial/mo/Lesson3/testSimulatedAnnealing.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson3/testSimulatedAnnealing.param rename to tutorial/mo/Lesson3/testSimulatedAnnealing.param diff --git a/mo/tutorial/Lesson4/CMakeLists.txt b/tutorial/mo/Lesson4/CMakeLists.txt old mode 100644 new mode 100755 similarity index 88% rename from mo/tutorial/Lesson4/CMakeLists.txt rename to tutorial/mo/Lesson4/CMakeLists.txt index 82858237d..697d5594e --- a/mo/tutorial/Lesson4/CMakeLists.txt +++ b/tutorial/mo/Lesson4/CMakeLists.txt @@ -16,7 +16,9 @@ add_lesson(mo Lesson4 "${files}") ### 2) Include dependencies ###################################################################################### -include_directories(${EO_SRC_DIR}/src - ${MO_SRC_DIR}/src - ${PROBLEMS_SRC_DIR}) +include_directories( + #${EO_SRC_DIR}/src + #${MO_SRC_DIR}/src + #${PROBLEMS_SRC_DIR} +) diff --git a/mo/tutorial/Lesson4/testSimpleTS.cpp b/tutorial/mo/Lesson4/testSimpleTS.cpp old mode 100644 new mode 100755 similarity index 93% rename from mo/tutorial/Lesson4/testSimpleTS.cpp rename to tutorial/mo/Lesson4/testSimpleTS.cpp index 767c5834d..6dda43314 --- a/mo/tutorial/Lesson4/testSimpleTS.cpp +++ b/tutorial/mo/Lesson4/testSimpleTS.cpp @@ -16,32 +16,32 @@ #include // the general include for eo -#include -#include +#include +#include using namespace std; //----------------------------------------------------------------------------- //Representation and initializer -#include -#include -#include +#include +#include +#include // fitness function -#include -#include -#include +#include +#include +#include //Neighbors and Neighborhoods -#include -#include +#include +#include //Algorithm and its components -#include +#include //mo eval -#include -#include +#include +#include // REPRESENTATION diff --git a/mo/tutorial/Lesson4/testSimpleTS.param b/tutorial/mo/Lesson4/testSimpleTS.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson4/testSimpleTS.param rename to tutorial/mo/Lesson4/testSimpleTS.param diff --git a/mo/tutorial/Lesson5/CMakeLists.txt b/tutorial/mo/Lesson5/CMakeLists.txt old mode 100644 new mode 100755 similarity index 88% rename from mo/tutorial/Lesson5/CMakeLists.txt rename to tutorial/mo/Lesson5/CMakeLists.txt index 7c5c9bdc3..12ff4c9be --- a/mo/tutorial/Lesson5/CMakeLists.txt +++ b/tutorial/mo/Lesson5/CMakeLists.txt @@ -16,8 +16,10 @@ add_lesson(mo Lesson5 "${files}") ### 2) Include dependencies ###################################################################################### -include_directories(${EO_SRC_DIR}/src - ${MO_SRC_DIR}/src - ${PROBLEMS_SRC_DIR}) +include_directories( + #${EO_SRC_DIR}/src + #${MO_SRC_DIR}/src + #${PROBLEMS_SRC_DIR} +) diff --git a/mo/tutorial/Lesson5/testILS.cpp b/tutorial/mo/Lesson5/testILS.cpp old mode 100644 new mode 100755 similarity index 86% rename from mo/tutorial/Lesson5/testILS.cpp rename to tutorial/mo/Lesson5/testILS.cpp index 2efbc1144..3673a62ab --- a/mo/tutorial/Lesson5/testILS.cpp +++ b/tutorial/mo/Lesson5/testILS.cpp @@ -17,44 +17,44 @@ #include // the general include for eo -#include -#include -#include +#include +#include +#include using namespace std; //----------------------------------------------------------------------------- //Representation and initializer -#include -#include -#include +#include +#include +#include // fitness function -#include -#include -#include +#include +#include +#include //Neighbors and Neighborhoods -#include -#include +#include +#include //Mutation -#include +#include //Algorithm and its components -#include -#include +#include +#include //mo eval -#include +#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include -#include +#include // REPRESENTATION //----------------------------------------------------------------------------- diff --git a/mo/tutorial/Lesson5/testILS.param b/tutorial/mo/Lesson5/testILS.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson5/testILS.param rename to tutorial/mo/Lesson5/testILS.param diff --git a/mo/tutorial/Lesson6/CMakeLists.txt b/tutorial/mo/Lesson6/CMakeLists.txt old mode 100644 new mode 100755 similarity index 90% rename from mo/tutorial/Lesson6/CMakeLists.txt rename to tutorial/mo/Lesson6/CMakeLists.txt index 0b1d01455..055c7547f --- a/mo/tutorial/Lesson6/CMakeLists.txt +++ b/tutorial/mo/Lesson6/CMakeLists.txt @@ -28,6 +28,8 @@ add_lesson(mo Lesson6 "${files}") ### 2) Include dependencies ###################################################################################### -include_directories(${EO_SRC_DIR}/src - ${MO_SRC_DIR}/src - ${PROBLEMS_SRC_DIR}) +include_directories( + #${EO_SRC_DIR}/src + #${MO_SRC_DIR}/src + #${PROBLEMS_SRC_DIR} +) diff --git a/mo/tutorial/Lesson6/adaptiveWalks.cpp b/tutorial/mo/Lesson6/adaptiveWalks.cpp old mode 100644 new mode 100755 similarity index 93% rename from mo/tutorial/Lesson6/adaptiveWalks.cpp rename to tutorial/mo/Lesson6/adaptiveWalks.cpp index 36ab47ca0..6870e8e64 --- a/mo/tutorial/Lesson6/adaptiveWalks.cpp +++ b/tutorial/mo/Lesson6/adaptiveWalks.cpp @@ -16,29 +16,29 @@ #include // the general include for eo -#include +#include // declaration of the namespace using namespace std; //----------------------------------------------------------------------------- // representation of solutions, and neighbors -#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp -#include // neighbor of bit string +#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp +#include // neighbor of bit string //----------------------------------------------------------------------------- // fitness function, and evaluation of neighbors -#include -#include -#include +#include +#include +#include //----------------------------------------------------------------------------- // neighborhood description -#include // visit all the neighbors +#include // visit all the neighbors //----------------------------------------------------------------------------- // the sampling class -#include +#include // Declaration of types //----------------------------------------------------------------------------- diff --git a/mo/tutorial/Lesson6/adaptiveWalks.param b/tutorial/mo/Lesson6/adaptiveWalks.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson6/adaptiveWalks.param rename to tutorial/mo/Lesson6/adaptiveWalks.param diff --git a/mo/tutorial/Lesson6/autocorrelation.cpp b/tutorial/mo/Lesson6/autocorrelation.cpp old mode 100644 new mode 100755 similarity index 92% rename from mo/tutorial/Lesson6/autocorrelation.cpp rename to tutorial/mo/Lesson6/autocorrelation.cpp index 6f07d8ae7..713cb5059 --- a/mo/tutorial/Lesson6/autocorrelation.cpp +++ b/tutorial/mo/Lesson6/autocorrelation.cpp @@ -16,33 +16,33 @@ #include // the general include for eo -#include +#include // declaration of the namespace using namespace std; //----------------------------------------------------------------------------- // representation of solutions, and neighbors -#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp -#include // neighbor of bit string +#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp +#include // neighbor of bit string //----------------------------------------------------------------------------- // fitness function, and evaluation of neighbors -#include -#include -#include +#include +#include +#include //----------------------------------------------------------------------------- // neighborhood description -#include // visit one random neighbor possibly the same one several times +#include // visit one random neighbor possibly the same one several times //----------------------------------------------------------------------------- // the sampling class -#include +#include //----------------------------------------------------------------------------- // the statistics class -#include +#include // Declaration of types //----------------------------------------------------------------------------- diff --git a/mo/tutorial/Lesson6/autocorrelation.param b/tutorial/mo/Lesson6/autocorrelation.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson6/autocorrelation.param rename to tutorial/mo/Lesson6/autocorrelation.param diff --git a/mo/tutorial/Lesson6/densityOfStates.cpp b/tutorial/mo/Lesson6/densityOfStates.cpp old mode 100644 new mode 100755 similarity index 94% rename from mo/tutorial/Lesson6/densityOfStates.cpp rename to tutorial/mo/Lesson6/densityOfStates.cpp index a47323423..c1bca92c9 --- a/mo/tutorial/Lesson6/densityOfStates.cpp +++ b/tutorial/mo/Lesson6/densityOfStates.cpp @@ -16,27 +16,27 @@ #include // the general include for eo -#include +#include // declaration of the namespace using namespace std; //----------------------------------------------------------------------------- // representation of solutions, and neighbors -#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp -#include // neighbor of bit string +#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp +#include // neighbor of bit string //----------------------------------------------------------------------------- // fitness function, and evaluation of neighbors -#include +#include //----------------------------------------------------------------------------- // the sampling class -#include +#include //----------------------------------------------------------------------------- // the statistics class -#include +#include // Declaration of types //----------------------------------------------------------------------------- diff --git a/mo/tutorial/Lesson6/densityOfStates.param b/tutorial/mo/Lesson6/densityOfStates.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson6/densityOfStates.param rename to tutorial/mo/Lesson6/densityOfStates.param diff --git a/mo/tutorial/Lesson6/fdc.cpp b/tutorial/mo/Lesson6/fdc.cpp old mode 100644 new mode 100755 similarity index 94% rename from mo/tutorial/Lesson6/fdc.cpp rename to tutorial/mo/Lesson6/fdc.cpp index a066e70ad..773d59b72 --- a/mo/tutorial/Lesson6/fdc.cpp +++ b/tutorial/mo/Lesson6/fdc.cpp @@ -16,27 +16,27 @@ #include // the general include for eo -#include +#include // declaration of the namespace using namespace std; //----------------------------------------------------------------------------- // representation of solutions, and neighbors -#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp -#include // neighbor of bit string +#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp +#include // neighbor of bit string //----------------------------------------------------------------------------- // fitness function, and evaluation of neighbors -#include +#include //----------------------------------------------------------------------------- // the distance defined over the search space -#include +#include //----------------------------------------------------------------------------- // the sampling class -#include +#include // Declaration of types //----------------------------------------------------------------------------- diff --git a/mo/tutorial/Lesson6/fdc.param b/tutorial/mo/Lesson6/fdc.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson6/fdc.param rename to tutorial/mo/Lesson6/fdc.param diff --git a/mo/tutorial/Lesson6/fitnessCloud.cpp b/tutorial/mo/Lesson6/fitnessCloud.cpp old mode 100644 new mode 100755 similarity index 91% rename from mo/tutorial/Lesson6/fitnessCloud.cpp rename to tutorial/mo/Lesson6/fitnessCloud.cpp index ad92e9502..6bd76da1e --- a/mo/tutorial/Lesson6/fitnessCloud.cpp +++ b/tutorial/mo/Lesson6/fitnessCloud.cpp @@ -16,31 +16,31 @@ #include // the general include for eo -#include +#include // declaration of the namespace using namespace std; //----------------------------------------------------------------------------- // representation of solutions, and neighbors -#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp -#include // neighbor of bit string +#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp +#include // neighbor of bit string //----------------------------------------------------------------------------- // fitness function, and evaluation of neighbors -#include -#include +#include +#include //----------------------------------------------------------------------------- // neighborhood description -#include // visit one random neighbor possibly the same one several times +#include // visit one random neighbor possibly the same one several times //----------------------------------------------------------------------------- // the sampling class -#include -#include -#include -#include +#include +#include +#include +#include // Declaration of types //----------------------------------------------------------------------------- diff --git a/mo/tutorial/Lesson6/fitnessCloud.param b/tutorial/mo/Lesson6/fitnessCloud.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson6/fitnessCloud.param rename to tutorial/mo/Lesson6/fitnessCloud.param diff --git a/mo/tutorial/Lesson6/neutralDegree.cpp b/tutorial/mo/Lesson6/neutralDegree.cpp old mode 100644 new mode 100755 similarity index 93% rename from mo/tutorial/Lesson6/neutralDegree.cpp rename to tutorial/mo/Lesson6/neutralDegree.cpp index 55a346a11..9bcc7968c --- a/mo/tutorial/Lesson6/neutralDegree.cpp +++ b/tutorial/mo/Lesson6/neutralDegree.cpp @@ -16,28 +16,28 @@ #include // the general include for eo -#include +#include // declaration of the namespace using namespace std; //----------------------------------------------------------------------------- // representation of solutions, and neighbors -#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp -#include // neighbor of bit string +#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp +#include // neighbor of bit string //----------------------------------------------------------------------------- // fitness function, and evaluation of neighbors -#include -#include +#include +#include //----------------------------------------------------------------------------- // neighborhood description -#include // visit all neighbor in order of their bit-flip +#include // visit all neighbor in order of their bit-flip //----------------------------------------------------------------------------- // the sampling class -#include +#include // Declaration of types //----------------------------------------------------------------------------- diff --git a/mo/tutorial/Lesson6/neutralDegree.param b/tutorial/mo/Lesson6/neutralDegree.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson6/neutralDegree.param rename to tutorial/mo/Lesson6/neutralDegree.param diff --git a/mo/tutorial/Lesson6/neutralWalk.cpp b/tutorial/mo/Lesson6/neutralWalk.cpp old mode 100644 new mode 100755 similarity index 93% rename from mo/tutorial/Lesson6/neutralWalk.cpp rename to tutorial/mo/Lesson6/neutralWalk.cpp index a94a20bca..871b493ee --- a/mo/tutorial/Lesson6/neutralWalk.cpp +++ b/tutorial/mo/Lesson6/neutralWalk.cpp @@ -16,33 +16,33 @@ #include // the general include for eo -#include +#include // declaration of the namespace using namespace std; //----------------------------------------------------------------------------- // representation of solutions, and neighbors -#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp -#include // neighbor of bit string +#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp +#include // neighbor of bit string //----------------------------------------------------------------------------- // fitness function, and evaluation of neighbors -#include -#include +#include +#include //----------------------------------------------------------------------------- // neighborhood description -#include // visit one random neighbor possibly the same one several times +#include // visit one random neighbor possibly the same one several times //----------------------------------------------------------------------------- // the sampling class -#include -#include +#include +#include //----------------------------------------------------------------------------- // the statistics class -#include +#include // Declaration of types //----------------------------------------------------------------------------- diff --git a/mo/tutorial/Lesson6/neutralWalk.param b/tutorial/mo/Lesson6/neutralWalk.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson6/neutralWalk.param rename to tutorial/mo/Lesson6/neutralWalk.param diff --git a/mo/tutorial/Lesson6/sampling.cpp b/tutorial/mo/Lesson6/sampling.cpp old mode 100644 new mode 100755 similarity index 91% rename from mo/tutorial/Lesson6/sampling.cpp rename to tutorial/mo/Lesson6/sampling.cpp index 77c5fef66..76b0dc6d7 --- a/mo/tutorial/Lesson6/sampling.cpp +++ b/tutorial/mo/Lesson6/sampling.cpp @@ -16,40 +16,40 @@ #include // the general include for eo -#include +#include // declaration of the namespace using namespace std; //----------------------------------------------------------------------------- // representation of solutions, and neighbors -#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp -#include // neighbor of bit string +#include // bit string : see also EO tutorial lesson 1: FirstBitGA.cpp +#include // neighbor of bit string //----------------------------------------------------------------------------- // fitness function, and evaluation of neighbors -#include -#include -#include +#include +#include +#include //----------------------------------------------------------------------------- // neighborhood description -#include // visit one random neighbor possibly the same one several times +#include // visit one random neighbor possibly the same one several times //----------------------------------------------------------------------------- // the random walk local search: heuristic to sample the search space -#include +#include //----------------------------------------------------------------------------- // the statistics to compute during the sampling -#include -#include -#include -#include +#include +#include +#include +#include //----------------------------------------------------------------------------- // the sampling class -#include +#include // Declaration of types //----------------------------------------------------------------------------- diff --git a/mo/tutorial/Lesson6/sampling.param b/tutorial/mo/Lesson6/sampling.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson6/sampling.param rename to tutorial/mo/Lesson6/sampling.param diff --git a/mo/tutorial/Lesson6/testMetropolisHasting.cpp b/tutorial/mo/Lesson6/testMetropolisHasting.cpp old mode 100644 new mode 100755 similarity index 89% rename from mo/tutorial/Lesson6/testMetropolisHasting.cpp rename to tutorial/mo/Lesson6/testMetropolisHasting.cpp index d70858714..0e199ed7a --- a/mo/tutorial/Lesson6/testMetropolisHasting.cpp +++ b/tutorial/mo/Lesson6/testMetropolisHasting.cpp @@ -16,25 +16,25 @@ #include // the general include for eo -#include -#include +#include +#include using namespace std; //----------------------------------------------------------------------------- // fitness function -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include // REPRESENTATION //----------------------------------------------------------------------------- diff --git a/mo/tutorial/Lesson6/testMetropolisHasting.param b/tutorial/mo/Lesson6/testMetropolisHasting.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson6/testMetropolisHasting.param rename to tutorial/mo/Lesson6/testMetropolisHasting.param diff --git a/mo/tutorial/Lesson6/testRandomNeutralWalk.cpp b/tutorial/mo/Lesson6/testRandomNeutralWalk.cpp old mode 100644 new mode 100755 similarity index 84% rename from mo/tutorial/Lesson6/testRandomNeutralWalk.cpp rename to tutorial/mo/Lesson6/testRandomNeutralWalk.cpp index 596501f5e..0375badd0 --- a/mo/tutorial/Lesson6/testRandomNeutralWalk.cpp +++ b/tutorial/mo/Lesson6/testRandomNeutralWalk.cpp @@ -16,39 +16,39 @@ #include // the general include for eo -#include -#include +#include +#include using namespace std; //----------------------------------------------------------------------------- // fitness function -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // REPRESENTATION //----------------------------------------------------------------------------- diff --git a/mo/tutorial/Lesson6/testRandomNeutralWalk.param b/tutorial/mo/Lesson6/testRandomNeutralWalk.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson6/testRandomNeutralWalk.param rename to tutorial/mo/Lesson6/testRandomNeutralWalk.param diff --git a/mo/tutorial/Lesson6/testRandomWalk.cpp b/tutorial/mo/Lesson6/testRandomWalk.cpp old mode 100644 new mode 100755 similarity index 88% rename from mo/tutorial/Lesson6/testRandomWalk.cpp rename to tutorial/mo/Lesson6/testRandomWalk.cpp index cfae94ece..d0de920df --- a/mo/tutorial/Lesson6/testRandomWalk.cpp +++ b/tutorial/mo/Lesson6/testRandomWalk.cpp @@ -16,31 +16,31 @@ #include // the general include for eo -#include -#include +#include +#include using namespace std; //----------------------------------------------------------------------------- // fitness function -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include // REPRESENTATION //----------------------------------------------------------------------------- diff --git a/mo/tutorial/Lesson6/testRandomWalk.param b/tutorial/mo/Lesson6/testRandomWalk.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson6/testRandomWalk.param rename to tutorial/mo/Lesson6/testRandomWalk.param diff --git a/mo/tutorial/Lesson7/CMakeLists.txt b/tutorial/mo/Lesson7/CMakeLists.txt old mode 100644 new mode 100755 similarity index 88% rename from mo/tutorial/Lesson7/CMakeLists.txt rename to tutorial/mo/Lesson7/CMakeLists.txt index 257d4c128..b2049e295 --- a/mo/tutorial/Lesson7/CMakeLists.txt +++ b/tutorial/mo/Lesson7/CMakeLists.txt @@ -16,7 +16,9 @@ add_lesson(mo Lesson7 "${files}") ### 2) Include dependencies ###################################################################################### -include_directories(${EO_SRC_DIR}/src - ${MO_SRC_DIR}/src - ${PROBLEMS_SRC_DIR}) +include_directories( + #${EO_SRC_DIR}/src + #${MO_SRC_DIR}/src + #${PROBLEMS_SRC_DIR} +) diff --git a/mo/tutorial/Lesson7/hybridAlgo.cpp b/tutorial/mo/Lesson7/hybridAlgo.cpp old mode 100644 new mode 100755 similarity index 89% rename from mo/tutorial/Lesson7/hybridAlgo.cpp rename to tutorial/mo/Lesson7/hybridAlgo.cpp index fb0667d03..62d69d717 --- a/mo/tutorial/Lesson7/hybridAlgo.cpp +++ b/tutorial/mo/Lesson7/hybridAlgo.cpp @@ -17,38 +17,38 @@ #include // the general include for eo -#include -#include -#include +#include +#include +#include using namespace std; //----------------------------------------------------------------------------- //Representation and initializer -#include -#include -#include +#include +#include +#include // fitness function -#include -#include -#include +#include +#include +#include //Neighbors and Neighborhoods -#include -#include +#include +#include //Mutation -#include -#include +#include +#include //Algorithm and its components -#include +#include //mo eval -#include +#include -#include +#include // REPRESENTATION //----------------------------------------------------------------------------- diff --git a/mo/tutorial/Lesson7/hybridAlgo.param b/tutorial/mo/Lesson7/hybridAlgo.param old mode 100644 new mode 100755 similarity index 100% rename from mo/tutorial/Lesson7/hybridAlgo.param rename to tutorial/mo/Lesson7/hybridAlgo.param diff --git a/mo/tutorial/Lesson9/CMakeLists.txt b/tutorial/mo/Lesson9/CMakeLists.txt old mode 100644 new mode 100755 similarity index 88% rename from mo/tutorial/Lesson9/CMakeLists.txt rename to tutorial/mo/Lesson9/CMakeLists.txt index e7ee8935e..d93734ed3 --- a/mo/tutorial/Lesson9/CMakeLists.txt +++ b/tutorial/mo/Lesson9/CMakeLists.txt @@ -16,7 +16,9 @@ add_lesson(mo Lesson9 "${files}") ### 2) Include dependencies ###################################################################################### -include_directories(${EO_SRC_DIR}/src - ${MO_SRC_DIR}/src - ${PROBLEMS_SRC_DIR}) +include_directories( + #${EO_SRC_DIR}/src + #${MO_SRC_DIR}/src + #${PROBLEMS_SRC_DIR} +) diff --git a/mo/tutorial/Lesson9/VNS.cpp b/tutorial/mo/Lesson9/VNS.cpp old mode 100644 new mode 100755 similarity index 82% rename from mo/tutorial/Lesson9/VNS.cpp rename to tutorial/mo/Lesson9/VNS.cpp index cadac8a44..06bf46338 --- a/mo/tutorial/Lesson9/VNS.cpp +++ b/tutorial/mo/Lesson9/VNS.cpp @@ -16,57 +16,57 @@ #include // the general include for eo -#include -#include +#include +#include using namespace std; //----------------------------------------------------------------------------- //Representation and initializer -#include -#include -#include +#include +#include +#include // fitness function -#include -#include -#include +#include +#include +#include //Neighbors and Neighborhoods -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include //Algorithm and its components -#include -#include -#include -#include -//#include +#include +#include +#include +#include +//#include -#include +#include //comparator -#include +#include //continuators -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include -#include -#include +#include +#include -#include -#include +#include +#include //----------------------------------------------------------------------------- // Define types of the representation solution, different neighbors and neighborhoods diff --git a/moeo/tutorial/CMakeLists.txt b/tutorial/moeo/CMakeLists.txt old mode 100644 new mode 100755 similarity index 88% rename from moeo/tutorial/CMakeLists.txt rename to tutorial/moeo/CMakeLists.txt index e18c0c2af..898837ede --- a/moeo/tutorial/CMakeLists.txt +++ b/tutorial/moeo/CMakeLists.txt @@ -2,13 +2,13 @@ ### 0) Include MO sources ###################################################################################### -include_directories(${MO_SRC_DIR}/src) +#include_directories(${MO_SRC_DIR}/src) ###################################################################################### ### 1) Define flowshop paths ###################################################################################### -set(FLOWSHOP_SRC_DIR ${MOEO_SRC_DIR}/tutorial/examples/flowshop) +set(FLOWSHOP_SRC_DIR ${MOEO_TUTORIAL_DIR}/examples/flowshop) set(FLOWSHOP_BINARY_DIR ${MOEO_BIN_DIR}/tutorial/examples/flowshop) ###################################################################################### diff --git a/moeo/tutorial/Lesson1/CMakeLists.txt b/tutorial/moeo/Lesson1/CMakeLists.txt old mode 100644 new mode 100755 similarity index 83% rename from moeo/tutorial/Lesson1/CMakeLists.txt rename to tutorial/moeo/Lesson1/CMakeLists.txt index 2d4330139..64fd8a62b --- a/moeo/tutorial/Lesson1/CMakeLists.txt +++ b/tutorial/moeo/Lesson1/CMakeLists.txt @@ -16,8 +16,10 @@ add_lesson(moeo Lesson1 "${files}") ### 2) Include dependencies ###################################################################################### -include_directories(${EO_SRC_DIR}/src - ${EO_SRC_DIR}/utils - ${MOEO_SRC_DIR}/src) +#include_directories( +# ${EO_SRC_DIR}/src +# ${EO_SRC_DIR}/utils +# ${MOEO_SRC_DIR}/src +# ) diff --git a/moeo/tutorial/Lesson1/Sch1.cpp b/tutorial/moeo/Lesson1/Sch1.cpp old mode 100644 new mode 100755 similarity index 97% rename from moeo/tutorial/Lesson1/Sch1.cpp rename to tutorial/moeo/Lesson1/Sch1.cpp index fdddf4609..1a44af003 --- a/moeo/tutorial/Lesson1/Sch1.cpp +++ b/tutorial/moeo/Lesson1/Sch1.cpp @@ -36,9 +36,9 @@ //----------------------------------------------------------------------------- #include -#include -#include -#include +#include +#include +#include using namespace std; diff --git a/moeo/tutorial/Lesson1/Sch1.param b/tutorial/moeo/Lesson1/Sch1.param old mode 100644 new mode 100755 similarity index 100% rename from moeo/tutorial/Lesson1/Sch1.param rename to tutorial/moeo/Lesson1/Sch1.param diff --git a/moeo/tutorial/Lesson2/CMakeLists.txt b/tutorial/moeo/Lesson2/CMakeLists.txt old mode 100644 new mode 100755 similarity index 85% rename from moeo/tutorial/Lesson2/CMakeLists.txt rename to tutorial/moeo/Lesson2/CMakeLists.txt index 9482dfca9..528414f4d --- a/moeo/tutorial/Lesson2/CMakeLists.txt +++ b/tutorial/moeo/Lesson2/CMakeLists.txt @@ -16,8 +16,8 @@ add_lesson(moeo Lesson2 "${files}") ### 2) Include dependencies ###################################################################################### -include_directories(${EO_SRC_DIR}/src) -include_directories(${MOEO_SRC_DIR}/src) -include_directories(${FLOWSHOP_SRC_DIR}) +#include_directories(${EO_SRC_DIR}/src) +#include_directories(${MOEO_SRC_DIR}/src) +#include_directories(${FLOWSHOP_SRC_DIR}) target_link_libraries(FlowShopEA moeo flowshop eo eoutils) diff --git a/moeo/tutorial/Lesson2/FlowShopEA.cpp b/tutorial/moeo/Lesson2/FlowShopEA.cpp old mode 100644 new mode 100755 similarity index 94% rename from moeo/tutorial/Lesson2/FlowShopEA.cpp rename to tutorial/moeo/Lesson2/FlowShopEA.cpp index 4f7a28913..9fc96680e --- a/moeo/tutorial/Lesson2/FlowShopEA.cpp +++ b/tutorial/moeo/Lesson2/FlowShopEA.cpp @@ -37,19 +37,19 @@ // moeo general include -#include +#include // for the creation of an evaluator -#include +#include "../examples/flowshop/make_eval_FlowShop.h" // for the creation of an initializer -#include +#include "../examples/flowshop/make_genotype_FlowShop.h" // for the creation of the variation operators -#include +#include "../examples/flowshop/make_op_FlowShop.h" // how to initialize the population -#include +#include // checks for help demand, and writes the status file and make_help; in libutils void make_help(eoParser & _parser); // definition of the representation -#include +#include "../examples/flowshop/FlowShop.h" using namespace std; diff --git a/moeo/tutorial/Lesson2/FlowShopEA.param b/tutorial/moeo/Lesson2/FlowShopEA.param old mode 100644 new mode 100755 similarity index 100% rename from moeo/tutorial/Lesson2/FlowShopEA.param rename to tutorial/moeo/Lesson2/FlowShopEA.param diff --git a/moeo/tutorial/Lesson3/CMakeLists.txt b/tutorial/moeo/Lesson3/CMakeLists.txt old mode 100644 new mode 100755 similarity index 85% rename from moeo/tutorial/Lesson3/CMakeLists.txt rename to tutorial/moeo/Lesson3/CMakeLists.txt index c9b9cfd65..aa215fc85 --- a/moeo/tutorial/Lesson3/CMakeLists.txt +++ b/tutorial/moeo/Lesson3/CMakeLists.txt @@ -16,8 +16,8 @@ add_lesson(moeo Lesson3 "${files}") ### 2) Include dependencies ###################################################################################### -include_directories(${EO_SRC_DIR}/src) -include_directories(${MOEO_SRC_DIR}/src) -include_directories(${FLOWSHOP_SRC_DIR}) +#include_directories(${EO_SRC_DIR}/src) +#include_directories(${MOEO_SRC_DIR}/src) +#include_directories(${FLOWSHOP_SRC_DIR}) target_link_libraries(FlowShopEA2 moeo flowshop eo eoutils) diff --git a/moeo/tutorial/Lesson3/FlowShopEA2.cpp b/tutorial/moeo/Lesson3/FlowShopEA2.cpp old mode 100644 new mode 100755 similarity index 89% rename from moeo/tutorial/Lesson3/FlowShopEA2.cpp rename to tutorial/moeo/Lesson3/FlowShopEA2.cpp index 1752bab4f..ac0aea06c --- a/moeo/tutorial/Lesson3/FlowShopEA2.cpp +++ b/tutorial/moeo/Lesson3/FlowShopEA2.cpp @@ -37,27 +37,27 @@ // moeo general include -#include +#include // for the creation of an evaluator -#include +#include "../examples/flowshop/make_eval_FlowShop.h" // for the creation of an initializer -#include +#include "../examples/flowshop/make_genotype_FlowShop.h" // for the creation of the variation operators -#include +#include "../examples/flowshop/make_op_FlowShop.h" // how to initialize the population -#include +#include // the stopping criterion -#include +#include // outputs (stats, population dumps, ...) -#include +#include // evolution engine (selection and replacement) -#include +#include // simple call to the algo -#include +#include // checks for help demand, and writes the status file and make_help; in libutils void make_help(eoParser & _parser); // definition of the representation -#include +#include "../examples/flowshop/FlowShop.h" using namespace std; diff --git a/moeo/tutorial/Lesson3/FlowShopEA2.param b/tutorial/moeo/Lesson3/FlowShopEA2.param old mode 100644 new mode 100755 similarity index 100% rename from moeo/tutorial/Lesson3/FlowShopEA2.param rename to tutorial/moeo/Lesson3/FlowShopEA2.param diff --git a/moeo/tutorial/Lesson4/CMakeLists.txt b/tutorial/moeo/Lesson4/CMakeLists.txt old mode 100644 new mode 100755 similarity index 85% rename from moeo/tutorial/Lesson4/CMakeLists.txt rename to tutorial/moeo/Lesson4/CMakeLists.txt index b1f34d562..0fe758f86 --- a/moeo/tutorial/Lesson4/CMakeLists.txt +++ b/tutorial/moeo/Lesson4/CMakeLists.txt @@ -12,9 +12,9 @@ set(files FlowShopDMLS) add_lesson(moeo Lesson4 "${files}") -include_directories(${EO_SRC_DIR}/src) -include_directories(${MOEO_SRC_DIR}/src) -include_directories(${FLOWSHOP_SRC_DIR}) +#include_directories(${EO_SRC_DIR}/src) +#include_directories(${MOEO_SRC_DIR}/src) +#include_directories(${FLOWSHOP_SRC_DIR}) ###################################################################################### ### 2) Include dependencies diff --git a/moeo/tutorial/Lesson4/FlowShopDMLS.cpp b/tutorial/moeo/Lesson4/FlowShopDMLS.cpp old mode 100644 new mode 100755 similarity index 91% rename from moeo/tutorial/Lesson4/FlowShopDMLS.cpp rename to tutorial/moeo/Lesson4/FlowShopDMLS.cpp index a2e864a77..947b016de --- a/moeo/tutorial/Lesson4/FlowShopDMLS.cpp +++ b/tutorial/moeo/Lesson4/FlowShopDMLS.cpp @@ -38,23 +38,23 @@ // moeo general include -#include +#include // for the creation of an evaluator -#include +#include "../examples/flowshop/make_eval_FlowShop.h" // for the creation of an initializer -#include +#include "../examples/flowshop/make_genotype_FlowShop.h" // for the creation of the variation operators -#include +#include "../examples/flowshop/make_op_FlowShop.h" // how to initialize the population -#include +#include // checks for help demand, and writes the status file and make_help; in libutils void make_help(eoParser & _parser); // definition of the representation -#include +#include "../examples/flowshop/FlowShop.h" -#include -#include -#include +#include +#include +#include using namespace std; diff --git a/moeo/tutorial/Lesson4/FlowShopDMLS.param b/tutorial/moeo/Lesson4/FlowShopDMLS.param old mode 100644 new mode 100755 similarity index 100% rename from moeo/tutorial/Lesson4/FlowShopDMLS.param rename to tutorial/moeo/Lesson4/FlowShopDMLS.param diff --git a/moeo/tutorial/examples/CMakeLists.txt b/tutorial/moeo/examples/CMakeLists.txt old mode 100644 new mode 100755 similarity index 100% rename from moeo/tutorial/examples/CMakeLists.txt rename to tutorial/moeo/examples/CMakeLists.txt diff --git a/moeo/tutorial/examples/flowshop/CMakeLists.txt b/tutorial/moeo/examples/flowshop/CMakeLists.txt old mode 100644 new mode 100755 similarity index 81% rename from moeo/tutorial/examples/flowshop/CMakeLists.txt rename to tutorial/moeo/examples/flowshop/CMakeLists.txt index fb57c07c9..bb6014e84 --- a/moeo/tutorial/examples/flowshop/CMakeLists.txt +++ b/tutorial/moeo/examples/flowshop/CMakeLists.txt @@ -2,9 +2,9 @@ ### 0) Include lessons subdirectories ###################################################################################### -include_directories(${EO_SRC_DIR}/src) -include_directories(${MOEO_SRC_DIR}/src) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +#include_directories(${EO_SRC_DIR}/src) +#include_directories(${MOEO_SRC_DIR}/src) +#include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ###################################################################################### ### 2) Define output paths @@ -39,11 +39,11 @@ install(TARGETS flowshop ARCHIVE DESTINATION ${LIB} COMPONENT libraries) ### 5) Installing benchs ###################################################################################### -install(DIRECTORY benchs DESTINATION include${INSTALL_SUB_DIR}/moeo/tutorial/flowshop COMPONENT tutorial) +install(DIRECTORY benchs DESTINATION ${PROJECT_HDRS_INSTALL_SUBPATH}/${PROJECT_TAG}/moeo/tutorial/flowshop COMPONENT tutorial) ###################################################################################### ### 6) Look for headers ###################################################################################### file(GLOB HDRS *.h) -install(FILES ${HDRS} DESTINATION include${INSTALL_SUB_DIR}/moeo/tutorial/examples/flowshop COMPONENT headers) +install(FILES ${HDRS} DESTINATION ${PROJECT_HDRS_INSTALL_SUBPATH}/${PROJECT_TAG}/moeo/tutorial/examples/flowshop COMPONENT headers) diff --git a/moeo/tutorial/examples/flowshop/FlowShop.cpp b/tutorial/moeo/examples/flowshop/FlowShop.cpp old mode 100644 new mode 100755 similarity index 98% rename from moeo/tutorial/examples/flowshop/FlowShop.cpp rename to tutorial/moeo/examples/flowshop/FlowShop.cpp index 0bf5dfe89..f25dd425c --- a/moeo/tutorial/examples/flowshop/FlowShop.cpp +++ b/tutorial/moeo/examples/flowshop/FlowShop.cpp @@ -35,7 +35,7 @@ */ //----------------------------------------------------------------------------- -#include +#include "FlowShop.h" std::string FlowShop::className() const { diff --git a/moeo/tutorial/examples/flowshop/FlowShop.h b/tutorial/moeo/examples/flowshop/FlowShop.h old mode 100644 new mode 100755 similarity index 96% rename from moeo/tutorial/examples/flowshop/FlowShop.h rename to tutorial/moeo/examples/flowshop/FlowShop.h index 11397b551..29da66ac4 --- a/moeo/tutorial/examples/flowshop/FlowShop.h +++ b/tutorial/moeo/examples/flowshop/FlowShop.h @@ -38,8 +38,8 @@ #ifndef FLOWSHOP_H_ #define FLOWSHOP_H_ -#include -#include +#include +#include "FlowShopObjectiveVector.h" /** * Structure of the genotype for the flow-shop scheduling problem: a vector of unsigned int int. diff --git a/moeo/tutorial/examples/flowshop/FlowShopBenchmarkParser.cpp b/tutorial/moeo/examples/flowshop/FlowShopBenchmarkParser.cpp old mode 100644 new mode 100755 similarity index 100% rename from moeo/tutorial/examples/flowshop/FlowShopBenchmarkParser.cpp rename to tutorial/moeo/examples/flowshop/FlowShopBenchmarkParser.cpp diff --git a/moeo/tutorial/examples/flowshop/FlowShopBenchmarkParser.h b/tutorial/moeo/examples/flowshop/FlowShopBenchmarkParser.h old mode 100644 new mode 100755 similarity index 100% rename from moeo/tutorial/examples/flowshop/FlowShopBenchmarkParser.h rename to tutorial/moeo/examples/flowshop/FlowShopBenchmarkParser.h diff --git a/moeo/tutorial/examples/flowshop/FlowShopEval.cpp b/tutorial/moeo/examples/flowshop/FlowShopEval.cpp old mode 100644 new mode 100755 similarity index 99% rename from moeo/tutorial/examples/flowshop/FlowShopEval.cpp rename to tutorial/moeo/examples/flowshop/FlowShopEval.cpp index 268012931..2bf72aa54 --- a/moeo/tutorial/examples/flowshop/FlowShopEval.cpp +++ b/tutorial/moeo/examples/flowshop/FlowShopEval.cpp @@ -35,7 +35,7 @@ */ //----------------------------------------------------------------------------- -#include +#include "FlowShopEval.h" FlowShopEval::FlowShopEval(unsigned int _M, unsigned int _N, const std::vector< std::vector > & _p, const std::vector & _d) : diff --git a/moeo/tutorial/examples/flowshop/FlowShopEval.h b/tutorial/moeo/examples/flowshop/FlowShopEval.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/tutorial/examples/flowshop/FlowShopEval.h rename to tutorial/moeo/examples/flowshop/FlowShopEval.h index 2eeb83678..277bc1421 --- a/moeo/tutorial/examples/flowshop/FlowShopEval.h +++ b/tutorial/moeo/examples/flowshop/FlowShopEval.h @@ -39,8 +39,8 @@ #define FLOWSHOPEVAL_H_ #include -#include -#include +#include +#include "FlowShop.h" /** * Evaluation of the objective vector a (multi-objective) FlowShop object diff --git a/moeo/tutorial/examples/flowshop/FlowShopInit.h b/tutorial/moeo/examples/flowshop/FlowShopInit.h old mode 100644 new mode 100755 similarity index 97% rename from moeo/tutorial/examples/flowshop/FlowShopInit.h rename to tutorial/moeo/examples/flowshop/FlowShopInit.h index d21072453..89a26eaed --- a/moeo/tutorial/examples/flowshop/FlowShopInit.h +++ b/tutorial/moeo/examples/flowshop/FlowShopInit.h @@ -38,8 +38,8 @@ #ifndef FLOWSHOPINIT_H_ #define FLOWSHOPINIT_H_ -#include -#include +#include +#include "FlowShop.h" /** * Initialization of a random genotype built by the default constructor of the FlowShop class diff --git a/moeo/tutorial/examples/flowshop/FlowShopObjectiveVector.h b/tutorial/moeo/examples/flowshop/FlowShopObjectiveVector.h old mode 100644 new mode 100755 similarity index 95% rename from moeo/tutorial/examples/flowshop/FlowShopObjectiveVector.h rename to tutorial/moeo/examples/flowshop/FlowShopObjectiveVector.h index 65814085f..a41e96d56 --- a/moeo/tutorial/examples/flowshop/FlowShopObjectiveVector.h +++ b/tutorial/moeo/examples/flowshop/FlowShopObjectiveVector.h @@ -38,8 +38,8 @@ #ifndef FLOWSHOPOBJECTIVEVECTOR_H_ #define FLOWSHOPOBJECTIVEVECTOR_H_ -#include -#include +#include +#include "FlowShopObjectiveVectorTraits.h" /** * Definition of the objective vector for multi-objective flow-shop problems: a vector of doubles diff --git a/moeo/tutorial/examples/flowshop/FlowShopObjectiveVectorTraits.cpp b/tutorial/moeo/examples/flowshop/FlowShopObjectiveVectorTraits.cpp old mode 100644 new mode 100755 similarity index 97% rename from moeo/tutorial/examples/flowshop/FlowShopObjectiveVectorTraits.cpp rename to tutorial/moeo/examples/flowshop/FlowShopObjectiveVectorTraits.cpp index 08487e873..29edddc08 --- a/moeo/tutorial/examples/flowshop/FlowShopObjectiveVectorTraits.cpp +++ b/tutorial/moeo/examples/flowshop/FlowShopObjectiveVectorTraits.cpp @@ -35,7 +35,7 @@ */ //----------------------------------------------------------------------------- -#include +#include "FlowShopObjectiveVectorTraits.h" bool FlowShopObjectiveVectorTraits::minimizing (int _i) diff --git a/moeo/tutorial/examples/flowshop/FlowShopObjectiveVectorTraits.h b/tutorial/moeo/examples/flowshop/FlowShopObjectiveVectorTraits.h old mode 100644 new mode 100755 similarity index 97% rename from moeo/tutorial/examples/flowshop/FlowShopObjectiveVectorTraits.h rename to tutorial/moeo/examples/flowshop/FlowShopObjectiveVectorTraits.h index b95d6f2ea..33c8a2be2 --- a/moeo/tutorial/examples/flowshop/FlowShopObjectiveVectorTraits.h +++ b/tutorial/moeo/examples/flowshop/FlowShopObjectiveVectorTraits.h @@ -38,7 +38,7 @@ #ifndef FLOWSHOPOBJECTIVEVECTORTRAITS_H_ #define FLOWSHOPOBJECTIVEVECTORTRAITS_H_ -#include +#include /** * Definition of the objective vector traits for multi-objective flow-shop problems diff --git a/moeo/tutorial/examples/flowshop/FlowShopOpCrossoverQuad.cpp b/tutorial/moeo/examples/flowshop/FlowShopOpCrossoverQuad.cpp old mode 100644 new mode 100755 similarity index 99% rename from moeo/tutorial/examples/flowshop/FlowShopOpCrossoverQuad.cpp rename to tutorial/moeo/examples/flowshop/FlowShopOpCrossoverQuad.cpp index 5b64c7e41..dba74e52d --- a/moeo/tutorial/examples/flowshop/FlowShopOpCrossoverQuad.cpp +++ b/tutorial/moeo/examples/flowshop/FlowShopOpCrossoverQuad.cpp @@ -35,7 +35,7 @@ */ //----------------------------------------------------------------------------- -#include +#include "FlowShopOpCrossoverQuad.h" std::string FlowShopOpCrossoverQuad::className() const diff --git a/moeo/tutorial/examples/flowshop/FlowShopOpCrossoverQuad.h b/tutorial/moeo/examples/flowshop/FlowShopOpCrossoverQuad.h old mode 100644 new mode 100755 similarity index 98% rename from moeo/tutorial/examples/flowshop/FlowShopOpCrossoverQuad.h rename to tutorial/moeo/examples/flowshop/FlowShopOpCrossoverQuad.h index 79fe70128..9ce88e231 --- a/moeo/tutorial/examples/flowshop/FlowShopOpCrossoverQuad.h +++ b/tutorial/moeo/examples/flowshop/FlowShopOpCrossoverQuad.h @@ -38,8 +38,8 @@ #ifndef FLOWSHOPOPCROSSOVERQUAD_H_ #define FLOWSHOPOPCROSSOVERQUAD_H_ -#include -#include +#include +#include "FlowShop.h" /** * Quadratic crossover operator for flow-shop (modify the both genotypes) diff --git a/moeo/tutorial/examples/flowshop/FlowShopOpMutationExchange.h b/tutorial/moeo/examples/flowshop/FlowShopOpMutationExchange.h old mode 100644 new mode 100755 similarity index 96% rename from moeo/tutorial/examples/flowshop/FlowShopOpMutationExchange.h rename to tutorial/moeo/examples/flowshop/FlowShopOpMutationExchange.h index 51801d9d9..7ec596a5e --- a/moeo/tutorial/examples/flowshop/FlowShopOpMutationExchange.h +++ b/tutorial/moeo/examples/flowshop/FlowShopOpMutationExchange.h @@ -38,8 +38,8 @@ #ifndef FLOWSHOPOPMUTATIONEXCHANGE_H_ #define FLOWSHOPOPMUTATIONEXCHANGE_H_ -#include -#include +#include +#include "FlowShop.h" /** * Exchange mutation operator for the flow-shop diff --git a/moeo/tutorial/examples/flowshop/FlowShopOpMutationShift.h b/tutorial/moeo/examples/flowshop/FlowShopOpMutationShift.h old mode 100644 new mode 100755 similarity index 96% rename from moeo/tutorial/examples/flowshop/FlowShopOpMutationShift.h rename to tutorial/moeo/examples/flowshop/FlowShopOpMutationShift.h index 523bb88f0..025be255d --- a/moeo/tutorial/examples/flowshop/FlowShopOpMutationShift.h +++ b/tutorial/moeo/examples/flowshop/FlowShopOpMutationShift.h @@ -38,8 +38,8 @@ #ifndef FLOWSHOPOPMUTATIONSHIFT_H_ #define FLOWSHOPOPMUTATIONSHIFT_H_ -#include -#include +#include +#include "FlowShop.h" /** * Shift mutation operator for flow-shop diff --git a/moeo/tutorial/examples/flowshop/benchs/020_05_01.txt b/tutorial/moeo/examples/flowshop/benchs/020_05_01.txt old mode 100644 new mode 100755 similarity index 100% rename from moeo/tutorial/examples/flowshop/benchs/020_05_01.txt rename to tutorial/moeo/examples/flowshop/benchs/020_05_01.txt diff --git a/moeo/tutorial/examples/flowshop/benchs/020_05_02.txt b/tutorial/moeo/examples/flowshop/benchs/020_05_02.txt old mode 100644 new mode 100755 similarity index 100% rename from moeo/tutorial/examples/flowshop/benchs/020_05_02.txt rename to tutorial/moeo/examples/flowshop/benchs/020_05_02.txt diff --git a/moeo/tutorial/examples/flowshop/benchs/020_10_01.txt b/tutorial/moeo/examples/flowshop/benchs/020_10_01.txt old mode 100644 new mode 100755 similarity index 100% rename from moeo/tutorial/examples/flowshop/benchs/020_10_01.txt rename to tutorial/moeo/examples/flowshop/benchs/020_10_01.txt diff --git a/moeo/tutorial/examples/flowshop/benchs/020_10_02.txt b/tutorial/moeo/examples/flowshop/benchs/020_10_02.txt old mode 100644 new mode 100755 similarity index 100% rename from moeo/tutorial/examples/flowshop/benchs/020_10_02.txt rename to tutorial/moeo/examples/flowshop/benchs/020_10_02.txt diff --git a/moeo/tutorial/examples/flowshop/benchs/020_20_01.txt b/tutorial/moeo/examples/flowshop/benchs/020_20_01.txt old mode 100644 new mode 100755 similarity index 100% rename from moeo/tutorial/examples/flowshop/benchs/020_20_01.txt rename to tutorial/moeo/examples/flowshop/benchs/020_20_01.txt diff --git a/moeo/tutorial/examples/flowshop/benchs/050_05_01.txt b/tutorial/moeo/examples/flowshop/benchs/050_05_01.txt old mode 100644 new mode 100755 similarity index 100% rename from moeo/tutorial/examples/flowshop/benchs/050_05_01.txt rename to tutorial/moeo/examples/flowshop/benchs/050_05_01.txt diff --git a/moeo/tutorial/examples/flowshop/benchs/050_10_01.txt b/tutorial/moeo/examples/flowshop/benchs/050_10_01.txt old mode 100644 new mode 100755 similarity index 100% rename from moeo/tutorial/examples/flowshop/benchs/050_10_01.txt rename to tutorial/moeo/examples/flowshop/benchs/050_10_01.txt diff --git a/moeo/tutorial/examples/flowshop/benchs/050_20_01.txt b/tutorial/moeo/examples/flowshop/benchs/050_20_01.txt old mode 100644 new mode 100755 similarity index 100% rename from moeo/tutorial/examples/flowshop/benchs/050_20_01.txt rename to tutorial/moeo/examples/flowshop/benchs/050_20_01.txt diff --git a/moeo/tutorial/examples/flowshop/benchs/100_05_01.txt b/tutorial/moeo/examples/flowshop/benchs/100_05_01.txt old mode 100644 new mode 100755 similarity index 100% rename from moeo/tutorial/examples/flowshop/benchs/100_05_01.txt rename to tutorial/moeo/examples/flowshop/benchs/100_05_01.txt diff --git a/moeo/tutorial/examples/flowshop/benchs/100_10_01.txt b/tutorial/moeo/examples/flowshop/benchs/100_10_01.txt old mode 100644 new mode 100755 similarity index 100% rename from moeo/tutorial/examples/flowshop/benchs/100_10_01.txt rename to tutorial/moeo/examples/flowshop/benchs/100_10_01.txt diff --git a/moeo/tutorial/examples/flowshop/benchs/100_20_01.txt b/tutorial/moeo/examples/flowshop/benchs/100_20_01.txt old mode 100644 new mode 100755 similarity index 100% rename from moeo/tutorial/examples/flowshop/benchs/100_20_01.txt rename to tutorial/moeo/examples/flowshop/benchs/100_20_01.txt diff --git a/moeo/tutorial/examples/flowshop/benchs/200_10_01.txt b/tutorial/moeo/examples/flowshop/benchs/200_10_01.txt old mode 100644 new mode 100755 similarity index 100% rename from moeo/tutorial/examples/flowshop/benchs/200_10_01.txt rename to tutorial/moeo/examples/flowshop/benchs/200_10_01.txt diff --git a/moeo/tutorial/examples/flowshop/benchs/README b/tutorial/moeo/examples/flowshop/benchs/README old mode 100644 new mode 100755 similarity index 100% rename from moeo/tutorial/examples/flowshop/benchs/README rename to tutorial/moeo/examples/flowshop/benchs/README diff --git a/moeo/tutorial/examples/flowshop/make_eval_FlowShop.h b/tutorial/moeo/examples/flowshop/make_eval_FlowShop.h old mode 100644 new mode 100755 similarity index 93% rename from moeo/tutorial/examples/flowshop/make_eval_FlowShop.h rename to tutorial/moeo/examples/flowshop/make_eval_FlowShop.h index 6836b2d6b..5dcccc85e --- a/moeo/tutorial/examples/flowshop/make_eval_FlowShop.h +++ b/tutorial/moeo/examples/flowshop/make_eval_FlowShop.h @@ -39,12 +39,12 @@ #define MAKE_EVAL_FLOWSHOP_H_ -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include "FlowShop.h" +#include "FlowShopBenchmarkParser.h" +#include "FlowShopEval.h" /* * This function creates an eoEvalFuncCounter that can later be used to evaluate an individual. diff --git a/moeo/tutorial/examples/flowshop/make_genotype_FlowShop.h b/tutorial/moeo/examples/flowshop/make_genotype_FlowShop.h old mode 100644 new mode 100755 similarity index 94% rename from moeo/tutorial/examples/flowshop/make_genotype_FlowShop.h rename to tutorial/moeo/examples/flowshop/make_genotype_FlowShop.h index d1af7d8e4..5a15c0071 --- a/moeo/tutorial/examples/flowshop/make_genotype_FlowShop.h +++ b/tutorial/moeo/examples/flowshop/make_genotype_FlowShop.h @@ -38,11 +38,11 @@ #ifndef MAKE_GENOTYPE_FLOWSHOP_H_ #define MAKE_GENOTYPE_FLOWSHOP_H_ -#include -#include -#include -#include -#include +#include +#include +#include "FlowShop.h" +#include "FlowShopInit.h" +#include "FlowShopBenchmarkParser.h" /* * This function creates an eoInit that can later be used to initialize the population (see make_pop.h). diff --git a/moeo/tutorial/examples/flowshop/make_op_FlowShop.h b/tutorial/moeo/examples/flowshop/make_op_FlowShop.h old mode 100644 new mode 100755 similarity index 92% rename from moeo/tutorial/examples/flowshop/make_op_FlowShop.h rename to tutorial/moeo/examples/flowshop/make_op_FlowShop.h index 4316f7f65..30b6d8191 --- a/moeo/tutorial/examples/flowshop/make_op_FlowShop.h +++ b/tutorial/moeo/examples/flowshop/make_op_FlowShop.h @@ -38,16 +38,16 @@ #ifndef MAKE_OP_FLOWSHOP_H_ #define MAKE_OP_FLOWSHOP_H_ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include "FlowShopOpCrossoverQuad.h" +#include "FlowShopOpMutationShift.h" +#include "FlowShopOpMutationExchange.h" /* * This function builds the operators that will be applied to the eoFlowShop diff --git a/smp/tutorial/BaseLesson.h b/tutorial/smp/BaseLesson.h old mode 100644 new mode 100755 similarity index 100% rename from smp/tutorial/BaseLesson.h rename to tutorial/smp/BaseLesson.h diff --git a/smp/tutorial/CMakeLists.txt b/tutorial/smp/CMakeLists.txt old mode 100644 new mode 100755 similarity index 81% rename from smp/tutorial/CMakeLists.txt rename to tutorial/smp/CMakeLists.txt index 4f6087a69..ac3168208 --- a/smp/tutorial/CMakeLists.txt +++ b/tutorial/smp/CMakeLists.txt @@ -11,10 +11,10 @@ add_subdirectory(Lesson4) ### 0) Install BaseFile for all lessons and data ###################################################################################### -install(FILES BaseLesson.h DESTINATION include${INSTALL_SUB_DIR}/smp/tutorial COMPONENT tutorial) +install(FILES BaseLesson.h DESTINATION ${PROJECT_HDRS_INSTALL_SUBPATH}/${PROJECT_TAG}/smp/tutorial COMPONENT tutorial) execute_process( COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/lessonData.dat ${CMAKE_CURRENT_BINARY_DIR}/lessonData.dat) -install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/lessonData.dat DESTINATION share${INSTALL_SUB_DIR}/smp/tutorial COMPONENT tutorial) +install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/lessonData.dat DESTINATION share/${PROJECT_TAG}/smp/tutorial COMPONENT tutorial) diff --git a/smp/tutorial/Lesson1/CMakeLists.txt b/tutorial/smp/Lesson1/CMakeLists.txt old mode 100644 new mode 100755 similarity index 90% rename from smp/tutorial/Lesson1/CMakeLists.txt rename to tutorial/smp/Lesson1/CMakeLists.txt index b763a4a8f..358f9f79d --- a/smp/tutorial/Lesson1/CMakeLists.txt +++ b/tutorial/smp/Lesson1/CMakeLists.txt @@ -18,9 +18,9 @@ add_lesson(smp Lesson1 "${files}") ### 2) Include dependencies ###################################################################################### -include_directories(${EO_SRC_DIR}/src - ${SMP_SRC_DIR}/src - ${PROBLEMS_SRC_DIR}) +#include_directories(${EO_SRC_DIR}/src +# ${SMP_SRC_DIR}/src +# ${PROBLEMS_SRC_DIR}) execute_process( diff --git a/smp/tutorial/Lesson1/QAP.h b/tutorial/smp/Lesson1/QAP.h similarity index 99% rename from smp/tutorial/Lesson1/QAP.h rename to tutorial/smp/Lesson1/QAP.h index b4cc84df0..83adca917 100755 --- a/smp/tutorial/Lesson1/QAP.h +++ b/tutorial/smp/Lesson1/QAP.h @@ -30,7 +30,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr #ifndef QAP_H #define QAP_H -#include +#include /* global variables */ extern int n; // size diff --git a/smp/tutorial/Lesson1/QAPGA.h b/tutorial/smp/Lesson1/QAPGA.h old mode 100644 new mode 100755 similarity index 100% rename from smp/tutorial/Lesson1/QAPGA.h rename to tutorial/smp/Lesson1/QAPGA.h diff --git a/smp/tutorial/Lesson1/lesson1_data.dat b/tutorial/smp/Lesson1/lesson1_data.dat old mode 100644 new mode 100755 similarity index 100% rename from smp/tutorial/Lesson1/lesson1_data.dat rename to tutorial/smp/Lesson1/lesson1_data.dat diff --git a/smp/tutorial/Lesson1/lesson1_eoEasyEA.cpp b/tutorial/smp/Lesson1/lesson1_eoEasyEA.cpp old mode 100644 new mode 100755 similarity index 99% rename from smp/tutorial/Lesson1/lesson1_eoEasyEA.cpp rename to tutorial/smp/Lesson1/lesson1_eoEasyEA.cpp index 84ba99288..f5dfd2b11 --- a/smp/tutorial/Lesson1/lesson1_eoEasyEA.cpp +++ b/tutorial/smp/Lesson1/lesson1_eoEasyEA.cpp @@ -32,7 +32,7 @@ Contact: paradiseo-help@lists.gforge.inria.fr * redefinition of the crossover, mutation, initialisation of solution. * */ -#include +#include #include "QAP.h" #include "QAPGA.h" #include diff --git a/smp/tutorial/Lesson1/lesson1_eoEasyEA.param b/tutorial/smp/Lesson1/lesson1_eoEasyEA.param similarity index 100% rename from smp/tutorial/Lesson1/lesson1_eoEasyEA.param rename to tutorial/smp/Lesson1/lesson1_eoEasyEA.param diff --git a/smp/tutorial/Lesson1/parserStruct.h b/tutorial/smp/Lesson1/parserStruct.h old mode 100644 new mode 100755 similarity index 100% rename from smp/tutorial/Lesson1/parserStruct.h rename to tutorial/smp/Lesson1/parserStruct.h diff --git a/smp/tutorial/Lesson1/utils.h b/tutorial/smp/Lesson1/utils.h similarity index 100% rename from smp/tutorial/Lesson1/utils.h rename to tutorial/smp/Lesson1/utils.h diff --git a/smp/tutorial/Lesson2/CMakeLists.txt b/tutorial/smp/Lesson2/CMakeLists.txt old mode 100644 new mode 100755 similarity index 88% rename from smp/tutorial/Lesson2/CMakeLists.txt rename to tutorial/smp/Lesson2/CMakeLists.txt index ad673e3c6..b6e906f24 --- a/smp/tutorial/Lesson2/CMakeLists.txt +++ b/tutorial/smp/Lesson2/CMakeLists.txt @@ -18,6 +18,6 @@ add_lesson(smp Lesson2 "${files}") ### 2) Include dependencies ###################################################################################### -include_directories(${EO_SRC_DIR}/src - ${SMP_SRC_DIR}/src - ${PROBLEMS_SRC_DIR}) +#include_directories(${EO_SRC_DIR}/src +# ${SMP_SRC_DIR}/src +# ${PROBLEMS_SRC_DIR}) diff --git a/smp/tutorial/Lesson2/lesson2_homogeneous.cpp b/tutorial/smp/Lesson2/lesson2_homogeneous.cpp old mode 100644 new mode 100755 similarity index 98% rename from smp/tutorial/Lesson2/lesson2_homogeneous.cpp rename to tutorial/smp/Lesson2/lesson2_homogeneous.cpp index 9a908ce59..3a87d3e1c --- a/smp/tutorial/Lesson2/lesson2_homogeneous.cpp +++ b/tutorial/smp/Lesson2/lesson2_homogeneous.cpp @@ -34,8 +34,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr // and different parameters for each island. /*/////////////////////////////////////////////////////////////////// -#include -#include +#include +#include #include "../BaseLesson.h" diff --git a/smp/tutorial/Lesson3/CMakeLists.txt b/tutorial/smp/Lesson3/CMakeLists.txt old mode 100644 new mode 100755 similarity index 88% rename from smp/tutorial/Lesson3/CMakeLists.txt rename to tutorial/smp/Lesson3/CMakeLists.txt index 9e199afd4..960cfc28d --- a/smp/tutorial/Lesson3/CMakeLists.txt +++ b/tutorial/smp/Lesson3/CMakeLists.txt @@ -18,6 +18,6 @@ add_lesson(smp Lesson3 "${files}") ### 2) Include dependencies ###################################################################################### -include_directories(${EO_SRC_DIR}/src - ${SMP_SRC_DIR}/src - ${PROBLEMS_SRC_DIR}) +#include_directories(${EO_SRC_DIR}/src +# ${SMP_SRC_DIR}/src +# ${PROBLEMS_SRC_DIR}) diff --git a/smp/tutorial/Lesson3/lesson3_heterogeneous.cpp b/tutorial/smp/Lesson3/lesson3_heterogeneous.cpp old mode 100644 new mode 100755 similarity index 98% rename from smp/tutorial/Lesson3/lesson3_heterogeneous.cpp rename to tutorial/smp/Lesson3/lesson3_heterogeneous.cpp index d573d8444..65998517c --- a/smp/tutorial/Lesson3/lesson3_heterogeneous.cpp +++ b/tutorial/smp/Lesson3/lesson3_heterogeneous.cpp @@ -39,9 +39,9 @@ Contact: paradiseo-help@lists.gforge.inria.fr // begining of this file. /*/////////////////////////////////////////////////////////////////// -#include -#include -#include +#include +#include +#include #include "../BaseLesson.h" diff --git a/smp/tutorial/Lesson4/CMakeLists.txt b/tutorial/smp/Lesson4/CMakeLists.txt old mode 100644 new mode 100755 similarity index 88% rename from smp/tutorial/Lesson4/CMakeLists.txt rename to tutorial/smp/Lesson4/CMakeLists.txt index 68e0af08b..ee87c4afe --- a/smp/tutorial/Lesson4/CMakeLists.txt +++ b/tutorial/smp/Lesson4/CMakeLists.txt @@ -18,6 +18,6 @@ add_lesson(smp Lesson4 "${files}") ### 2) Include dependencies ###################################################################################### -include_directories(${EO_SRC_DIR}/src - ${SMP_SRC_DIR}/src - ${PROBLEMS_SRC_DIR}) +#include_directories(${EO_SRC_DIR}/src +# ${SMP_SRC_DIR}/src +# ${PROBLEMS_SRC_DIR}) diff --git a/smp/tutorial/Lesson4/lesson4_topology.cpp b/tutorial/smp/Lesson4/lesson4_topology.cpp old mode 100644 new mode 100755 similarity index 98% rename from smp/tutorial/Lesson4/lesson4_topology.cpp rename to tutorial/smp/Lesson4/lesson4_topology.cpp index 780b4e4b0..b86e23a59 --- a/smp/tutorial/Lesson4/lesson4_topology.cpp +++ b/tutorial/smp/Lesson4/lesson4_topology.cpp @@ -34,8 +34,8 @@ Contact: paradiseo-help@lists.gforge.inria.fr // of computation. /*/////////////////////////////////////////////////////////////////// -#include -#include +#include +#include #include #include "../BaseLesson.h" diff --git a/smp/tutorial/lessonData.dat b/tutorial/smp/lessonData.dat old mode 100644 new mode 100755 similarity index 100% rename from smp/tutorial/lessonData.dat rename to tutorial/smp/lessonData.dat diff --git a/website/200px-Graph_betweenness.svg.png b/website/200px-Graph_betweenness.svg.png old mode 100644 new mode 100755 diff --git a/website/BatchGantt1.png b/website/BatchGantt1.png old mode 100644 new mode 100755 diff --git a/website/EO_star.svg b/website/EO_star.svg old mode 100644 new mode 100755 diff --git a/website/Evolutionary_algorithm.png b/website/Evolutionary_algorithm.png old mode 100644 new mode 100755 diff --git a/website/Evolutionary_algorithm.svg b/website/Evolutionary_algorithm.svg old mode 100644 new mode 100755 diff --git a/website/Gallagher_Gaussian_BBOB_f21.png b/website/Gallagher_Gaussian_BBOB_f21.png old mode 100644 new mode 100755 diff --git a/website/Graph_betweenness.svg b/website/Graph_betweenness.svg old mode 100644 new mode 100755 diff --git a/website/eo_ico.png b/website/eo_ico.png old mode 100644 new mode 100755 diff --git a/website/eo_logo.png b/website/eo_logo.png old mode 100644 new mode 100755 diff --git a/website/eo_logo.svg b/website/eo_logo.svg old mode 100644 new mode 100755 diff --git a/website/eo_logo_48_notext.png b/website/eo_logo_48_notext.png old mode 100644 new mode 100755 diff --git a/website/eo_logo_fronde.svg b/website/eo_logo_fronde.svg old mode 100644 new mode 100755 diff --git a/website/fronde.png b/website/fronde.png old mode 100644 new mode 100755 diff --git a/website/index.html b/website/index.html old mode 100644 new mode 100755 diff --git a/website/lightblue.css b/website/lightblue.css old mode 100644 new mode 100755 diff --git a/website/paradiseo_logo.svg b/website/paradiseo_logo.svg old mode 100644 new mode 100755 From 516a4c52f84eaf1adcde0e21ce48df8671ac4994 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Mon, 8 Sep 2014 10:33:38 +0200 Subject: [PATCH 25/29] Minor error on CMakeLists. .deb & .rpm packages now ok. --- src/moeo/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/moeo/CMakeLists.txt b/src/moeo/CMakeLists.txt index 223cf541f..ac52b4f77 100755 --- a/src/moeo/CMakeLists.txt +++ b/src/moeo/CMakeLists.txt @@ -36,7 +36,7 @@ install(FILES moeo.h DESTINATION ${PROJECT_HDRS_INSTALL_SUBPATH}/${PROJECT_TAG} ### 4) Install directories ###################################################################################### -install(DIRECTORY acceptCrit algo archive comparator continue core distance diversity do explorer fitness hybridization metric replacement scalarStuffs selection utils +install(DIRECTORY algo archive comparator continue core distance diversity do explorer fitness hybridization metric replacement scalarStuffs selection utils DESTINATION ${PROJECT_HDRS_INSTALL_SUBPATH}/${PROJECT_TAG}/moeo COMPONENT headers FILES_MATCHING PATTERN "*.h" From 1353157cb6733ac43d972bcb1bbaa2aa7080f320 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Sun, 28 Sep 2014 23:08:53 +0200 Subject: [PATCH 26/29] Using library in order to re-implement the methods of the class eoRng (issue #24). Add two new CMake Cache Values: ENABLE_CXX11_RANDOM & ENABLE_64_BIT_RNG_NUMBERS. Add a test file; Python chi-square & shapiro-wilk tests: done. --- CMakeLists.txt | 3 +- build_gcc_linux_install | 40 ++- cmake/Config.cmake | 29 +- src/eo/config.h.cmake | 6 + src/eo/pyeo/random_numbers.cpp | 10 +- src/eo/utils/eoRNG.cpp | 10 +- src/eo/utils/eoRNG.h | 544 ++++++++++++++++++++------------- test/eo/CMakeLists.txt | 8 +- test/eo/t-eoRNGcxx11.cpp | 292 ++++++++++++++++++ 9 files changed, 716 insertions(+), 226 deletions(-) create mode 100644 test/eo/t-eoRNGcxx11.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index a92068c4f..a031a5230 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -109,11 +109,10 @@ if(ENABLE_CMAKE_TESTING) add_subdirectory(test) endif(ENABLE_CMAKE_TESTING) - ###################################################################################### ### 6) Packaging : only in release ! ###################################################################################### if("${CMAKE_BUILD_TYPE}" STREQUAL "Release") include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Package.cmake) -endif() +endif() \ No newline at end of file diff --git a/build_gcc_linux_install b/build_gcc_linux_install index 8c8d308b5..64925ef2e 100755 --- a/build_gcc_linux_install +++ b/build_gcc_linux_install @@ -14,7 +14,7 @@ color() { mkdir -pv build cd build -color 5 '\nDefine CMAKE cache values.\n' +color 5 'Define CMAKE cache values.' ################################## # choose modules for compilation # @@ -121,16 +121,38 @@ else FLAG=$FLAG' '" -DENABLE_OPENMP=false" fi #ENABLE_OPENMP -color 5 "\nset $FLAG\n" +color 1 'Do you want to enable C++11 random numbers (no by default)?(y/n)' +read res + +if [ "$res" = "y" ]; then + FLAG=$FLAG' '" -DENABLE_CXX11_RANDOM=true" -cmake $FLAG .. + color 1 'Do you want to enable 64-bit random numbers (no by default)?(y/n)' + read res + + if [ "$res" = "y" ]; then + FLAG=$FLAG' '" -DENABLE_64_BIT_RNG_NUMBERS=true" + else + FLAG=$FLAG' '" -DENABLE_64_BIT_RNG_NUMBERS=false" + fi #ENABLE_64_BIT_RNG_NUMBERS + +else + FLAG=$FLAG' '" -DENABLE_CXX11_RANDOM=false" +fi #ENABLE_CXX11_RANDOM + +color 5 "set $FLAG" + +FLAG2="-DENABLE_CMAKE_TESTING=false" +FLAG2=$FLAG2' '" -DENABLE_CMAKE_EXAMPLE=false" + +cmake $FLAG $FLAG2 .. ############### # compile doc # # default: no # ############### -color 1 '\nDo you want to compile the documentation (be patient it can be a bit long)?(y/n)' +color 1 'Do you want to compile the documentation (be patient it can be a bit long)?(y/n)' read res if [ "$res" = "y" ]; then @@ -143,14 +165,14 @@ fi # default path: /usr/local/include/paradiseo # ############################################## -color 1 '\nDo you want to install the sources on your laptop?(y/n) +color 1 'Do you want to install the sources on your laptop?(y/n) If "no" you will not be able to compile tests or tutorials which require the project library installation on your laptop.' read res if [ "$res" = "y" ]; then - color 5 '\nOk. For your information we let you the possibility + color 5 'Ok. For your information we let you the possibility to change the install path on your laptop but also to personalize the project name in order to avoid some name conflicts with headers. @@ -176,7 +198,7 @@ Go see the script line 166-170 to see what it looks like.' # default: no # ################# - color 1 '\nDo you want to compile tests?(y/n)' + color 1 'Do you want to compile tests?(y/n)' read test_compile if [ "$test_compile" = "y" ]; then @@ -207,7 +229,7 @@ Go see the script line 166-170 to see what it looks like.' fi - color 5 "\nset $FLAG\n" + color 5 "set $FLAG" cmake $FLAG .. if [ "$test_compile" = "y" ] || [ "$tutorial_compile" = "y" ]; then @@ -248,3 +270,5 @@ else make fi + +cd .. diff --git a/cmake/Config.cmake b/cmake/Config.cmake index a1a709c6e..278298caf 100755 --- a/cmake/Config.cmake +++ b/cmake/Config.cmake @@ -54,7 +54,6 @@ elseif(INSTALL_TYPE STREQUAL min OR NOT DEFINED INSTALL_TYPE) set(ENABLE_CMAKE_TESTING "false" CACHE BOOL "ParadisEO tests") endif() - ###################################################################################### ### 2) Define profiling flags ###################################################################################### @@ -75,11 +74,37 @@ if(ENABLE_CMAKE_TESTING) endif(ENABLE_CMAKE_TESTING) ###################################################################################### -### 5) Build examples ? +### 4) Build examples ? ###################################################################################### set(ENABLE_CMAKE_EXAMPLE "true" CACHE BOOL "ParadisEO examples") +###################################################################################### +### 5) Random numbers +###################################################################################### + +set(ENABLE_CXX11_RANDOM "false" CACHE BOOL "For C++11 random numbers") +set(ENABLE_64_BIT_RNG_NUMBERS "false" CACHE BOOL "For 64-bit random numbers") + +# For C++11 random numbers +if(ENABLE_CXX11_RANDOM) + + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_RANDOM") + + if (UNIX OR CMAKE_COMPILER_IS_GNUCXX) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11") + endif (UNIX OR CMAKE_COMPILER_IS_GNUCXX) + if (APPLE) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=10.7") + endif (APPLE) + + # For 64-bit random numbers + if(ENABLE_64_BIT_RNG_NUMBERS) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWITH_64_BIT_RNG_NUMBERS") + endif(ENABLE_64_BIT_RNG_NUMBERS) + +endif(ENABLE_CXX11_RANDOM) + ###################################################################################### ### 6) Determine prefix for installation ###################################################################################### diff --git a/src/eo/config.h.cmake b/src/eo/config.h.cmake index 24568be10..d2055bcc0 100755 --- a/src/eo/config.h.cmake +++ b/src/eo/config.h.cmake @@ -6,6 +6,12 @@ /* gnuplot graphical display */ #cmakedefine HAVE_GNUPLOT +/* Enable C++11 random library */ +#cmakedefine HAVE_RANDOM + +/* Enable 64-bit random numbers using C++11 random library */ +#cmakedefine WITH_64_BIT_RNG_NUMBERS + /* Define to 1 if you have the header file. */ #cmakedefine HAVE_INTTYPES_H diff --git a/src/eo/pyeo/random_numbers.cpp b/src/eo/pyeo/random_numbers.cpp index 01bb883b4..996d9f9c6 100755 --- a/src/eo/pyeo/random_numbers.cpp +++ b/src/eo/pyeo/random_numbers.cpp @@ -28,10 +28,12 @@ using namespace boost::python; using namespace boost::python; -// initialize static constants -const uint32_t eoRng::K(0x9908B0DFU); -const int eoRng::M(397); -const int eoRng::N(624); +#ifndef HAVE_RANDOM + // initialize static constants + const uint32_t eoRng::K(0x9908B0DFU); + const int eoRng::M(397); + const int eoRng::N(624); +#endif HAVE_RANDOM namespace eo { diff --git a/src/eo/utils/eoRNG.cpp b/src/eo/utils/eoRNG.cpp index b538499f1..2a9fd5f4c 100755 --- a/src/eo/utils/eoRNG.cpp +++ b/src/eo/utils/eoRNG.cpp @@ -6,10 +6,12 @@ #include #include "eoRNG.h" -// initialize static constants -const uint32_t eoRng::K(0x9908B0DFU); -const int eoRng::M(397); -const int eoRng::N(624); +#ifndef HAVE_RANDOM + // initialize static constants + const uint32_t eoRng::K(0x9908B0DFU); + const int eoRng::M(397); + const int eoRng::N(624); +#endif namespace eo { diff --git a/src/eo/utils/eoRNG.h b/src/eo/utils/eoRNG.h index 6e9af74f3..02eda3efc 100755 --- a/src/eo/utils/eoRNG.h +++ b/src/eo/utils/eoRNG.h @@ -27,9 +27,9 @@ Old contact information: todos@geneura.ugr.es, http://geneura.ugr.es /** @addtogroup Random * @{ - * */ + * */ -# if (defined _MSC_VER) +#if (defined _MSC_VER) /** uint32_t is an unsigned integer type capable of holding 32 bits. In the applicatione here exactly 32 are used. @@ -37,22 +37,48 @@ Old contact information: todos@geneura.ugr.es, http://geneura.ugr.es optimization levels so feel free to try your options and see what's best for you. */ -typedef unsigned long uint32_t; + typedef unsigned long uint32_t; #else -#if (! defined __sun) -// The C99-standard defines uint32_t to be declared in stdint.h, but some -// systems don't have that and implement it in inttypes.h. -#include -#else -#include -#endif + #if (! defined __sun) + // The C99-standard defines uint32_t to be declared in stdint.h, but some + // systems don't have that and implement it in inttypes.h. + #include + #else + #include + #endif #endif #include #include +#include // std::accumulate (see roulette_wheel()) + #include "../eoPersistent.h" #include "../eoObject.h" +#ifdef HAVE_RANDOM + #include // Mersenne Twister available since C++11 ! About random library : + // "this library allows to produce random numbers using combinations of generators and distributions". + // (see www.cplusplus.com/reference/random/) +#endif + +#if (UINT_MAX == 0xFFFFFFFFU) // Compile time check (32-bit vs. 64-bit environment) + #define ENV32BIT +#endif + +#ifdef HAVE_RANDOM // If set to true (see CMake cache values) + #ifndef ENV32BIT // Only on 64-bit environment + #ifdef WITH_64_BIT_RNG_NUMBERS // If set to true (see CMake cache values) + typedef uint64_t uint_t; // The C++11 Mersenne Twister pseudo-random generator can generate 64-bits numbers ! + #else + typedef uint32_t uint_t; + #endif + #else + typedef uint32_t uint_t; + #endif +#else + typedef uint32_t uint_t; +#endif + /** Random Number Generator @@ -122,18 +148,25 @@ public : @see reseed for details on usage of the seeding value. */ - eoRng(uint32_t s) - : state(0), next(0), left(-1), cached(false) - { - state = new uint32_t[N+1]; - initialize(2*s); - } + eoRng(uint_t s) + #ifdef HAVE_RANDOM + : seed(s), position(0) + { + generator.seed(s); // initialize the internal state value + } + #else + : state(0), next(0), left(-1), cached(false) + { + state = new uint_t[N+1]; + initialize(2*s); + } - /** Destructor */ - ~eoRng() - { - delete [] state; - } + /** Destructor */ + ~eoRng() + { + delete [] state; + } + #endif /** Re-initializes the Random Number Generator. @@ -143,11 +176,17 @@ public : Manually divide the seed by 2 if you want to re-run old runs - @version MS. 5 Oct. 2001 + @version MS. 5 Oct. 2001eoRNG */ - void reseed(uint32_t s) + void reseed(uint_t s) { - initialize(2*s); + #ifdef HAVE_RANDOM + seed = s; + position = 0; + generator.seed(s); // re-initialize the internal state value + #else + initialize(2*s); + #endif } /* FIXME remove in next release @@ -174,7 +213,11 @@ public : */ double uniform(double m = 1.0) { // random number between [0, m] - return m * double(rand()) / double(1.0 + rand_max()); + #ifdef HAVE_RANDOM + return uniform(0.0, m); + #else + return m * double(rand()) / double(1.0 + rand_max()); + #endif } /** Random number from unifom distribution @@ -185,7 +228,13 @@ public : */ double uniform(double min, double max) { // random number between [min, max] - return min + uniform(max - min); + #ifdef HAVE_RANDOM + increment_position(); + std::uniform_real_distribution distribution(min, max); + return distribution(generator); + #else + return min + uniform(max - min); + #endif } /** Random integer number from unifom distribution @@ -193,14 +242,14 @@ public : @param m Define interval for random number to [0, m) @return random integer in the range [0, m) */ - uint32_t random(uint32_t m) + uint_t random(uint_t m) { // C++ Standard (4.9 Floatingintegral conversions [conv.fpint]) // defines floating point to integer conversion as truncation // ("rounding towards zero"): "An rvalue of a floating point type // can be converted to an rvalue of an integer type. The conversion // truncates; that is, the fractional part is discarded" - return uint32_t(uniform() * double(m)); + return uint_t(uniform() * double(m)); } /** Biased coin toss @@ -232,7 +281,13 @@ public : @return Random Gaussian deviate */ double normal(double stdev) - { return stdev * normal(); } + { + #ifdef HAVE_RANDOM + return normal(0.0, stdev); + #else + return stdev * normal(); + #endif + } /** Gaussian deviate @@ -243,19 +298,21 @@ public : @return Random Gaussian deviate */ double normal(double mean, double stdev) - { return mean + normal(stdev); } - - /** - * @brief Forgets the last cached value of normal(), so as to be able to perform some repeatable calls to normal(). - * - * As normal() stores a cached value for performance purposes, sequences of pseudo random numbers can't be repeated - * when reseeding, since the cached value can be yield before a number is generated. To avoid that, this method - * allows one to clean the cache and force to regenerate a new pseudo random number. - */ - void clearCache() - { - cached = false; - } + { + #ifdef HAVE_RANDOM + // Don't increment the position here ... + std::normal_distribution distribution(mean, stdev); + double ret = distribution(generator); + // ... but reseed the generator and call discard() to go further into the state sequence. + generator.seed(seed); + generator.discard(position); // According to the C++11 random library documentation + // the function complexity will be linear in the + // number of equivalent advances + return ret; + #else + return mean + normal(stdev); + #endif + } /** Random numbers using a negative exponential distribution @@ -264,19 +321,15 @@ public : */ double negexp(double mean) { - return -mean*log(double(rand()) / rand_max()); + #ifdef HAVE_RANDOM + increment_position(); + std::exponential_distribution distribution(mean); + return distribution(generator); + #else + return -mean*log(double(rand()) / rand_max()); + #endif } - /** - rand() returns a random number in the range [0, rand_max) - */ - uint32_t rand(); - - /** - rand_max() the maximum returned by rand() - */ - uint32_t rand_max() const { return uint32_t(0xffffffff); } - /** Roulette wheel selection roulette_wheel(vec, total = 0) does a roulette wheel selection @@ -287,10 +340,8 @@ public : int roulette_wheel(const std::vector& vec, TYPE total = 0) { if (total == 0) - { // count - for (unsigned i = 0; i < vec.size(); ++i) - total += vec[i]; - } + total = std::accumulate(vec.begin(), vec.end(), total); // count + double fortune = uniform() * total; int i = 0; while (fortune >= 0) @@ -300,7 +351,6 @@ public : return --i; } - /** Randomly select element from vector. @return Uniformly chosen element from the vector. @@ -330,134 +380,215 @@ public : */ void printOn(std::ostream& _os) const { - for (int i = 0; i < N; ++i) - { - _os << state[i] << ' '; - } - _os << int(next - state) << ' '; - _os << left << ' ' << cached << ' ' << cacheValue; + #ifdef HAVE_RANDOM + // print the two requested parameters on the stream + _os << seed << ' '; + _os << position << ' '; + #else + for (int i = 0; i < N; ++i) + { + _os << state[i] << ' '; + } + _os << int(next - state) << ' '; + _os << left << ' ' << cached << ' ' << cacheValue; + #endif } - /** @brief Read RNG - - @param _is Stream to read RNG from + /** @brief Read RNG. + If the C++11 random library is used the complexity + will be "linear in the number of equivalent advances". + @param _is Stream to read RNG from */ - void readFrom(std::istream& _is) + void readFrom(std::istream& _is) { - for (int i = 0; i < N; ++i) - { - _is >> state[i]; - } + #ifdef HAVE_RANDOM + _is >> seed; + _is >> position; + generator.seed(seed); + generator.discard(position); // According to the C++11 random library documentation + // the function complexity will be linear in the + // number of equivalent advances + #else + for (int i = 0; i < N; ++i) + { + _is >> state[i]; + } + int n; + _is >> n; + next = state + n; + + _is >> left; + _is >> cached; + _is >> cacheValue; + #endif + } - int n; - _is >> n; - next = state + n; + /** + rand() returns a random number in the range [0, rand_max) + */ + uint_t rand(); - _is >> left; - _is >> cached; - _is >> cacheValue; + /** + rand_max() the maximum returned by rand() + */ + uint_t rand_max() const + { + #ifdef HAVE_RANDOM + return generator.max(); + #else + return uint_t(0xffffffff); + #endif } + #ifdef HAVE_RANDOM + + /** + * @brief Increment the position of the last generated number into the state sequence + */ + void increment_position() + { + if (position >= generator.state_size) + position = 1; + else + ++position; + } + + #else + /** + * @brief Forgets the last cached value of normal(), so as to be able to perform some repeatable calls to normal(). + * + * As normal() stores a cached value for performance purposes, sequences of pseudo random numbers can't be repeated + * when reseeding, since the cached value can be yield before a number is generated. To avoid that, this method + * allows one to clean the cache and force to regenerate a new pseudo random number. + */ + void clearCache() + { + cached = false; + } + + #endif + std::string className() const { return "Mersenne-Twister"; } private: - uint32_t restart(); + eoRng(const eoRng&); - /* @brief Initialize state + /** @brief Assignment operator - We initialize state[0..(N-1)] via the generator + @see Copy constructor eoRng(const eoRng&). + */ + eoRng& operator=(const eoRng&); - x_new = (69069 * x_old) mod 2^32 + #ifdef HAVE_RANDOM // If set to true (see CMake cache values) + #ifndef ENV32BIT // Only on 64-bit environment + #ifdef WITH_64_BIT_RNG_NUMBERS // If set to true (see CMake cache values) + std::mt19937_64 generator; // Mersenne Twister pseudo-random generator of 64-bits numbers with a state of 19937 bits + // 312 elements in the state sequence + #else + std::mt19937 generator; + #endif + #else + std::mt19937 generator; // Mersenne Twister pseudo-random generator of 32-bits numbers with a state of 19937 bits + // 624 elements in the state sequence + #endif - from Line 15 of Table 1, p. 106, Sec. 3.3.4 of Knuth's _The Art of Computer - Programming_, Volume 2, 3rd ed. + uint_t seed; // Last value which was used to initialize the internal state value of the generator + // (one of the two requested parameters for the serialization) - Notes (SJC): I do not know what the initial state requirements of the - Mersenne Twister are, but it seems this seeding generator could be better. - It achieves the maximum period for its modulus (2^30) iff x_initial is odd - (p. 20-21, Sec. 3.2.1.2, Knuth); if x_initial can be even, you have - sequences like 0, 0, 0, ...; 2^31, 2^31, 2^31, ...; 2^30, 2^30, 2^30, ...; - 2^29, 2^29 + 2^31, 2^29, 2^29 + 2^31, ..., etc. so I force seed to be odd - below. + unsigned position; // Position of the last generated number into the state sequence + // (one of the two requested parameters for the serialization) + + #else + + uint_t restart(); - Even if x_initial is odd, if x_initial is 1 mod 4 then + /* @brief Initialize state - the lowest bit of x is always 1, - the next-to-lowest bit of x is always 0, - the 2nd-from-lowest bit of x alternates ... 0 1 0 1 0 1 0 1 ... , - the 3rd-from-lowest bit of x 4-cycles ... 0 1 1 0 0 1 1 0 ... , - the 4th-from-lowest bit of x has the 8-cycle ... 0 0 0 1 1 1 1 0 ... , - ... + We initialize state[0..(N-1)] via the generator - and if x_initial is 3 mod 4 then + x_new = (69069 * x_old) mod 2^32 - the lowest bit of x is always 1, - the next-to-lowest bit of x is always 1, - the 2nd-from-lowest bit of x alternates ... 0 1 0 1 0 1 0 1 ... , - the 3rd-from-lowest bit of x 4-cycles ... 0 0 1 1 0 0 1 1 ... , - the 4th-from-lowest bit of x has the 8-cycle ... 0 0 1 1 1 1 0 0 ... , - ... + from Line 15 of Table 1, p. 106, Sec. 3.3.4 of Knuth's _The Art of Computer + Programming_, Volume 2, 3rd ed. - The generator's potency (min. s>=0 with (69069-1)^s = 0 mod 2^32) is 16, - which seems to be alright by p. 25, Sec. 3.2.1.3 of Knuth. It also does well - in the dimension 2..5 spectral tests, but it could be better in dimension 6 - (Line 15, Table 1, p. 106, Sec. 3.3.4, Knuth). + Notes (SJC): I do not know what the initial state requirements of the + Mersenne Twister are, but it seems this seeding generator could be better. + It achieves the maximum period for its modulus (2^30) iff x_initial is odd + (p. 20-21, Sec. 3.2.1.2, Knuth); if x_initial can be even, you have + sequences like 0, 0, 0, ...; 2^31, 2^31, 2^31, ...; 2^30, 2^30, 2^30, ...; + 2^29, 2^29 + 2^31, 2^29, 2^29 + 2^31, ..., etc. so I force seed to be odd + below. - Note that the random number user does not see the values generated here - directly since restart() will always munge them first, so maybe none of all - of this matters. In fact, the seed values made here could even be - extra-special desirable if the Mersenne Twister theory says so-- that's why - the only change I made is to restrict to odd seeds. - */ - void initialize(uint32_t seed); + Even if x_initial is odd, if x_initial is 1 mod 4 then - /** @brief Array for the state */ - uint32_t *state; + the lowest bit of x is always 1, + the next-to-lowest bit of x is always 0, + the 2nd-from-lowest bit of x alternates ... 0 1 0 1 0 1 0 1 ... , + the 3rd-from-lowest bit of x 4-cycles ... 0 1 1 0 0 1 1 0 ... , + the 4th-from-lowest bit of x has the 8-cycle ... 0 0 0 1 1 1 1 0 ... , + ... - /** Pointer to next available random number */ - uint32_t *next; + and if x_initial is 3 mod 4 then - /** Number of random numbers currently left */ - int left; + the lowest bit of x is always 1, + the next-to-lowest bit of x is always 1, + the 2nd-from-lowest bit of x alternates ... 0 1 0 1 0 1 0 1 ... , + the 3rd-from-lowest bit of x 4-cycles ... 0 0 1 1 0 0 1 1 ... , + the 4th-from-lowest bit of x has the 8-cycle ... 0 0 1 1 1 1 0 0 ... , + ... - /** @brief Is there a valid cached value for the normal distribution? */ - bool cached; + The generator's potency (min. s>=0 with (69069-1)^s = 0 mod 2^32) is 16, + which seems to be alright by p. 25, Sec. 3.2.1.3 of Knuth. It also does well + in the dimension 2..5 spectral tests, but it could be better in dimension 6 + (Line 15, Table 1, p. 106, Sec. 3.3.4, Knuth). - /** @brief Cached value for normal distribution? */ - double cacheValue; + Note that the random number user does not see the values generated here + directly since restart() will always munge them first, so maybe none of all + of this matters. In fact, the seed values made here could even be + extra-special desirable if the Mersenne Twister theory says so-- that's why + the only change I made is to restrict to odd seeds. + */ + void initialize(uint_t seed); - /** @brief Size of the state-vector */ - static const int N; + /** @brief Array for the state */ + uint_t *state; - /** Internal constant */ - static const int M; + /** Pointer to next available random number */ + uint_t *next; - /** @brief Magic constant */ - static const uint32_t K; + /** Number of random numbers currently left */ + int left; + /** @brief Is there a valid cached value for the normal distribution? */ + bool cached; - /** @brief Copy constructor + /** @brief Cached value for normal distribution? */ + double cacheValue; - Private copy ctor and assignment operator to make sure that nobody - accidentally copies the random number generator. If you want similar RNG's, - make two RNG's and initialize them with the same seed. + /** @brief Size of the state-vector */ + static const int N; - As it cannot be called, we do not provide an implementation. - */ - eoRng(const eoRng&); + /** Internal constant */ + static const int M; - /** @brief Assignment operator + /** @brief Magic constant */ + static const uint_t K; - @see Copy constructor eoRng(const eoRng&). - */ - eoRng& operator=(const eoRng&); + + /** @brief Copy constructor + + Private copy ctor and assignment operator to make sure that nobody + accidentally copies the random number generator. If you want similar RNG's, + make two RNG's and initialize them with the same seed. + + As it cannot be called, we do not provide an implementation. + */ + #endif }; /** @example t-eoRNG.cpp */ - - namespace eo { /** The one and only global eoRng object */ @@ -468,83 +599,87 @@ using eo::rng; /** @} */ +#ifndef HAVE_RANDOM + // Implementation of some eoRng members.... Don't mind the mess, it does work. -// Implementation of some eoRng members.... Don't mind the mess, it does work. - -#define hiBit(u) ((u) & 0x80000000U) // mask all but highest bit of u -#define loBit(u) ((u) & 0x00000001U) // mask all but lowest bit of u -#define loBits(u) ((u) & 0x7FFFFFFFU) // mask the highest bit of u -#define mixBits(u, v) (hiBit(u)|loBits(v)) // move hi bit of u to hi bit of v - + #define hiBit(u) ((u) & 0x80000000U) // mask all but highest bit of u + #define loBit(u) ((u) & 0x00000001U) // mask all but lowest bit of u + #define loBits(u) ((u) & 0x7FFFFFFFU) // mask the highest bit of u + #define mixBits(u, v) (hiBit(u)|loBits(v)) // move hi bit of u to hi bit of v -inline void eoRng::initialize(uint32_t seed) -{ - left = -1; - - register uint32_t x = (seed | 1U) & 0xFFFFFFFFU, *s = state; - register int j; - for(left=0, *s++=x, j=N; --j; - *s++ = (x*=69069U) & 0xFFFFFFFFU) ; -} + inline void eoRng::initialize(uint_t seed) + { + left = -1; + register uint_t x = (seed | 1U) & 0xFFFFFFFFU, *s = state; + register int j; + for(left=0, *s++=x, j=N; --j; + *s++ = (x*=69069U) & 0xFFFFFFFFU) ; + } -inline uint32_t eoRng::restart() -{ - register uint32_t *p0=state, *p2=state+2, *pM=state+M, s0, s1; - register int j; - left=N-1, next=state+1; + inline uint_t eoRng::restart() + { + register uint_t *p0=state, *p2=state+2, *pM=state+M, s0, s1; + register int j; - for(s0=state[0], s1=state[1], j=N-M+1; --j; s0=s1, s1=*p2++) - *p0++ = *pM++ ^ (mixBits(s0, s1) >> 1) ^ (loBit(s1) ? K : 0U); + left=N-1, next=state+1; - for(pM=state, j=M; --j; s0=s1, s1=*p2++) - *p0++ = *pM++ ^ (mixBits(s0, s1) >> 1) ^ (loBit(s1) ? K : 0U); + for(s0=state[0], s1=state[1], j=N-M+1; --j; s0=s1, s1=*p2++) + *p0++ = *pM++ ^ (mixBits(s0, s1) >> 1) ^ (loBit(s1) ? K : 0U); - s1=state[0], *p0 = *pM ^ (mixBits(s0, s1) >> 1) ^ (loBit(s1) ? K : 0U); - s1 ^= (s1 >> 11); - s1 ^= (s1 << 7) & 0x9D2C5680U; - s1 ^= (s1 << 15) & 0xEFC60000U; - return(s1 ^ (s1 >> 18)); -} + for(pM=state, j=M; --j; s0=s1, s1=*p2++) + *p0++ = *pM++ ^ (mixBits(s0, s1) >> 1) ^ (loBit(s1) ? K : 0U); + s1=state[0], *p0 = *pM ^ (mixBits(s0, s1) >> 1) ^ (loBit(s1) ? K : 0U); + s1 ^= (s1 >> 11); + s1 ^= (s1 << 7) & 0x9D2C5680U; + s1 ^= (s1 << 15) & 0xEFC60000U; + return(s1 ^ (s1 >> 18)); + } +#endif -inline uint32_t eoRng::rand() +inline uint_t eoRng::rand() { - if(--left < 0) - return(restart()); - uint32_t y = *next++; - y ^= (y >> 11); - y ^= (y << 7) & 0x9D2C5680U; - y ^= (y << 15) & 0xEFC60000U; - return(y ^ (y >> 18)); + #ifdef HAVE_RANDOM + increment_position(); + return generator(); + #else + if(--left < 0) + return(restart()); + uint_t y = *next++; + y ^= (y >> 11); + y ^= (y << 7) & 0x9D2C5680U; + y ^= (y << 15) & 0xEFC60000U; + return(y ^ (y >> 18)); + #endif } - - inline double eoRng::normal() -{ - if (cached) { - cached = false; - return cacheValue; + { + #ifdef HAVE_RANDOM + return eoRng::normal(0.0, 1.0); + #else + if (cached) { + cached = false; + return cacheValue; + } + double rSquare, var1, var2; + do { + var1 = 2.0 * uniform() - 1.0; + var2 = 2.0 * uniform() - 1.0; + rSquare = var1 * var1 + var2 * var2; + } while (rSquare >= 1.0 || rSquare == 0.0); + double factor = sqrt(-2.0 * log(rSquare) / rSquare); + cacheValue = var1 * factor; + cached = true; + return (var2 * factor); + #endif } - double rSquare, var1, var2; - do { - var1 = 2.0 * uniform() - 1.0; - var2 = 2.0 * uniform() - 1.0; - rSquare = var1 * var1 + var2 * var2; - } while (rSquare >= 1.0 || rSquare == 0.0); - double factor = sqrt(-2.0 * log(rSquare) / rSquare); - cacheValue = var1 * factor; - cached = true; - return (var2 * factor); -} - - namespace eo { @@ -599,7 +734,6 @@ namespace eo inline double normal() { return rng.normal(); } } - #endif @@ -609,4 +743,4 @@ namespace eo // c-file-offsets: ((c . 0)) // c-file-style: "Stroustrup" // fill-column: 80 -// End: +// End: \ No newline at end of file diff --git a/test/eo/CMakeLists.txt b/test/eo/CMakeLists.txt index 0dff4c9ce..f4b03c406 100755 --- a/test/eo/CMakeLists.txt +++ b/test/eo/CMakeLists.txt @@ -71,12 +71,18 @@ set (TEST_LIST t-eoParser ) +# For C++11 random numbers +if(ENABLE_CXX11_RANDOM) + set (TEST_LIST ${TEST_LIST} t-eoRNGcxx11) # tests the eoRng class update (thanks to the new C++11 random library) + + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I /usr/include/python2.7 -lpython2.7") # Install developpement package for Python and add Python library link + +endif(ENABLE_CXX11_RANDOM) foreach (test ${TEST_LIST}) set ("T_${test}_SOURCES" "${test}.cpp") endforeach (test) - if(ENABLE_MINIMAL_CMAKE_TESTING) set (MIN_TEST_LIST t-eoEasyPSO) diff --git a/test/eo/t-eoRNGcxx11.cpp b/test/eo/t-eoRNGcxx11.cpp new file mode 100644 index 000000000..91c7a16ec --- /dev/null +++ b/test/eo/t-eoRNGcxx11.cpp @@ -0,0 +1,292 @@ +#include +#include + +#include // std::stringstream +#include // assertions are used by serialization tests +#include +#include +#include // in order to reseed generator +#include // statistical tests using Python +#include // statistical tests using Python +#include + +void basic_tests() +{ + std::cout << "basic_tests" << std::endl; + + std::cout << "rand():" << rng.rand() << std::endl; + std::cout << "rand_max():" << rng.rand_max() << std::endl; + + uint_t s = static_cast(time(0)); + rng.reseed(s); + + std::cout << "uniform():" << rng.uniform() << std::endl; + std::cout << "uniform(2.4):" << rng.uniform(2.4) << std::endl; + std::cout << "uniform(0.0, 20.0):" << rng.uniform(0.0, 20.0) << std::endl; + + std::cout << "flip:" << rng.flip() << std::endl; + + std::cout << "normal():" << rng.normal() << std::endl; + std::cout << "normal(6.7):" << rng.normal(6.7) << std::endl; + std::cout << "normal(1000, 0.1):" << rng.normal(1000, 0.1) << std::endl; + + std::cout << "negexp:" << rng.negexp(4.7) << std::endl; + + int tab[] = {3, 46, 6, 89, 50, 78}; + std::vector v (tab, tab + sizeof(tab) / sizeof(int)); + std::cout << "roulette_wheel(v):" << rng.roulette_wheel(v) << std::endl; + std::cout << "choice(v):" << rng.choice(v) << std::endl; +} + +void test_function(const unsigned N, uint_t(eoRng::*ptr)()) +{ + std::stringstream ss; + ss << rng; // Print eoRNG on stream + uint_t r1 = (rng.*ptr)(); + for (unsigned i = 0; i < N; i++) + (rng.*ptr)(); + ss >> rng; // Read eoRNG from stream + uint_t r2 = (rng.*ptr)(); + + assert(r1 == r2); +} + +void test_function(const unsigned N, double(eoRng::*ptr)(double), const double m) +{ + std::stringstream ss; + ss << rng; // Print eoRNG on stream + uint_t r1 = (rng.*ptr)(m); + for (unsigned i = 0; i < N; i++) + (rng.*ptr)(m); + ss >> rng; // Read eoRNG from stream + uint_t r2 = (rng.*ptr)(m); + + assert(r1 == r2); +} + +/** Test the serialization + * The serialization allows the user to stop the pseudo-random generator + * and save its state in a stream in order to continue the generation + * from this exact state later. + */ +void serialization_tests(const unsigned N, const double d) +{ + std::cout << "serialization_test with N=" << N << " and d=" << d << ":" << std::endl; + + uint_t(eoRng::*ptr_rand)() = &eoRng::rand; + double(eoRng::*ptr_uniform)(double) = &eoRng::uniform; + double(eoRng::*ptr_normal)(double) = &eoRng::normal; + double(eoRng::*ptr_negexp)(double) = &eoRng::negexp; + + uint_t s = static_cast(time(0)); + + rng.reseed(s); + test_function(N, ptr_rand); + + rng.reseed(s); + test_function(N, ptr_uniform, double(1.0)); + + rng.reseed(s); + test_function(N, ptr_normal, d); + + rng.reseed(s); + test_function(N, ptr_negexp, d); + + std::cout << "ok" << std::endl; +} + +/** Statistical tests using Python + * + * scipy.stats.shapiro: + * "Perform the Shapiro-Wilk test for normality". + * "The Shapiro-Wilk test tests the null hypothesis that the data was drawn from a normal distribution." + * See documentation for more details : http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.shapiro.html + * This test is based on the 'normal()' eoRng-implemented method. + * + * scipy.stats.chisquare: + * "Calculates a one-way chi square test." + * "The chi square test tests the null hypothesis that the categorical data has the given frequencies." + * See documentation for more details : http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.chisquare.html + * This test is based on the 'uniform()' eoRng-implemented method. + */ +void stat_tests(const unsigned N) +{ + // Initialize the Python interpreter + Py_Initialize(); + // Create Python objects which will be used later + PyObject *pName, *pModule, *pDict, *pFunc, *pArgs_shapi, *pArgs_csquare, *f_obs, *f_expect, *pX, *pResult = NULL; + // Convert the module name into a Python string + pName = PyString_FromString("scipy.stats"); + // Import the Python module + pModule = PyImport_Import(pName); + // Import Numpty too + pName = PyString_FromString("numpy"); + PyImport_Import(pName); + // Create a dictionary for the contents of the module + pDict = PyModule_GetDict(pModule); + // In order to reseed generator + uint_t s; + // For Python N-arrays constructions + import_array(); + npy_intp dims[1] = {N}; + + std::cout << "Python Shapiro-Wilk test based on normal() distribution " << N << " values:" << std::endl; + + // Memory allocation requested (if N too big) + double* x = NULL; + x = (double*) malloc(N*sizeof(double)); + if (x == NULL) + { + std::cout << "Memory allocation failed" << std::endl; + exit(-1); + } + + for (unsigned i = 0; i < N; i++) + { + // Important : don't forget to reseed the generator + s = static_cast(time(0) + i-1); // Chosen method to reseed generator (contestable): + // Add i-1 seconds to the current time based on the current system + rng.reseed(s); + + x[i] = rng.normal(); + } + + // Create a Python tuple to hold the method arguments + pArgs_shapi = PyTuple_New(1); + + pX = PyArray_SimpleNewFromData(1, dims, NPY_DOUBLE, x); + PyTuple_SetItem(pArgs_shapi, 0, pX); + + // Get the method from the dictionary + pFunc = PyDict_GetItemString(pDict, "shapiro"); // scipy.stats.shapiro(x, a=None, reta=False) + + // Call the Python method + pResult = PyObject_CallObject(pFunc, pArgs_shapi); + + // Print a message if the method call failed + if (pResult == NULL) + { + std::cout << "Python Shapiro-Wilk test method call has failed. See shapirowilk_test()." << std::endl; + PyErr_Print(); + exit(-1); + } + else + { + double W = PyFloat_AsDouble(PyTuple_GetItem(pResult, 0)); + double p_value = PyFloat_AsDouble(PyTuple_GetItem(pResult, 1)); + std::cout << "Shapiro-Wilk test statistic:" << W << std::endl; + std::cout << "p-value of the Shapiro-Wilk test (strong if < 0.05):" << p_value << std::endl; + //Py_DECREF(pResult); + } + + // Free allocated memory + free(x); + + std::cout << "Python chi square test based on uniform() distribution with " << N << " values:" << std::endl; + + uint_t max = rng.rand_max(); + double v_exp = 1.0/max; + + // Memory allocation requested (if N too big) + double* expect_freq = NULL; + double* obs_freq = NULL; + + expect_freq = (double*) malloc(N*sizeof(double)); + if (expect_freq == NULL) + { + std::cout << "First memory allocation failed" << std::endl; + exit(-1); + } + obs_freq = (double*) malloc(N*sizeof(double)); + if (obs_freq == NULL) + { + std::cout << "Second memory allocation failed" << std::endl; + exit(-1); + } + + for (unsigned i = 0; i < N; i++) + { + // Important : don't forget to reseed the generator + s = static_cast(time(0) + i-1); // Chosen method to reseed generator (contestable): + // Add i-1 seconds to the current time based on the current system + rng.reseed(s); + + // Observed frequencies + obs_freq[i] = rng.uniform(); + + // Expected frequencies + expect_freq[i] = v_exp; + } + + f_obs = PyArray_SimpleNewFromData(1, dims, NPY_DOUBLE, obs_freq); + f_expect = PyArray_SimpleNewFromData(1, dims, NPY_DOUBLE, expect_freq); + + // Create Python tuple to hold the method arguments + pArgs_csquare = PyTuple_New(2); + + PyTuple_SetItem(pArgs_csquare, 0, f_obs); + PyTuple_SetItem(pArgs_csquare, 1, f_expect); + + // Get the method from the dictionary + pFunc = PyDict_GetItemString(pDict, "chisquare"); // scipy.stats.chisquare(f_obs, f_exp=None, ddof=0, axis=0) + + // Call the Python method + pResult = PyObject_CallObject(pFunc, pArgs_csquare); + + // Print a message if the method call failed + if (pResult == NULL) // it should be two float numbers (chisq := the chi square test statistic, p := the p-value of the test) + { + std::cout << "Python chi square test method call has failed. See chisquare_test()." << std::endl; + PyErr_Print(); + } + else + { + double chisq = PyFloat_AsDouble(PyTuple_GetItem(pResult, 0)); + double p_value = PyFloat_AsDouble(PyTuple_GetItem(pResult, 1)); + std::cout << "chi square test statistic:" << chisq << std::endl; + std::cout << "p-value of the chi square test (strong if < 0.05):" << p_value << std::endl; + Py_DECREF(pResult); + } + + // Free allocated memory + free(expect_freq); + free(obs_freq); + + // Clean up + // Desallocation Python function call + // Python objects are : PyObject *pName, *pModule, *pDict, *pFunc, *pArgs_shapi, *pArgs_csquare, *f_obs, *f_expect, *pX, *pResult; + Py_DECREF(pName); + Py_DECREF(pModule); + //Py_DECREF(pDict); // Causes a 'Fatal Python error: deletion of interned string failed. Aborted' + Py_DECREF(pFunc); + Py_DECREF(pArgs_shapi); // Causes a 'Segmentation fault' error. + Py_DECREF(pArgs_csquare); + //Py_DECREF(pX); // Causes a 'Segmentation fault' error. + //Py_DECREF(f_obs); // Causes a 'Segmentation fault' error. + //Py_DECREF(f_expect); // Causes a 'Segmentation fault' error. + + // Destroy the Python interpreter + Py_Finalize(); +} + +int main() +{ + basic_tests(); + + rng.reseed(static_cast(time(0))); + constexpr double min = std::numeric_limits::min(); + constexpr double max = std::numeric_limits::max(); + double d = rng.uniform(min, max); + serialization_tests(635, d); // Reminder: + // Mersenne Twister pseudo-random generator of 32-bits numbers with a state of 19937 bits + // 624 elements in the state sequence + // Mersenne Twister pseudo-random generator of 64-bits numbers with a state of 19937 bits + // 312 elements in the state sequence + + stat_tests(2500); // Warning: limit for N (Shapiro-Wilk test) + // if N > 5000: warnings.warn("p-value may not be accurate for N > 5000.") + // See https://github.com/scipy/scipy/blob/master/scipy/stats/morestats.py for more details. + // Personal warning with API C-Python : causes valgrind errors + + return 0; +} \ No newline at end of file From 6b464f7fa67e6bdc4c6039da2acf79d9a60e7a35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Sat, 4 Oct 2014 16:37:40 +0200 Subject: [PATCH 27/29] Deprecated "eo/contrib/boost/" folder + minor errors on several CMakeLists.txt from test folder and on an eompi test file. --- src/eo/contrib/boost/config.hpp | 59 -- src/eo/contrib/boost/config/abi_prefix.hpp | 20 - src/eo/contrib/boost/config/abi_suffix.hpp | 21 - src/eo/contrib/boost/config/auto_link.hpp | 344 ----------- .../contrib/boost/config/compiler/borland.hpp | 175 ------ .../contrib/boost/config/compiler/comeau.hpp | 59 -- .../boost/config/compiler/common_edg.hpp | 62 -- .../boost/config/compiler/compaq_cxx.hpp | 19 - .../boost/config/compiler/digitalmars.hpp | 49 -- src/eo/contrib/boost/config/compiler/gcc.hpp | 105 ---- .../boost/config/compiler/greenhills.hpp | 28 - .../contrib/boost/config/compiler/hp_acc.hpp | 70 --- .../contrib/boost/config/compiler/intel.hpp | 146 ----- src/eo/contrib/boost/config/compiler/kai.hpp | 35 -- .../boost/config/compiler/metrowerks.hpp | 104 ---- src/eo/contrib/boost/config/compiler/mpw.hpp | 51 -- .../boost/config/compiler/sgi_mipspro.hpp | 24 - .../boost/config/compiler/sunpro_cc.hpp | 90 --- .../contrib/boost/config/compiler/vacpp.hpp | 58 -- .../contrib/boost/config/compiler/visualc.hpp | 147 ----- src/eo/contrib/boost/config/platform/aix.hpp | 33 -- .../contrib/boost/config/platform/amigaos.hpp | 15 - src/eo/contrib/boost/config/platform/beos.hpp | 26 - src/eo/contrib/boost/config/platform/bsd.hpp | 71 --- .../contrib/boost/config/platform/cygwin.hpp | 48 -- src/eo/contrib/boost/config/platform/hpux.hpp | 68 --- src/eo/contrib/boost/config/platform/irix.hpp | 31 - .../contrib/boost/config/platform/linux.hpp | 98 ---- .../contrib/boost/config/platform/macos.hpp | 78 --- .../contrib/boost/config/platform/solaris.hpp | 21 - .../contrib/boost/config/platform/win32.hpp | 50 -- .../contrib/boost/config/posix_features.hpp | 87 --- .../contrib/boost/config/requires_threads.hpp | 92 --- .../boost/config/select_compiler_config.hpp | 83 --- .../boost/config/select_platform_config.hpp | 86 --- .../boost/config/select_stdlib_config.hpp | 68 --- .../boost/config/stdlib/dinkumware.hpp | 106 ---- .../contrib/boost/config/stdlib/libcomo.hpp | 46 -- .../boost/config/stdlib/libstdcpp3.hpp | 61 -- src/eo/contrib/boost/config/stdlib/modena.hpp | 30 - src/eo/contrib/boost/config/stdlib/msl.hpp | 59 -- .../contrib/boost/config/stdlib/roguewave.hpp | 127 ---- src/eo/contrib/boost/config/stdlib/sgi.hpp | 111 ---- .../contrib/boost/config/stdlib/stlport.hpp | 201 ------- src/eo/contrib/boost/config/stdlib/vacpp.hpp | 18 - src/eo/contrib/boost/config/suffix.hpp | 547 ------------------ src/eo/contrib/boost/config/user.hpp | 124 ---- src/eo/contrib/boost/limits.hpp | 142 ----- src/eo/contrib/boost/numeric/interval.hpp | 32 - .../contrib/boost/numeric/interval/arith.hpp | 305 ---------- .../contrib/boost/numeric/interval/arith2.hpp | 212 ------- .../contrib/boost/numeric/interval/arith3.hpp | 69 --- .../boost/numeric/interval/checking.hpp | 130 ----- .../boost/numeric/interval/compare.hpp | 19 - .../numeric/interval/compare/certain.hpp | 113 ---- .../numeric/interval/compare/explicit.hpp | 248 -------- .../interval/compare/lexicographic.hpp | 122 ---- .../numeric/interval/compare/possible.hpp | 113 ---- .../boost/numeric/interval/compare/set.hpp | 101 ---- .../numeric/interval/compare/tribool.hpp | 138 ----- .../boost/numeric/interval/constants.hpp | 85 --- .../interval/detail/bcc_rounding_control.hpp | 57 -- .../boost/numeric/interval/detail/bugs.hpp | 79 --- .../interval/detail/c99_rounding_control.hpp | 47 -- .../detail/c99sub_rounding_control.hpp | 43 -- .../numeric/interval/detail/division.hpp | 194 ------- .../interval/detail/interval_prototype.hpp | 41 -- .../interval/detail/msvc_rounding_control.hpp | 88 --- .../interval/detail/ppc_rounding_control.hpp | 95 --- .../detail/sparc_rounding_control.hpp | 112 ---- .../numeric/interval/detail/test_input.hpp | 76 --- .../interval/detail/x86_rounding_control.hpp | 108 ---- .../detail/x86gcc_rounding_control.hpp | 51 -- .../boost/numeric/interval/ext/integer.hpp | 70 --- .../ext/x86_fast_rounding_control.hpp | 70 --- .../boost/numeric/interval/hw_rounding.hpp | 64 -- .../boost/numeric/interval/interval.hpp | 450 -------------- src/eo/contrib/boost/numeric/interval/io.hpp | 41 -- .../contrib/boost/numeric/interval/limits.hpp | 51 -- .../boost/numeric/interval/policies.hpp | 75 --- .../boost/numeric/interval/rounded_arith.hpp | 120 ---- .../boost/numeric/interval/rounded_transc.hpp | 140 ----- .../boost/numeric/interval/rounding.hpp | 101 ---- .../contrib/boost/numeric/interval/transc.hpp | 232 -------- .../boost/numeric/interval/utility.hpp | 331 ----------- test/edo/CMakeLists.txt | 2 +- test/eompi/CMakeLists.txt | 2 +- test/eompi/t-mpi-distrib-exp.cpp | 6 +- 88 files changed, 7 insertions(+), 8619 deletions(-) delete mode 100755 src/eo/contrib/boost/config.hpp delete mode 100755 src/eo/contrib/boost/config/abi_prefix.hpp delete mode 100755 src/eo/contrib/boost/config/abi_suffix.hpp delete mode 100755 src/eo/contrib/boost/config/auto_link.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/borland.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/comeau.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/common_edg.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/compaq_cxx.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/digitalmars.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/gcc.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/greenhills.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/hp_acc.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/intel.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/kai.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/metrowerks.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/mpw.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/sgi_mipspro.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/sunpro_cc.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/vacpp.hpp delete mode 100755 src/eo/contrib/boost/config/compiler/visualc.hpp delete mode 100755 src/eo/contrib/boost/config/platform/aix.hpp delete mode 100755 src/eo/contrib/boost/config/platform/amigaos.hpp delete mode 100755 src/eo/contrib/boost/config/platform/beos.hpp delete mode 100755 src/eo/contrib/boost/config/platform/bsd.hpp delete mode 100755 src/eo/contrib/boost/config/platform/cygwin.hpp delete mode 100755 src/eo/contrib/boost/config/platform/hpux.hpp delete mode 100755 src/eo/contrib/boost/config/platform/irix.hpp delete mode 100755 src/eo/contrib/boost/config/platform/linux.hpp delete mode 100755 src/eo/contrib/boost/config/platform/macos.hpp delete mode 100755 src/eo/contrib/boost/config/platform/solaris.hpp delete mode 100755 src/eo/contrib/boost/config/platform/win32.hpp delete mode 100755 src/eo/contrib/boost/config/posix_features.hpp delete mode 100755 src/eo/contrib/boost/config/requires_threads.hpp delete mode 100755 src/eo/contrib/boost/config/select_compiler_config.hpp delete mode 100755 src/eo/contrib/boost/config/select_platform_config.hpp delete mode 100755 src/eo/contrib/boost/config/select_stdlib_config.hpp delete mode 100755 src/eo/contrib/boost/config/stdlib/dinkumware.hpp delete mode 100755 src/eo/contrib/boost/config/stdlib/libcomo.hpp delete mode 100755 src/eo/contrib/boost/config/stdlib/libstdcpp3.hpp delete mode 100755 src/eo/contrib/boost/config/stdlib/modena.hpp delete mode 100755 src/eo/contrib/boost/config/stdlib/msl.hpp delete mode 100755 src/eo/contrib/boost/config/stdlib/roguewave.hpp delete mode 100755 src/eo/contrib/boost/config/stdlib/sgi.hpp delete mode 100755 src/eo/contrib/boost/config/stdlib/stlport.hpp delete mode 100755 src/eo/contrib/boost/config/stdlib/vacpp.hpp delete mode 100755 src/eo/contrib/boost/config/suffix.hpp delete mode 100755 src/eo/contrib/boost/config/user.hpp delete mode 100755 src/eo/contrib/boost/limits.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/arith.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/arith2.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/arith3.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/checking.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/compare.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/compare/certain.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/compare/explicit.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/compare/lexicographic.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/compare/possible.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/compare/set.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/compare/tribool.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/constants.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/detail/bcc_rounding_control.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/detail/bugs.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/detail/c99_rounding_control.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/detail/c99sub_rounding_control.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/detail/division.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/detail/interval_prototype.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/detail/msvc_rounding_control.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/detail/ppc_rounding_control.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/detail/sparc_rounding_control.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/detail/test_input.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/detail/x86_rounding_control.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/detail/x86gcc_rounding_control.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/ext/integer.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/ext/x86_fast_rounding_control.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/hw_rounding.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/interval.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/io.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/limits.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/policies.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/rounded_arith.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/rounded_transc.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/rounding.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/transc.hpp delete mode 100755 src/eo/contrib/boost/numeric/interval/utility.hpp diff --git a/src/eo/contrib/boost/config.hpp b/src/eo/contrib/boost/config.hpp deleted file mode 100755 index 176b4391c..000000000 --- a/src/eo/contrib/boost/config.hpp +++ /dev/null @@ -1,59 +0,0 @@ -// Boost config.hpp configuration header file ------------------------------// - -// (C) Copyright John Maddock 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org/libs/config for most recent version. - -// Boost config.hpp policy and rationale documentation has been moved to -// http://www.boost.org/libs/config -// -// CAUTION: This file is intended to be completely stable - -// DO NOT MODIFY THIS FILE! -// - -#ifndef BOOST_CONFIG_HPP -#define BOOST_CONFIG_HPP - -// if we don't have a user config, then use the default location: -#if !defined(BOOST_USER_CONFIG) && !defined(BOOST_NO_USER_CONFIG) -# define BOOST_USER_CONFIG -#endif -// include it first: -#ifdef BOOST_USER_CONFIG -# include BOOST_USER_CONFIG -#endif - -// if we don't have a compiler config set, try and find one: -#if !defined(BOOST_COMPILER_CONFIG) && !defined(BOOST_NO_COMPILER_CONFIG) && !defined(BOOST_NO_CONFIG) -# include -#endif -// if we have a compiler config, include it now: -#ifdef BOOST_COMPILER_CONFIG -# include BOOST_COMPILER_CONFIG -#endif - -// if we don't have a std library config set, try and find one: -#if !defined(BOOST_STDLIB_CONFIG) && !defined(BOOST_NO_STDLIB_CONFIG) && !defined(BOOST_NO_CONFIG) -# include -#endif -// if we have a std library config, include it now: -#ifdef BOOST_STDLIB_CONFIG -# include BOOST_STDLIB_CONFIG -#endif - -// if we don't have a platform config set, try and find one: -#if !defined(BOOST_PLATFORM_CONFIG) && !defined(BOOST_NO_PLATFORM_CONFIG) && !defined(BOOST_NO_CONFIG) -# include -#endif -// if we have a platform config, include it now: -#ifdef BOOST_PLATFORM_CONFIG -# include BOOST_PLATFORM_CONFIG -#endif - -// get config suffix code: -#include - -#endif // BOOST_CONFIG_HPP diff --git a/src/eo/contrib/boost/config/abi_prefix.hpp b/src/eo/contrib/boost/config/abi_prefix.hpp deleted file mode 100755 index a1d93a2a5..000000000 --- a/src/eo/contrib/boost/config/abi_prefix.hpp +++ /dev/null @@ -1,20 +0,0 @@ -// abi_prefix header -------------------------------------------------------// - -// © Copyright John Maddock 2003 - -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#ifndef BOOST_CONFIG_ABI_PREFIX_HPP -# define BOOST_CONFIG_ABI_PREFIX_HPP -#else -# error double inclusion of header boost/config/abi_prefix.hpp is an error -#endif - -#include - -// this must occur after all other includes and before any code appears: -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif diff --git a/src/eo/contrib/boost/config/abi_suffix.hpp b/src/eo/contrib/boost/config/abi_suffix.hpp deleted file mode 100755 index f9eb493d9..000000000 --- a/src/eo/contrib/boost/config/abi_suffix.hpp +++ /dev/null @@ -1,21 +0,0 @@ -// abi_sufffix header -------------------------------------------------------// - -// © Copyright John Maddock 2003 - -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -// This header should be #included AFTER code that was preceded by a #include -// . - -#ifndef BOOST_CONFIG_ABI_PREFIX_HPP -# error Header boost/config/abi_prefix.hpp must only be used after boost/config/abi_prefix.hpp -#else -# undef BOOST_CONFIG_ABI_PREFIX_HPP -#endif - -// the suffix header occurs after all of our code: -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif diff --git a/src/eo/contrib/boost/config/auto_link.hpp b/src/eo/contrib/boost/config/auto_link.hpp deleted file mode 100755 index 8a3c2e194..000000000 --- a/src/eo/contrib/boost/config/auto_link.hpp +++ /dev/null @@ -1,344 +0,0 @@ -// (C) Copyright John Maddock 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE auto_link.hpp - * VERSION see - * DESCRIPTION: Automatic library inclusion for Borland/Microsoft compilers. - */ - -/************************************************************************* - -USAGE: -~~~~~~ - -Before including this header you must define one or more of define the following macros: - -BOOST_LIB_NAME: Required: A string containing the basename of the library, - for example boost_regex. -BOOST_LIB_TOOLSET: Optional: the base name of the toolset. -BOOST_DYN_LINK: Optional: when set link to dll rather than static library. -BOOST_LIB_DIAGNOSTIC: Optional: when set the header will print out the name - of the library selected (useful for debugging). -BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib, - rather than a mangled-name version. - -These macros will be undef'ed at the end of the header, further this header -has no include guards - so be sure to include it only once from your library! - -Algorithm: -~~~~~~~~~~ - -Libraries for Borland and Microsoft compilers are automatically -selected here, the name of the lib is selected according to the following -formula: - -BOOST_LIB_PREFIX - + BOOST_LIB_NAME - + "_" - + BOOST_LIB_TOOLSET - + BOOST_LIB_THREAD_OPT - + BOOST_LIB_RT_OPT - "-" - + BOOST_LIB_VERSION - -These are defined as: - -BOOST_LIB_PREFIX: "lib" for static libraries otherwise "". - -BOOST_LIB_NAME: The base name of the lib ( for example boost_regex). - -BOOST_LIB_TOOLSET: The compiler toolset name (vc6, vc7, bcb5 etc). - -BOOST_LIB_THREAD_OPT: "-mt" for multithread builds, otherwise nothing. - -BOOST_LIB_RT_OPT: A suffix that indicates the runtime library used, - contains one or more of the following letters after - a hiphen: - - s static runtime (dynamic if not present). - d debug build (release if not present). - g debug/diagnostic runtime (release if not present). - p STLPort Build. - -BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. - - -***************************************************************************/ - -#ifdef __cplusplus -# ifndef BOOST_CONFIG_HPP -# include -# endif -#elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__) -// -// C language compatability (no, honestly) -// -# define BOOST_MSVC _MSC_VER -# define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X) -# define BOOST_DO_STRINGIZE(X) #X -#endif -// -// Only include what follows for known and supported compilers: -// -#if defined(BOOST_MSVC) \ - || defined(__BORLANDC__) \ - || (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \ - || (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200)) - -#ifndef BOOST_VERSION_HPP -# include -#endif - -#ifndef BOOST_LIB_NAME -# error "Macro BOOST_LIB_NAME not set (internal error)" -#endif - -// -// error check: -// -#if defined(__MSVC_RUNTIME_CHECKS) && !defined(_DEBUG) -# pragma message("Using the /RTC option without specifying a debug runtime will lead to linker errors") -# pragma message("Hint: go to the code generation options and switch to one of the debugging runtimes") -# error "Incompatible build options" -#endif -// -// select toolset if not defined already: -// -#ifndef BOOST_LIB_TOOLSET -#if defined(BOOST_MSVC) && (BOOST_MSVC == 1200) - - // vc6: -# define BOOST_LIB_TOOLSET "vc6" - -#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1300) - - // vc7: -# define BOOST_LIB_TOOLSET "vc7" - -#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1310) - - // vc71: -# define BOOST_LIB_TOOLSET "vc71" - -#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1400) - - // vc80: -# define BOOST_LIB_TOOLSET "vc80" - -#elif defined(__BORLANDC__) - - // CBuilder 6: -# define BOOST_LIB_TOOLSET "bcb" - -#elif defined(__ICL) - - // Intel C++, no version number: -# define BOOST_LIB_TOOLSET "iw" - -#elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF ) - - // Metrowerks CodeWarrior 8.x -# define BOOST_LIB_TOOLSET "cw8" - -#elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF ) - - // Metrowerks CodeWarrior 9.x -# define BOOST_LIB_TOOLSET "cw9" - -#endif -#endif // BOOST_LIB_TOOLSET - -// -// select thread opt: -// -#if defined(_MT) || defined(__MT__) -# define BOOST_LIB_THREAD_OPT "-mt" -#else -# define BOOST_LIB_THREAD_OPT -#endif - -#if defined(_MSC_VER) || defined(__MWERKS__) - -# ifdef _DLL - -# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS)) - -# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) -# define BOOST_LIB_RT_OPT "-gdp" -# elif defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-gdp" -# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# else -# define BOOST_LIB_RT_OPT "-p" -# endif - -# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) - -# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) -# define BOOST_LIB_RT_OPT "-gdpn" -# elif defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-gdpn" -# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# else -# define BOOST_LIB_RT_OPT "-pn" -# endif - -# else - -# if defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-gd" -# else -# define BOOST_LIB_RT_OPT -# endif - -# endif - -# else - -# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS)) - -# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) -# define BOOST_LIB_RT_OPT "-sgdp" -# elif defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-sgdp" -# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# else -# define BOOST_LIB_RT_OPT "-sp" -# endif - -# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) - -# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) -# define BOOST_LIB_RT_OPT "-sgdpn" -# elif defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-sgdpn" -# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# else -# define BOOST_LIB_RT_OPT "-spn" -# endif - -# else - -# if defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-sgd" -# else -# define BOOST_LIB_RT_OPT "-s" -# endif - -# endif - -# endif - -#elif defined(__BORLANDC__) - -// -// figure out whether we want the debug builds or not: -// -#if __BORLANDC__ > 0x561 -#pragma defineonoption BOOST_BORLAND_DEBUG -v -#endif -// -// sanity check: -// -#if defined(__STL_DEBUG) || defined(_STLP_DEBUG) -#error "Pre-built versions of the Boost libraries are not provided in STLPort-debug form" -#endif - -# ifdef _RTLDLL - -# ifdef BOOST_BORLAND_DEBUG -# define BOOST_LIB_RT_OPT "-d" -# else -# define BOOST_LIB_RT_OPT -# endif - -# else - -# ifdef BOOST_BORLAND_DEBUG -# define BOOST_LIB_RT_OPT "-sd" -# else -# define BOOST_LIB_RT_OPT "-s" -# endif - -# endif - -#endif - -// -// select linkage opt: -// -#if (defined(_DLL) || defined(_RTLDLL)) && defined(BOOST_DYN_LINK) -# define BOOST_LIB_PREFIX -#elif defined(BOOST_DYN_LINK) -# error "Mixing a dll boost library with a static runtime is a really bad idea..." -#else -# define BOOST_LIB_PREFIX "lib" -#endif - -// -// now include the lib: -// -#if defined(BOOST_LIB_NAME) \ - && defined(BOOST_LIB_PREFIX) \ - && defined(BOOST_LIB_TOOLSET) \ - && defined(BOOST_LIB_THREAD_OPT) \ - && defined(BOOST_LIB_RT_OPT) \ - && defined(BOOST_LIB_VERSION) - -#ifndef BOOST_AUTO_LINK_NOMANGLE -# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib") -# ifdef BOOST_LIB_DIAGNOSTIC -# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib") -# endif -#else -# pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") -# ifdef BOOST_LIB_DIAGNOSTIC -# pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") -# endif -#endif - -#else -# error "some required macros where not defined (internal logic error)." -#endif - - -#endif // _MSC_VER || __BORLANDC__ - -// -// finally undef any macros we may have set: -// -#ifdef BOOST_LIB_PREFIX -# undef BOOST_LIB_PREFIX -#endif -#if defined(BOOST_LIB_NAME) -# undef BOOST_LIB_NAME -#endif -#if defined(BOOST_LIB_TOOLSET) -# undef BOOST_LIB_TOOLSET -#endif -#if defined(BOOST_LIB_THREAD_OPT) -# undef BOOST_LIB_THREAD_OPT -#endif -#if defined(BOOST_LIB_RT_OPT) -# undef BOOST_LIB_RT_OPT -#endif -#if defined(BOOST_LIB_LINK_OPT) -# undef BOOST_LIB_LINK_OPT -#endif -#if defined(BOOST_LIB_DEBUG_OPT) -# undef BOOST_LIB_DEBUG_OPT -#endif -#if defined(BOOST_DYN_LINK) -# undef BOOST_DYN_LINK -#endif -#if defined(BOOST_AUTO_LINK_NOMANGLE) -# undef BOOST_AUTO_LINK_NOMANGLE -#endif diff --git a/src/eo/contrib/boost/config/compiler/borland.hpp b/src/eo/contrib/boost/config/compiler/borland.hpp deleted file mode 100755 index 66769bec5..000000000 --- a/src/eo/contrib/boost/config/compiler/borland.hpp +++ /dev/null @@ -1,175 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Aleksey Gurtovoy 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Borland C++ compiler setup: - -// Version 5.0 and below: -# if __BORLANDC__ <= 0x0550 -// Borland C++Builder 4 and 5: -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# if __BORLANDC__ == 0x0550 -// Borland C++Builder 5, command-line compiler 5.5: -# define BOOST_NO_OPERATORS_IN_NAMESPACE -# endif -# endif - -// Version 5.51 and below: -#if (__BORLANDC__ <= 0x551) -# define BOOST_NO_CV_SPECIALIZATIONS -# define BOOST_NO_CV_VOID_SPECIALIZATIONS -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -# define BOOST_NO_DEDUCED_TYPENAME -// workaround for missing WCHAR_MAX/WCHAR_MIN: -#include -#include -#ifndef WCHAR_MAX -# define WCHAR_MAX 0xffff -#endif -#ifndef WCHAR_MIN -# define WCHAR_MIN 0 -#endif -#endif - -// Version 7.0 (Kylix) and below: -#if (__BORLANDC__ <= 0x570) -# define BOOST_NO_SFINAE -# define BOOST_NO_INTEGRAL_INT64_T -# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS -# define BOOST_NO_PRIVATE_IN_AGGREGATE -# define BOOST_NO_USING_TEMPLATE -# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG -# define BOOST_NO_TEMPLATE_TEMPLATES -# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS - // we shouldn't really need this - but too many things choke - // without it, this needs more investigation: -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -# define BOOST_NO_IS_ABSTRACT -# ifdef NDEBUG - // fix broken so that Boost.test works: -# include -# undef strcmp -# endif - -// -// new bug in 5.61: -#if (__BORLANDC__ >= 0x561) && (__BORLANDC__ <= 0x570) - // this seems to be needed by the command line compiler, but not the IDE: -# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS -#endif - -# ifdef _WIN32 -# define BOOST_NO_SWPRINTF -# elif defined(linux) || defined(__linux__) || defined(__linux) - // we should really be able to do without this - // but the wcs* functions aren't imported into std:: -# define BOOST_NO_STDC_NAMESPACE - // _CPPUNWIND doesn't get automatically set for some reason: -# pragma defineonoption BOOST_CPPUNWIND -x -# endif -#endif - -// -// Post 0x561 we have long long and stdint.h: -#if __BORLANDC__ >= 0x561 -# ifndef __NO_LONG_LONG -# define BOOST_HAS_LONG_LONG -# endif - // On non-Win32 platforms let the platform config figure this out: -# ifdef _WIN32 -# define BOOST_HAS_STDINT_H -# endif -#endif - -// Borland C++Builder 6 defaults to using STLPort. If _USE_OLD_RW_STL is -// defined, then we have 0x560 or greater with the Rogue Wave implementation -// which presumably has the std::DBL_MAX bug. -#if ((__BORLANDC__ >= 0x550) && (__BORLANDC__ < 0x560)) || defined(_USE_OLD_RW_STL) -// is partly broken, some macros define symbols that are really in -// namespace std, so you end up having to use illegal constructs like -// std::DBL_MAX, as a fix we'll just include float.h and have done with: -#include -#endif -// -// __int64: -// -#if (__BORLANDC__ >= 0x530) && !defined(__STRICT_ANSI__) -# define BOOST_HAS_MS_INT64 -#endif -// -// check for exception handling support: -// -#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -#endif -// -// all versions have a : -// -#ifndef __STRICT_ANSI__ -# define BOOST_HAS_DIRENT_H -#endif -// -// all versions support __declspec: -// -#ifndef __STRICT_ANSI__ -# define BOOST_HAS_DECLSPEC -#endif -// -// ABI fixing headers: -// -#if __BORLANDC__ < 0x600 // not implemented for version 6 compiler yet -#ifndef BOOST_ABI_PREFIX -# define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp" -#endif -#ifndef BOOST_ABI_SUFFIX -# define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp" -#endif -#endif -// -// Disable Win32 support in ANSI mode: -// -#if __BORLANDC__ < 0x600 -# pragma defineonoption BOOST_DISABLE_WIN32 -A -#elif defined(__STRICT_ANSI__) -# define BOOST_DISABLE_WIN32 -#endif -// -// MSVC compatibility mode does some nasty things: -// -#if defined(_MSC_VER) && (_MSC_VER <= 1200) -# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP -# define BOOST_NO_VOID_RETURNS -#endif - -#define BOOST_COMPILER "Borland C++ version " BOOST_STRINGIZE(__BORLANDC__) - -// -// versions check: -// we don't support Borland prior to version 5.4: -#if __BORLANDC__ < 0x540 -# error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 1536 (Builder X preview): -#if (__BORLANDC__ > 1536) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# else -# pragma message( "Unknown compiler version - please run the configure tests and report the results") -# endif -#endif - - - - - - - - diff --git a/src/eo/contrib/boost/config/compiler/comeau.hpp b/src/eo/contrib/boost/config/compiler/comeau.hpp deleted file mode 100755 index 1b71008e0..000000000 --- a/src/eo/contrib/boost/config/compiler/comeau.hpp +++ /dev/null @@ -1,59 +0,0 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright Douglas Gregor 2001. -// (C) Copyright Peter Dimov 2001. -// (C) Copyright Aleksey Gurtovoy 2003. -// (C) Copyright Beman Dawes 2003. -// (C) Copyright Jens Maurer 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Comeau C++ compiler setup: - -#include "boost/config/compiler/common_edg.hpp" - -#if (__COMO_VERSION__ <= 4245) - -# if defined(_MSC_VER) && _MSC_VER <= 1300 -# if _MSC_VER > 100 - // only set this in non-strict mode: -# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP -# endif -# endif - -// Void returns don't work when emulating VC 6 (Peter Dimov) - -# if defined(_MSC_VER) && (_MSC_VER == 1200) -# define BOOST_NO_VOID_RETURNS -# endif - -#endif // version 4245 - -// -// enable __int64 support in VC emulation mode -// -# if defined(_MSC_VER) && (_MSC_VER >= 1200) -# define BOOST_HAS_MS_INT64 -# endif - -#define BOOST_COMPILER "Comeau compiler version " BOOST_STRINGIZE(__COMO_VERSION__) - -// -// versions check: -// we don't know Comeau prior to version 4245: -#if __COMO_VERSION__ < 4245 -# error "Compiler not configured - please reconfigure" -#endif -// -// last known and checked version is 4245: -#if (__COMO_VERSION__ > 4245) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - - - diff --git a/src/eo/contrib/boost/config/compiler/common_edg.hpp b/src/eo/contrib/boost/config/compiler/common_edg.hpp deleted file mode 100755 index 0443be1ae..000000000 --- a/src/eo/contrib/boost/config/compiler/common_edg.hpp +++ /dev/null @@ -1,62 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2002. -// (C) Copyright Jens Maurer 2001. -// (C) Copyright David Abrahams 2002. -// (C) Copyright Aleksey Gurtovoy 2002. -// (C) Copyright Markus Schoepflin 2005. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// -// Options common to all edg based compilers. -// -// This is included from within the individual compiler mini-configs. - -#ifndef __EDG_VERSION__ -# error This file requires that __EDG_VERSION__ be defined. -#endif - -#if (__EDG_VERSION__ <= 238) -# define BOOST_NO_INTEGRAL_INT64_T -# define BOOST_NO_SFINAE -#endif - -#if (__EDG_VERSION__ <= 240) -# define BOOST_NO_VOID_RETURNS -#endif - -#if (__EDG_VERSION__ <= 241) && !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) -# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP -#endif - -#if (__EDG_VERSION__ <= 244) && !defined(BOOST_NO_TEMPLATE_TEMPLATES) -# define BOOST_NO_TEMPLATE_TEMPLATES -#endif - -#if (__EDG_VERSION__ < 300) && !defined(BOOST_NO_IS_ABSTRACT) -# define BOOST_NO_IS_ABSTRACT -#endif - -#if (__EDG_VERSION__ <= 303) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) -# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -#endif - -// See also kai.hpp which checks a Kai-specific symbol for EH -# if !defined(__KCC) && !defined(__EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -# endif - -# if !defined(__NO_LONG_LONG) -# define BOOST_HAS_LONG_LONG -# endif - -#ifdef c_plusplus -// EDG has "long long" in non-strict mode -// However, some libraries have insufficient "long long" support -// #define BOOST_HAS_LONG_LONG -#endif - - - diff --git a/src/eo/contrib/boost/config/compiler/compaq_cxx.hpp b/src/eo/contrib/boost/config/compiler/compaq_cxx.hpp deleted file mode 100755 index a52e66a29..000000000 --- a/src/eo/contrib/boost/config/compiler/compaq_cxx.hpp +++ /dev/null @@ -1,19 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Dec Alpha True64 C++ compiler setup: - -#define BOOST_COMPILER "Dec Alpha True64 " BOOST_STRINGIZE(__DECCXX_VER) - -#include "boost/config/compiler/common_edg.hpp" - -// -// versions check: -// Nothing to do here? - - - diff --git a/src/eo/contrib/boost/config/compiler/digitalmars.hpp b/src/eo/contrib/boost/config/compiler/digitalmars.hpp deleted file mode 100755 index 32fc71faf..000000000 --- a/src/eo/contrib/boost/config/compiler/digitalmars.hpp +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright (C) Christof Meerwald 2003 -// Copyright (C) Dan Watkins 2003 -// -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// Digital Mars C++ compiler setup: -#define BOOST_COMPILER __DMC_VERSION_STRING__ - -#define BOOST_HAS_LONG_LONG -#define BOOST_HAS_PRAGMA_ONCE - -#if (__DMC__ <= 0x833) -#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -#define BOOST_NO_TEMPLATE_TEMPLATES -#define BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING -#define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS -#define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS -#endif -#if (__DMC__ <= 0x840) || !defined(BOOST_STRICT_CONFIG) -#define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS -#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -#define BOOST_NO_OPERATORS_IN_NAMESPACE -#define BOOST_NO_UNREACHABLE_RETURN_DETECTION -#define BOOST_NO_SFINAE -#define BOOST_NO_USING_TEMPLATE -#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -#endif - -// -// has macros: -#if (__DMC__ >= 0x840) -#define BOOST_HAS_DIRENT_H -#define BOOST_HAS_STDINT_H -#define BOOST_HAS_WINTHREADS -#endif - - -// check for exception handling support: -#ifndef _CPPUNWIND -# define BOOST_NO_EXCEPTIONS -#endif - -#if (__DMC__ < 0x840) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif diff --git a/src/eo/contrib/boost/config/compiler/gcc.hpp b/src/eo/contrib/boost/config/compiler/gcc.hpp deleted file mode 100755 index d94b16b76..000000000 --- a/src/eo/contrib/boost/config/compiler/gcc.hpp +++ /dev/null @@ -1,105 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Darin Adler 2001 - 2002. -// (C) Copyright Jens Maurer 2001 - 2002. -// (C) Copyright Beman Dawes 2001 - 2003. -// (C) Copyright Douglas Gregor 2002. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Synge Todo 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// GNU C++ compiler setup: - -#if __GNUC__ < 3 -# if __GNUC_MINOR__ == 91 - // egcs 1.1 won't parse shared_ptr.hpp without this: -# define BOOST_NO_AUTO_PTR -# endif -# if __GNUC_MINOR__ < 95 - // - // Prior to gcc 2.95 member templates only partly - // work - define BOOST_MSVC6_MEMBER_TEMPLATES - // instead since inline member templates mostly work. - // -# define BOOST_NO_MEMBER_TEMPLATES -# if __GNUC_MINOR__ >= 9 -# define BOOST_MSVC6_MEMBER_TEMPLATES -# endif -# endif - -# if __GNUC_MINOR__ < 96 -# define BOOST_NO_SFINAE -# endif - -# if __GNUC_MINOR__ <= 97 -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# define BOOST_NO_OPERATORS_IN_NAMESPACE -# endif - -# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE -# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -# define BOOST_NO_IS_ABSTRACT -#elif __GNUC__ == 3 - // - // gcc-3.x problems: - // - // Bug specific to gcc 3.1 and 3.2: - // -# if ((__GNUC_MINOR__ == 1) || (__GNUC_MINOR__ == 2)) -# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS -# endif -# if __GNUC_MINOR__ < 4 -# define BOOST_NO_IS_ABSTRACT -# endif -#endif - -#ifndef __EXCEPTIONS -# define BOOST_NO_EXCEPTIONS -#endif - - -// -// Threading support: Turn this on unconditionally here (except for -// those platforms where we can know for sure). It will get turned off again -// later if no threading API is detected. -// -#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__) -# define BOOST_HAS_THREADS -#endif - -// -// gcc has "long long" -// -#define BOOST_HAS_LONG_LONG - -// -// gcc implements the named return value optimization since version 3.1 -// -#if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 ) -#define BOOST_HAS_NRVO -#endif - -#define BOOST_COMPILER "GNU C++ version " __VERSION__ - -// -// versions check: -// we don't know gcc prior to version 2.90: -#if (__GNUC__ == 2) && (__GNUC_MINOR__ < 90) -# error "Compiler not configured - please reconfigure" -#endif -// -// last known and checked version is 4.0 (Pre-release): -#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 0)) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# else -// we don't emit warnings here anymore since there are no defect macros defined for -// gcc post 3.4, so any failures are gcc regressions... -//# warning "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - diff --git a/src/eo/contrib/boost/config/compiler/greenhills.hpp b/src/eo/contrib/boost/config/compiler/greenhills.hpp deleted file mode 100755 index 038b6b2b5..000000000 --- a/src/eo/contrib/boost/config/compiler/greenhills.hpp +++ /dev/null @@ -1,28 +0,0 @@ -// (C) Copyright John Maddock 2001. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Greenhills C++ compiler setup: - -#define BOOST_COMPILER "Greenhills C++ version " BOOST_STRINGIZE(__ghs) - -#include "boost/config/compiler/common_edg.hpp" - -// -// versions check: -// we don't support Greenhills prior to version 0: -#if __ghs < 0 -# error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 0: -#if (__ghs > 0) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - diff --git a/src/eo/contrib/boost/config/compiler/hp_acc.hpp b/src/eo/contrib/boost/config/compiler/hp_acc.hpp deleted file mode 100755 index 3d05ba563..000000000 --- a/src/eo/contrib/boost/config/compiler/hp_acc.hpp +++ /dev/null @@ -1,70 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001 - 2003. -// (C) Copyright Aleksey Gurtovoy 2002. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Toon Knapen 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// HP aCC C++ compiler setup: - -#if (__HP_aCC <= 33100) -# define BOOST_NO_INTEGRAL_INT64_T -# define BOOST_NO_OPERATORS_IN_NAMESPACE -# if !defined(_NAMESPACE_STD) -# define BOOST_NO_STD_LOCALE -# define BOOST_NO_STRINGSTREAM -# endif -#endif - -#if (__HP_aCC <= 33300) -// member templates are sufficiently broken that we disable them for now -# define BOOST_NO_MEMBER_TEMPLATES -# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS -# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE -#endif - -#if (__HP_aCC <= 33900) || !defined(BOOST_STRICT_CONFIG) -# define BOOST_NO_UNREACHABLE_RETURN_DETECTION -# define BOOST_NO_TEMPLATE_TEMPLATES -# define BOOST_NO_SWPRINTF -# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS -# define BOOST_NO_IS_ABSTRACT -// std lib config should set this one already: -//# define BOOST_NO_STD_ALLOCATOR -#endif - -// optional features rather than defects: -#if (__HP_aCC >= 33900) -# define BOOST_HAS_LONG_LONG -# define BOOST_HAS_PARTIAL_STD_ALLOCATOR -#endif - -#if (__HP_aCC >= 50000 ) && (__HP_aCC <= 53800 ) || (__HP_aCC < 31300 ) -# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD -#endif - -#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS - -#define BOOST_COMPILER "HP aCC version " BOOST_STRINGIZE(__HP_aCC) - -// -// versions check: -// we don't support HP aCC prior to version 0: -#if __HP_aCC < 33000 -# error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 0: -#if (__HP_aCC > 53800) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - - - diff --git a/src/eo/contrib/boost/config/compiler/intel.hpp b/src/eo/contrib/boost/config/compiler/intel.hpp deleted file mode 100755 index 652557766..000000000 --- a/src/eo/contrib/boost/config/compiler/intel.hpp +++ /dev/null @@ -1,146 +0,0 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright Peter Dimov 2001. -// (C) Copyright Jens Maurer 2001. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Aleksey Gurtovoy 2002 - 2003. -// (C) Copyright Guillaume Melquiond 2002 - 2003. -// (C) Copyright Beman Dawes 2003. -// (C) Copyright Martin Wille 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Intel compiler setup: - -#include "boost/config/compiler/common_edg.hpp" - -#if defined(__INTEL_COMPILER) -# define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER -#elif defined(__ICL) -# define BOOST_INTEL_CXX_VERSION __ICL -#elif defined(__ICC) -# define BOOST_INTEL_CXX_VERSION __ICC -#elif defined(__ECC) -# define BOOST_INTEL_CXX_VERSION __ECC -#endif - -#define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) -#define BOOST_INTEL BOOST_INTEL_CXX_VERSION - -#if defined(_WIN32) || defined(_WIN64) -# define BOOST_INTEL_WIN BOOST_INTEL -#else -# define BOOST_INTEL_LINUX BOOST_INTEL -#endif - -#if (BOOST_INTEL_CXX_VERSION <= 500) && defined(_MSC_VER) -# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS -# define BOOST_NO_TEMPLATE_TEMPLATES -#endif - -#if (BOOST_INTEL_CXX_VERSION <= 600) - -# if defined(_MSC_VER) && (_MSC_VER <= 1300) // added check for <= VC 7 (Peter Dimov) - -// Boost libraries assume strong standard conformance unless otherwise -// indicated by a config macro. As configured by Intel, the EDG front-end -// requires certain compiler options be set to achieve that strong conformance. -// Particularly /Qoption,c,--arg_dep_lookup (reported by Kirk Klobe & Thomas Witt) -// and /Zc:wchar_t,forScope. See boost-root/tools/build/intel-win32-tools.jam for -// details as they apply to particular versions of the compiler. When the -// compiler does not predefine a macro indicating if an option has been set, -// this config file simply assumes the option has been set. -// Thus BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP will not be defined, even if -// the compiler option is not enabled. - -# define BOOST_NO_SWPRINTF -# endif - -// Void returns, 64 bit integrals don't work when emulating VC 6 (Peter Dimov) - -# if defined(_MSC_VER) && (_MSC_VER <= 1200) -# define BOOST_NO_VOID_RETURNS -# define BOOST_NO_INTEGRAL_INT64_T -# endif - -#endif - -#if (BOOST_INTEL_CXX_VERSION <= 710) && defined(_WIN32) -# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS -#endif - -// See http://aspn.activestate.com/ASPN/Mail/Message/boost/1614864 -#if BOOST_INTEL_CXX_VERSION < 600 -# define BOOST_NO_INTRINSIC_WCHAR_T -#else -// We should test the macro _WCHAR_T_DEFINED to check if the compiler -// supports wchar_t natively. *BUT* there is a problem here: the standard -// headers define this macro if they typedef wchar_t. Anyway, we're lucky -// because they define it without a value, while Intel C++ defines it -// to 1. So we can check its value to see if the macro was defined natively -// or not. -// Under UNIX, the situation is exactly the same, but the macro _WCHAR_T -// is used instead. -# if ((_WCHAR_T_DEFINED + 0) == 0) && ((_WCHAR_T + 0) == 0) -# define BOOST_NO_INTRINSIC_WCHAR_T -# endif -#endif - -// -// Verify that we have actually got BOOST_NO_INTRINSIC_WCHAR_T -// set correctly, if we don't do this now, we will get errors later -// in type_traits code among other things, getting this correct -// for the Intel compiler is actually remarkably fragile and tricky: -// -#if defined(BOOST_NO_INTRINSIC_WCHAR_T) -#include -template< typename T > struct assert_no_intrinsic_wchar_t; -template<> struct assert_no_intrinsic_wchar_t { typedef void type; }; -// if you see an error here then you need to unset BOOST_NO_INTRINSIC_WCHAR_T -// where it is defined above: -typedef assert_no_intrinsic_wchar_t::type assert_no_intrinsic_wchar_t_; -#else -template< typename T > struct assert_intrinsic_wchar_t; -template<> struct assert_intrinsic_wchar_t {}; -// if you see an error here then define BOOST_NO_INTRINSIC_WCHAR_T on the command line: -template<> struct assert_intrinsic_wchar_t {}; -#endif - -#if _MSC_VER+0 >= 1000 -# if _MSC_VER >= 1200 -# define BOOST_HAS_MS_INT64 -# endif -# define BOOST_NO_SWPRINTF -#elif defined(_WIN32) -# define BOOST_DISABLE_WIN32 -#endif - -// I checked version 6.0 build 020312Z, it implements the NRVO. -// Correct this as you find out which version of the compiler -// implemented the NRVO first. (Daniel Frey) -#if (BOOST_INTEL_CXX_VERSION >= 600) -# define BOOST_HAS_NRVO -#endif - -// -// versions check: -// we don't support Intel prior to version 5.0: -#if BOOST_INTEL_CXX_VERSION < 500 -# error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version: -#if (BOOST_INTEL_CXX_VERSION > 900) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# elif defined(_MSC_VER) -# pragma message("Unknown compiler version - please run the configure tests and report the results") -# endif -#endif - - - - - diff --git a/src/eo/contrib/boost/config/compiler/kai.hpp b/src/eo/contrib/boost/config/compiler/kai.hpp deleted file mode 100755 index de16f1a67..000000000 --- a/src/eo/contrib/boost/config/compiler/kai.hpp +++ /dev/null @@ -1,35 +0,0 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright David Abrahams 2002. -// (C) Copyright Aleksey Gurtovoy 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Kai C++ compiler setup: - -#include "boost/config/compiler/common_edg.hpp" - -# if (__KCC_VERSION <= 4001) || !defined(BOOST_STRICT_CONFIG) - // at least on Sun, the contents of is not in namespace std -# define BOOST_NO_STDC_NAMESPACE -# endif - -// see also common_edg.hpp which needs a special check for __KCC -# if !defined(_EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -# endif - -#define BOOST_COMPILER "Kai C++ version " BOOST_STRINGIZE(__KCC_VERSION) - -// -// last known and checked version is 4001: -#if (__KCC_VERSION > 4001) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - - diff --git a/src/eo/contrib/boost/config/compiler/metrowerks.hpp b/src/eo/contrib/boost/config/compiler/metrowerks.hpp deleted file mode 100755 index f173295eb..000000000 --- a/src/eo/contrib/boost/config/compiler/metrowerks.hpp +++ /dev/null @@ -1,104 +0,0 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright Darin Adler 2001. -// (C) Copyright Peter Dimov 2001. -// (C) Copyright David Abrahams 2001 - 2002. -// (C) Copyright Beman Dawes 2001 - 2003. -// (C) Copyright Stefan Slapeta 2004. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Metrowerks C++ compiler setup: - -// locale support is disabled when linking with the dynamic runtime -# ifdef _MSL_NO_LOCALE -# define BOOST_NO_STD_LOCALE -# endif - -# if __MWERKS__ <= 0x2301 // 5.3 -# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING -# define BOOST_NO_POINTER_TO_MEMBER_CONST -# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS -# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD -# endif - -# if __MWERKS__ <= 0x2401 // 6.2 -//# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING -# endif - -# if(__MWERKS__ <= 0x2407) // 7.x -# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS -# define BOOST_NO_UNREACHABLE_RETURN_DETECTION -# endif - -# if(__MWERKS__ <= 0x3003) // 8.x -# define BOOST_NO_SFINAE -# endif - -// the "|| !defined(BOOST_STRICT_CONFIG)" part should apply to the last -// tested version *only*: -# if(__MWERKS__ <= 0x3206) || !defined(BOOST_STRICT_CONFIG) // 9.5 -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# define BOOST_NO_IS_ABSTRACT -# endif - -#if !__option(wchar_type) -# define BOOST_NO_INTRINSIC_WCHAR_T -#endif - -#if !__option(exceptions) -# define BOOST_NO_EXCEPTIONS -#endif - -#if (__INTEL__ && _WIN32) || (__POWERPC__ && macintosh) -# if __MWERKS__ == 0x3000 -# define BOOST_COMPILER_VERSION 8.0 -# elif __MWERKS__ == 0x3001 -# define BOOST_COMPILER_VERSION 8.1 -# elif __MWERKS__ == 0x3002 -# define BOOST_COMPILER_VERSION 8.2 -# elif __MWERKS__ == 0x3003 -# define BOOST_COMPILER_VERSION 8.3 -# elif __MWERKS__ == 0x3200 -# define BOOST_COMPILER_VERSION 9.0 -# elif __MWERKS__ == 0x3201 -# define BOOST_COMPILER_VERSION 9.1 -# elif __MWERKS__ == 0x3202 -# define BOOST_COMPILER_VERSION 9.2 -# elif __MWERKS__ == 0x3204 -# define BOOST_COMPILER_VERSION 9.3 -# elif __MWERKS__ == 0x3205 -# define BOOST_COMPILER_VERSION 9.4 -# elif __MWERKS__ == 0x3206 -# define BOOST_COMPILER_VERSION 9.5 -# else -# define BOOST_COMPILER_VERSION __MWERKS__ -# endif -#else -# define BOOST_COMPILER_VERSION __MWERKS__ -#endif - -#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) - -// -// versions check: -// we don't support Metrowerks prior to version 5.3: -#if __MWERKS__ < 0x2301 -# error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version: -#if (__MWERKS__ > 0x3205) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - - - - - - diff --git a/src/eo/contrib/boost/config/compiler/mpw.hpp b/src/eo/contrib/boost/config/compiler/mpw.hpp deleted file mode 100755 index 8ab2aacb6..000000000 --- a/src/eo/contrib/boost/config/compiler/mpw.hpp +++ /dev/null @@ -1,51 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2002. -// (C) Copyright Aleksey Gurtovoy 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// MPW C++ compilers setup: - -# if defined(__SC__) -# define BOOST_COMPILER "MPW SCpp version " BOOST_STRINGIZE(__SC__) -# elif defined(__MRC__) -# define BOOST_COMPILER "MPW MrCpp version " BOOST_STRINGIZE(__MRC__) -# else -# error "Using MPW compiler configuration by mistake. Please update." -# endif - -// -// MPW 8.90: -// -#if (MPW_CPLUS <= 0x890) || !defined(BOOST_STRICT_CONFIG) -# define BOOST_NO_CV_SPECIALIZATIONS -# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS -# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION -# define BOOST_NO_INTRINSIC_WCHAR_T -# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -# define BOOST_NO_USING_TEMPLATE - -# define BOOST_NO_CWCHAR -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - -# define BOOST_NO_STD_ALLOCATOR /* actually a bug with const reference overloading */ -#endif - -// -// versions check: -// we don't support MPW prior to version 8.9: -#if MPW_CPLUS < 0x890 -# error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 0x890: -#if (MPW_CPLUS > 0x890) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - diff --git a/src/eo/contrib/boost/config/compiler/sgi_mipspro.hpp b/src/eo/contrib/boost/config/compiler/sgi_mipspro.hpp deleted file mode 100755 index 689b67eeb..000000000 --- a/src/eo/contrib/boost/config/compiler/sgi_mipspro.hpp +++ /dev/null @@ -1,24 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// SGI C++ compiler setup: - -#define BOOST_COMPILER "SGI Irix compiler version " BOOST_STRINGIZE(_COMPILER_VERSION) - -#include "boost/config/compiler/common_edg.hpp" - -// -// Threading support: -// Turn this on unconditionally here, it will get turned off again later -// if no threading API is detected. -// -#define BOOST_HAS_THREADS -// -// version check: -// probably nothing to do here? - - diff --git a/src/eo/contrib/boost/config/compiler/sunpro_cc.hpp b/src/eo/contrib/boost/config/compiler/sunpro_cc.hpp deleted file mode 100755 index eca19feb0..000000000 --- a/src/eo/contrib/boost/config/compiler/sunpro_cc.hpp +++ /dev/null @@ -1,90 +0,0 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright Jens Maurer 2001 - 2003. -// (C) Copyright Peter Dimov 2002. -// (C) Copyright Aleksey Gurtovoy 2002 - 2003. -// (C) Copyright David Abrahams 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Sun C++ compiler setup: - -# if __SUNPRO_CC <= 0x500 -# define BOOST_NO_MEMBER_TEMPLATES -# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING -# endif - -# if (__SUNPRO_CC <= 0x520) - // - // Sunpro 5.2 and earler: - // - // although sunpro 5.2 supports the syntax for - // inline initialization it often gets the value - // wrong, especially where the value is computed - // from other constants (J Maddock 6th May 2001) -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION - - // Although sunpro 5.2 supports the syntax for - // partial specialization, it often seems to - // bind to the wrong specialization. Better - // to disable it until suppport becomes more stable - // (J Maddock 6th May 2001). -# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -# endif - -# if (__SUNPRO_CC <= 0x530) - // Requesting debug info (-g) with Boost.Python results - // in an internal compiler error for "static const" - // initialized in-class. - // >> Assertion: (../links/dbg_cstabs.cc, line 611) - // while processing ../test.cpp at line 0. - // (Jens Maurer according to Gottfried Ganßauge 04 Mar 2002) -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION - - // SunPro 5.3 has better support for partial specialization, - // but breaks when compiling std::less > - // (Jens Maurer 4 Nov 2001). - - // std::less specialization fixed as reported by George - // Heintzelman; partial specialization re-enabled - // (Peter Dimov 17 Jan 2002) - -//# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - - // integral constant expressions with 64 bit numbers fail -# define BOOST_NO_INTEGRAL_INT64_T -# endif - -# if (__SUNPRO_CC < 0x570) -# define BOOST_NO_TEMPLATE_TEMPLATES - // see http://lists.boost.org/MailArchives/boost/msg47184.php - // and http://lists.boost.org/MailArchives/boost/msg47220.php -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION -# define BOOST_NO_SFINAE -# define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS -# define BOOST_NO_IS_ABSTRACT -# endif - -#define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC) - -// -// versions check: -// we don't support sunpro prior to version 4: -#if __SUNPRO_CC < 0x400 -#error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 0x570: -#if (__SUNPRO_CC > 0x570) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - - - - - diff --git a/src/eo/contrib/boost/config/compiler/vacpp.hpp b/src/eo/contrib/boost/config/compiler/vacpp.hpp deleted file mode 100755 index 4cf0de7c1..000000000 --- a/src/eo/contrib/boost/config/compiler/vacpp.hpp +++ /dev/null @@ -1,58 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Toon Knapen 2001 - 2003. -// (C) Copyright Lie-Quan Lee 2001. -// (C) Copyright Markus Schöpflin 2002 - 2003. -// (C) Copyright Beman Dawes 2002 - 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Visual Age (IBM) C++ compiler setup: - -#if __IBMCPP__ <= 501 -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS -#endif - -#if (__IBMCPP__ <= 502) -// Actually the compiler supports inclass member initialization but it -// requires a definition for the class member and it doesn't recognize -// it as an integral constant expression when used as a template argument. -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION -# define BOOST_NO_INTEGRAL_INT64_T -# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD -#endif - -#if (__IBMCPP__ <= 600) || !defined(BOOST_STRICT_CONFIG) -# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS -# define BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES 1 -#endif - -// -// On AIX thread support seems to be indicated by _THREAD_SAFE: -// -#ifdef _THREAD_SAFE -# define BOOST_HAS_THREADS -#endif - -#define BOOST_COMPILER "IBM Visual Age version " BOOST_STRINGIZE(__IBMCPP__) - -// -// versions check: -// we don't support Visual age prior to version 5: -#if __IBMCPP__ < 500 -#error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 600: -#if (__IBMCPP__ > 600) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - - - diff --git a/src/eo/contrib/boost/config/compiler/visualc.hpp b/src/eo/contrib/boost/config/compiler/visualc.hpp deleted file mode 100755 index 1ce600ccf..000000000 --- a/src/eo/contrib/boost/config/compiler/visualc.hpp +++ /dev/null @@ -1,147 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Darin Adler 2001 - 2002. -// (C) Copyright Peter Dimov 2001. -// (C) Copyright Aleksey Gurtovoy 2002. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Beman Dawes 2002 - 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Microsoft Visual C++ compiler setup: - -#define BOOST_MSVC _MSC_VER - -// turn off the warnings before we #include anything -#pragma warning( disable : 4503 ) // warning: decorated name length exceeded - -#if _MSC_VER < 1300 // 1200 == VC++ 6.0, 1201 == EVC4.2 -#pragma warning( disable : 4786 ) // ident trunc to '255' chars in debug info -# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS -# define BOOST_NO_VOID_RETURNS -# define BOOST_NO_EXCEPTION_STD_NAMESPACE - // disable min/max macro defines on vc6: - // -#endif - -#if (_MSC_VER <= 1300) // 1300 == VC++ 7.0 - -#if !defined(_MSC_EXTENSIONS) && !defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS) // VC7 bug with /Za -# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS -#endif - -# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION -# define BOOST_NO_PRIVATE_IN_AGGREGATE -# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP -# define BOOST_NO_INTEGRAL_INT64_T -# define BOOST_NO_DEDUCED_TYPENAME -# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE - -// VC++ 6/7 has member templates but they have numerous problems including -// cases of silent failure, so for safety we define: -# define BOOST_NO_MEMBER_TEMPLATES -// For VC++ experts wishing to attempt workarounds, we define: -# define BOOST_MSVC6_MEMBER_TEMPLATES - -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -# define BOOST_NO_CV_VOID_SPECIALIZATIONS -# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING -# define BOOST_NO_USING_TEMPLATE -# define BOOST_NO_SWPRINTF -# define BOOST_NO_TEMPLATE_TEMPLATES -# define BOOST_NO_SFINAE -# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS -# define BOOST_NO_IS_ABSTRACT -# if (_MSC_VER > 1200) -# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS -# endif - -#endif - -#if _MSC_VER < 1310 // 1310 == VC++ 7.1 -# define BOOST_NO_SWPRINTF -#endif - -#if _MSC_VER <= 1400 // 1400 == VC++ 8.0 -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -#endif - -#ifndef _NATIVE_WCHAR_T_DEFINED -# define BOOST_NO_INTRINSIC_WCHAR_T -#endif - -#ifdef _WIN32_WCE -# define BOOST_NO_THREADEX -# define BOOST_NO_GETSYSTEMTIMEASFILETIME -#endif - -// -// check for exception handling support: -#ifndef _CPPUNWIND -# define BOOST_NO_EXCEPTIONS -#endif - -// -// __int64 support: -// -#if (_MSC_VER >= 1200) -# define BOOST_HAS_MS_INT64 -#endif -#if (_MSC_VER >= 1310) && defined(_MSC_EXTENSIONS) -# define BOOST_HAS_LONG_LONG -#endif -// -// disable Win32 API's if compiler extentions are -// turned off: -// -#ifndef _MSC_EXTENSIONS -# define BOOST_DISABLE_WIN32 -#endif - -// -// all versions support __declspec: -// -#define BOOST_HAS_DECLSPEC -// -// prefix and suffix headers: -// -#ifndef BOOST_ABI_PREFIX -# define BOOST_ABI_PREFIX "boost/config/abi/msvc_prefix.hpp" -#endif -#ifndef BOOST_ABI_SUFFIX -# define BOOST_ABI_SUFFIX "boost/config/abi/msvc_suffix.hpp" -#endif - -# if _MSC_VER == 1200 -# define BOOST_COMPILER_VERSION 6.0 -# elif _MSC_VER == 1300 -# define BOOST_COMPILER_VERSION 7.0 -# elif _MSC_VER == 1310 -# define BOOST_COMPILER_VERSION 7.1 -# elif _MSC_VER == 1400 -# define BOOST_COMPILER_VERSION 8.0 -# else -# define BOOST_COMPILER_VERSION _MSC_VER -# endif - -#define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) - -// -// versions check: -// we don't support Visual C++ prior to version 6: -#if _MSC_VER < 1200 -#error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 1310: -#if (_MSC_VER > 1400) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# else -# pragma message("Unknown compiler version - please run the configure tests and report the results") -# endif -#endif diff --git a/src/eo/contrib/boost/config/platform/aix.hpp b/src/eo/contrib/boost/config/platform/aix.hpp deleted file mode 100755 index 894ef42ce..000000000 --- a/src/eo/contrib/boost/config/platform/aix.hpp +++ /dev/null @@ -1,33 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// IBM/Aix specific config options: - -#define BOOST_PLATFORM "IBM Aix" - -#define BOOST_HAS_UNISTD_H -#define BOOST_HAS_NL_TYPES_H -#define BOOST_HAS_NANOSLEEP -#define BOOST_HAS_CLOCK_GETTIME - -// This needs support in "boost/cstdint.hpp" exactly like FreeBSD. -// This platform has header named which includes all -// the things needed. -#define BOOST_HAS_STDINT_H - -// Threading API's: -#define BOOST_HAS_PTHREADS -#define BOOST_HAS_PTHREAD_DELAY_NP -#define BOOST_HAS_SCHED_YIELD -//#define BOOST_HAS_PTHREAD_YIELD - -// boilerplate code: -#include - - - - diff --git a/src/eo/contrib/boost/config/platform/amigaos.hpp b/src/eo/contrib/boost/config/platform/amigaos.hpp deleted file mode 100755 index 34bcf4128..000000000 --- a/src/eo/contrib/boost/config/platform/amigaos.hpp +++ /dev/null @@ -1,15 +0,0 @@ -// (C) Copyright John Maddock 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -#define BOOST_PLATFORM "AmigaOS" - -#define BOOST_DISABLE_THREADS -#define BOOST_NO_CWCHAR -#define BOOST_NO_STD_WSTRING -#define BOOST_NO_INTRINSIC_WCHAR_T - - diff --git a/src/eo/contrib/boost/config/platform/beos.hpp b/src/eo/contrib/boost/config/platform/beos.hpp deleted file mode 100755 index 48c3d8dc5..000000000 --- a/src/eo/contrib/boost/config/platform/beos.hpp +++ /dev/null @@ -1,26 +0,0 @@ -// (C) Copyright John Maddock 2001. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// BeOS specific config options: - -#define BOOST_PLATFORM "BeOS" - -#define BOOST_NO_CWCHAR -#define BOOST_NO_CWCTYPE -#define BOOST_HAS_UNISTD_H - -#define BOOST_HAS_BETHREADS - -#ifndef BOOST_DISABLE_THREADS -# define BOOST_HAS_THREADS -#endif - -// boilerplate code: -#include - - - diff --git a/src/eo/contrib/boost/config/platform/bsd.hpp b/src/eo/contrib/boost/config/platform/bsd.hpp deleted file mode 100755 index 09988e0ca..000000000 --- a/src/eo/contrib/boost/config/platform/bsd.hpp +++ /dev/null @@ -1,71 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Darin Adler 2001. -// (C) Copyright Douglas Gregor 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// generic BSD config options: - -#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) -#error "This platform is not BSD" -#endif - -#ifdef __FreeBSD__ -#define BOOST_PLATFORM "FreeBSD " BOOST_STRINGIZE(__FreeBSD__) -#elif defined(__NetBSD__) -#define BOOST_PLATFORM "NetBSD " BOOST_STRINGIZE(__NetBSD__) -#elif defined(__OpenBSD__) -#define BOOST_PLATFORM "OpenBSD " BOOST_STRINGIZE(__OpenBSD__) -#endif - -// -// is this the correct version check? -// FreeBSD has but does not -// advertise the fact in : -// -#if defined(__FreeBSD__) && (__FreeBSD__ >= 3) -# define BOOST_HAS_NL_TYPES_H -#endif - -// -// FreeBSD 3.x has pthreads support, but defines _POSIX_THREADS in -// and not in -// -#if defined(__FreeBSD__) && (__FreeBSD__ <= 3) -# define BOOST_HAS_PTHREADS -#endif - -// -// No wide character support in the BSD header files: -// -#if !(defined(__FreeBSD__) && (__FreeBSD__ >= 5)) -# define BOOST_NO_CWCHAR -#endif -// -// The BSD has macros only, no functions: -// -#if !defined(__OpenBSD__) -# define BOOST_NO_CTYPE_FUNCTIONS -#endif - -// -// thread API's not auto detected: -// -#define BOOST_HAS_SCHED_YIELD -#define BOOST_HAS_NANOSLEEP -#define BOOST_HAS_GETTIMEOFDAY -#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -#define BOOST_HAS_SIGACTION - -// boilerplate code: -#define BOOST_HAS_UNISTD_H -#include - - - - - - diff --git a/src/eo/contrib/boost/config/platform/cygwin.hpp b/src/eo/contrib/boost/config/platform/cygwin.hpp deleted file mode 100755 index 0fd2ebe2d..000000000 --- a/src/eo/contrib/boost/config/platform/cygwin.hpp +++ /dev/null @@ -1,48 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// cygwin specific config options: - -#define BOOST_PLATFORM "Cygwin" -#define BOOST_NO_CWCTYPE -#define BOOST_NO_CWCHAR -#define BOOST_NO_SWPRINTF -#define BOOST_HAS_DIRENT_H - -// -// Threading API: -// See if we have POSIX threads, if we do use them, otherwise -// revert to native Win threads. -#define BOOST_HAS_UNISTD_H -#include -#if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) -# define BOOST_HAS_PTHREADS -# define BOOST_HAS_SCHED_YIELD -# define BOOST_HAS_GETTIMEOFDAY -# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -# define BOOST_HAS_SIGACTION -#else -# if !defined(BOOST_HAS_WINTHREADS) -# define BOOST_HAS_WINTHREADS -# endif -# define BOOST_HAS_FTIME -#endif - -// -// find out if we have a stdint.h, there should be a better way to do this: -// -#include -#ifdef _STDINT_H -#define BOOST_HAS_STDINT_H -#endif - -// boilerplate code: -#include - - - - diff --git a/src/eo/contrib/boost/config/platform/hpux.hpp b/src/eo/contrib/boost/config/platform/hpux.hpp deleted file mode 100755 index fa773aa79..000000000 --- a/src/eo/contrib/boost/config/platform/hpux.hpp +++ /dev/null @@ -1,68 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001 - 2003. -// (C) Copyright David Abrahams 2002. -// (C) Copyright Toon Knapen 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// hpux specific config options: - -#define BOOST_PLATFORM "HP-UX" - -// In principle, HP-UX has a nice under the name -// However, it has the following problem: -// Use of UINT32_C(0) results in "0u l" for the preprocessed source -// (verifyable with gcc 2.95.3, assumed for HP aCC) -// #define BOOST_HAS_STDINT_H - -#define BOOST_NO_SWPRINTF -#define BOOST_NO_CWCTYPE - -#if defined(__GNUC__) -# if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3)) - // GNU C on HP-UX does not support threads (checked up to gcc 3.3) -# define BOOST_DISABLE_THREADS -# elif !defined(BOOST_DISABLE_THREADS) - // threads supported from gcc-3.3 onwards: -# define BOOST_HAS_THREADS -# define BOOST_HAS_PTHREADS -# endif -#endif - -// boilerplate code: -#define BOOST_HAS_UNISTD_H -#include - -// the following are always available: -#ifndef BOOST_HAS_GETTIMEOFDAY -# define BOOST_HAS_GETTIMEOFDAY -#endif -#ifndef BOOST_HAS_SCHED_YIELD -# define BOOST_HAS_SCHED_YIELD -#endif -#ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -#endif -#ifndef BOOST_HAS_NL_TYPES_H -# define BOOST_HAS_NL_TYPES_H -#endif -#ifndef BOOST_HAS_NANOSLEEP -# define BOOST_HAS_NANOSLEEP -#endif -#ifndef BOOST_HAS_GETTIMEOFDAY -# define BOOST_HAS_GETTIMEOFDAY -#endif -#ifndef BOOST_HAS_DIRENT_H -# define BOOST_HAS_DIRENT_H -#endif -#ifndef BOOST_HAS_CLOCK_GETTIME -# define BOOST_HAS_CLOCK_GETTIME -#endif -#ifndef BOOST_HAS_SIGACTION -# define BOOST_HAS_SIGACTION -#endif - - diff --git a/src/eo/contrib/boost/config/platform/irix.hpp b/src/eo/contrib/boost/config/platform/irix.hpp deleted file mode 100755 index aeae49c8b..000000000 --- a/src/eo/contrib/boost/config/platform/irix.hpp +++ /dev/null @@ -1,31 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - -// See http://www.boost.org for most recent version. - -// SGI Irix specific config options: - -#define BOOST_PLATFORM "SGI Irix" - -#define BOOST_NO_SWPRINTF -// -// these are not auto detected by POSIX feature tests: -// -#define BOOST_HAS_GETTIMEOFDAY -#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE - -#ifdef __GNUC__ - // GNU C on IRIX does not support threads (checked up to gcc 3.3) -# define BOOST_DISABLE_THREADS -#endif - -// boilerplate code: -#define BOOST_HAS_UNISTD_H -#include - - - diff --git a/src/eo/contrib/boost/config/platform/linux.hpp b/src/eo/contrib/boost/config/platform/linux.hpp deleted file mode 100755 index 51ae13347..000000000 --- a/src/eo/contrib/boost/config/platform/linux.hpp +++ /dev/null @@ -1,98 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001 - 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// linux specific config options: - -#define BOOST_PLATFORM "linux" - -// make sure we have __GLIBC_PREREQ if available at all -#include - -// -// added to glibc 2.1.1 -// We can only test for 2.1 though: -// -#if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1))) - // defines int64_t unconditionally, but defines - // int64_t only if __GNUC__. Thus, assume a fully usable - // only when using GCC. -# if defined __GNUC__ -# define BOOST_HAS_STDINT_H -# endif -#endif - -#if defined(__LIBCOMO__) - // - // como on linux doesn't have std:: c functions: - // NOTE: versions of libcomo prior to beta28 have octal version numbering, - // e.g. version 25 is 21 (dec) - // -# if __LIBCOMO_VERSION__ <= 20 -# define BOOST_NO_STDC_NAMESPACE -# endif - -# if __LIBCOMO_VERSION__ <= 21 -# define BOOST_NO_SWPRINTF -# endif - -#endif - -// -// If glibc is past version 2 then we definitely have -// gettimeofday, earlier versions may or may not have it: -// -#if defined(__GLIBC__) && (__GLIBC__ >= 2) -# define BOOST_HAS_GETTIMEOFDAY -#endif - -#ifdef __USE_POSIX199309 -# define BOOST_HAS_NANOSLEEP -#endif - -#if defined(__GLIBC__) && defined(__GLIBC_PREREQ) -// __GLIBC_PREREQ is available since 2.1.2 - - // swprintf is available since glibc 2.2.0 -# if !__GLIBC_PREREQ(2,2) || (!defined(__USE_ISOC99) && !defined(__USE_UNIX98)) -# define BOOST_NO_SWPRINTF -# endif -#else -# define BOOST_NO_SWPRINTF -#endif - -// boilerplate code: -#define BOOST_HAS_UNISTD_H -#include - -#ifndef __GNUC__ -// -// if the compiler is not gcc we still need to be able to parse -// the GNU system headers, some of which (mainly ) -// use GNU specific extensions: -// -# ifndef __extension__ -# define __extension__ -# endif -# ifndef __const__ -# define __const__ const -# endif -# ifndef __volatile__ -# define __volatile__ volatile -# endif -# ifndef __signed__ -# define __signed__ signed -# endif -# ifndef __typeof__ -# define __typeof__ typeof -# endif -# ifndef __inline__ -# define __inline__ inline -# endif -#endif - - diff --git a/src/eo/contrib/boost/config/platform/macos.hpp b/src/eo/contrib/boost/config/platform/macos.hpp deleted file mode 100755 index d6877d311..000000000 --- a/src/eo/contrib/boost/config/platform/macos.hpp +++ /dev/null @@ -1,78 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Darin Adler 2001 - 2002. -// (C) Copyright Bill Kempf 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Mac OS specific config options: - -#define BOOST_PLATFORM "Mac OS" - -#if __MACH__ && !defined(_MSL_USING_MSL_C) - -// Using the Mac OS X system BSD-style C library. - -# ifndef BOOST_HAS_UNISTD_H -# define BOOST_HAS_UNISTD_H -# endif -// -// Begin by including our boilerplate code for POSIX -// feature detection, this is safe even when using -// the MSL as Metrowerks supply their own -// to replace the platform-native BSD one. G++ users -// should also always be able to do this on MaxOS X. -// -# include -# ifndef BOOST_HAS_STDINT_H -# define BOOST_HAS_STDINT_H -# endif - -// -// BSD runtime has pthreads, sigaction, sched_yield and gettimeofday, -// of these only pthreads are advertised in , so set the -// other options explicitly: -// -# define BOOST_HAS_SCHED_YIELD -# define BOOST_HAS_GETTIMEOFDAY -# define BOOST_HAS_SIGACTION - -# if (__GNUC__ < 3) && !defined( __APPLE_CC__) - -// GCC strange "ignore std" mode works better if you pretend everything -// is in the std namespace, for the most part. - -# define BOOST_NO_STDC_NAMESPACE -# endif - -#else - -// Using the MSL C library. - -// We will eventually support threads in non-Carbon builds, but we do -// not support this yet. -# if ( defined(TARGET_API_MAC_CARBON) && TARGET_API_MAC_CARBON ) || ( defined(TARGET_CARBON) && TARGET_CARBON ) - -# if !defined(BOOST_HAS_PTHREADS) -# define BOOST_HAS_MPTASKS -# elif ( __dest_os == __mac_os_x ) -// We are doing a Carbon/Mach-O/MSL build which has pthreads, but only the -// gettimeofday and no posix. -# define BOOST_HAS_GETTIMEOFDAY -# endif - -// The MP task implementation of Boost Threads aims to replace MP-unsafe -// parts of the MSL, so we turn on threads unconditionally. -# define BOOST_HAS_THREADS - -// The remote call manager depends on this. -# define BOOST_BIND_ENABLE_PASCAL - -# endif - -#endif - - - diff --git a/src/eo/contrib/boost/config/platform/solaris.hpp b/src/eo/contrib/boost/config/platform/solaris.hpp deleted file mode 100755 index 700dc3ce6..000000000 --- a/src/eo/contrib/boost/config/platform/solaris.hpp +++ /dev/null @@ -1,21 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// sun specific config options: - -#define BOOST_PLATFORM "Sun Solaris" - -#define BOOST_HAS_GETTIMEOFDAY - -// boilerplate code: -#define BOOST_HAS_UNISTD_H -#include - - - - diff --git a/src/eo/contrib/boost/config/platform/win32.hpp b/src/eo/contrib/boost/config/platform/win32.hpp deleted file mode 100755 index 548bff280..000000000 --- a/src/eo/contrib/boost/config/platform/win32.hpp +++ /dev/null @@ -1,50 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Bill Kempf 2001. -// (C) Copyright Aleksey Gurtovoy 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Win32 specific config options: - -#define BOOST_PLATFORM "Win32" - -#if defined(__GNUC__) && !defined(BOOST_NO_SWPRINTF) -# define BOOST_NO_SWPRINTF -#endif - -#if !defined(__GNUC__) && !defined(BOOST_HAS_DECLSPEC) -# define BOOST_HAS_DECLSPEC -#endif - -#if defined(__MINGW32__) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 2))) -# define BOOST_HAS_STDINT_H -# define __STDC_LIMIT_MACROS -#endif - -// -// Win32 will normally be using native Win32 threads, -// but there is a pthread library avaliable as an option, -// we used to disable this when BOOST_DISABLE_WIN32 was -// defined but no longer - this should allow some -// files to be compiled in strict mode - while maintaining -// a consistent setting of BOOST_HAS_THREADS across -// all translation units (needed for shared_ptr etc). -// - -#ifdef _WIN32_WCE -# define BOOST_NO_ANSI_APIS -#endif - -#ifndef BOOST_HAS_PTHREADS -# define BOOST_HAS_WINTHREADS -#endif - -#ifndef BOOST_DISABLE_WIN32 -// WEK: Added -#define BOOST_HAS_FTIME -#define BOOST_WINDOWS 1 - -#endif diff --git a/src/eo/contrib/boost/config/posix_features.hpp b/src/eo/contrib/boost/config/posix_features.hpp deleted file mode 100755 index 4afb476b7..000000000 --- a/src/eo/contrib/boost/config/posix_features.hpp +++ /dev/null @@ -1,87 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - -// See http://www.boost.org for most recent version. - -// All POSIX feature tests go in this file, -// Note that we test _POSIX_C_SOURCE and _XOPEN_SOURCE as well -// _POSIX_VERSION and _XOPEN_VERSION: on some systems POSIX API's -// may be present but none-functional unless _POSIX_C_SOURCE and -// _XOPEN_SOURCE have been defined to the right value (it's up -// to the user to do this *before* including any header, although -// in most cases the compiler will do this for you). - -# if defined(BOOST_HAS_UNISTD_H) -# include - - // XOpen has , but is this the correct version check? -# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION >= 3) -# define BOOST_HAS_NL_TYPES_H -# endif - - // POSIX version 6 requires -# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 200100) -# define BOOST_HAS_STDINT_H -# endif - - // POSIX version 2 requires -# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199009L) -# define BOOST_HAS_DIRENT_H -# endif - - // POSIX version 3 requires to have sigaction: -# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199506L) -# define BOOST_HAS_SIGACTION -# endif - // POSIX defines _POSIX_THREADS > 0 for pthread support, - // however some platforms define _POSIX_THREADS without - // a value, hence the (_POSIX_THREADS+0 >= 0) check. - // Strictly speaking this may catch platforms with a - // non-functioning stub , but such occurrences should - // occur very rarely if at all. -# if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_MPTASKS) -# define BOOST_HAS_PTHREADS -# endif - - // BOOST_HAS_NANOSLEEP: - // This is predicated on _POSIX_TIMERS or _XOPEN_REALTIME: -# if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) \ - || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0)) -# define BOOST_HAS_NANOSLEEP -# endif - - // BOOST_HAS_CLOCK_GETTIME: - // This is predicated on _POSIX_TIMERS (also on _XOPEN_REALTIME - // but at least one platform - linux - defines that flag without - // defining clock_gettime): -# if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) -# define BOOST_HAS_CLOCK_GETTIME -# endif - - // BOOST_HAS_SCHED_YIELD: - // This is predicated on _POSIX_PRIORITY_SCHEDULING or - // on _POSIX_THREAD_PRIORITY_SCHEDULING or on _XOPEN_REALTIME. -# if defined(_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING+0 > 0)\ - || (defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING+0 > 0))\ - || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0)) -# define BOOST_HAS_SCHED_YIELD -# endif - - // BOOST_HAS_GETTIMEOFDAY: - // BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE: - // These are predicated on _XOPEN_VERSION, and appears to be first released - // in issue 4, version 2 (_XOPEN_VERSION > 500). -# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION+0 >= 500) -# define BOOST_HAS_GETTIMEOFDAY -# if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE+0 >= 500) -# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -# endif -# endif - -# endif - - - diff --git a/src/eo/contrib/boost/config/requires_threads.hpp b/src/eo/contrib/boost/config/requires_threads.hpp deleted file mode 100755 index cfaff2302..000000000 --- a/src/eo/contrib/boost/config/requires_threads.hpp +++ /dev/null @@ -1,92 +0,0 @@ -// (C) Copyright John Maddock 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - -#ifndef BOOST_CONFIG_REQUIRES_THREADS_HPP -#define BOOST_CONFIG_REQUIRES_THREADS_HPP - -#ifndef BOOST_CONFIG_HPP -# include -#endif - -#if defined(BOOST_DISABLE_THREADS) - -// -// special case to handle versions of gcc which don't currently support threads: -// -#if defined(__GNUC__) && ((__GNUC__ < 3) || (__GNUC_MINOR__ <= 3) || !defined(BOOST_STRICT_CONFIG)) -// -// this is checked up to gcc 3.3: -// -#if defined(__sgi) || defined(__hpux) -# error "Multi-threaded programs are not supported by gcc on HPUX or Irix (last checked with gcc 3.3)" -#endif - -#endif - -# error "Threading support unavaliable: it has been explicitly disabled with BOOST_DISABLE_THREADS" - -#elif !defined(BOOST_HAS_THREADS) - -# if defined __COMO__ -// Comeau C++ -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_MT (Windows) or -D_REENTRANT (Unix)" - -#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC) -// Intel -#ifdef _WIN32 -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd" -#else -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -openmp" -#endif - -# elif defined __GNUC__ -// GNU C++: -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)" - -#elif defined __sgi -// SGI MIPSpro C++ -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_SGI_MP_SOURCE" - -#elif defined __DECCXX -// Compaq Tru64 Unix cxx -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread" - -#elif defined __BORLANDC__ -// Borland -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -tWM" - -#elif defined __MWERKS__ -// Metrowerks CodeWarrior -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either -runtime sm, -runtime smd, -runtime dm, or -runtime dmd" - -#elif defined __SUNPRO_CC -// Sun Workshop Compiler C++ -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt" - -#elif defined __HP_aCC -// HP aCC -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt" - -#elif defined(__IBMCPP__) -// IBM Visual Age -# error "Compiler threading support is not turned on. Please compile the code with the xlC_r compiler" - -#elif defined _MSC_VER -// Microsoft Visual C++ -// -// Must remain the last #elif since some other vendors (Metrowerks, for -// example) also #define _MSC_VER -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd" - -#else - -# error "Compiler threading support is not turned on. Please consult your compiler's documentation for the appropriate options to use" - -#endif // compilers - -#endif // BOOST_HAS_THREADS - -#endif // BOOST_CONFIG_REQUIRES_THREADS_HPP diff --git a/src/eo/contrib/boost/config/select_compiler_config.hpp b/src/eo/contrib/boost/config/select_compiler_config.hpp deleted file mode 100755 index 3453f1a35..000000000 --- a/src/eo/contrib/boost/config/select_compiler_config.hpp +++ /dev/null @@ -1,83 +0,0 @@ -// Boost compiler configuration selection header file - -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Martin Wille 2003. -// (C) Copyright Guillaume Melquiond 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// locate which compiler we are using and define -// BOOST_COMPILER_CONFIG as needed: - -# if defined __COMO__ -// Comeau C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp" - -#elif defined __DMC__ -// Digital Mars C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/digitalmars.hpp" - -#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC) -// Intel -# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp" - -# elif defined __GNUC__ -// GNU C++: -# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp" - -#elif defined __KCC -// Kai C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/kai.hpp" - -#elif defined __sgi -// SGI MIPSpro C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/sgi_mipspro.hpp" - -#elif defined __DECCXX -// Compaq Tru64 Unix cxx -# define BOOST_COMPILER_CONFIG "boost/config/compiler/compaq_cxx.hpp" - -#elif defined __ghs -// Greenhills C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/greenhills.hpp" - -#elif defined __BORLANDC__ -// Borland -# define BOOST_COMPILER_CONFIG "boost/config/compiler/borland.hpp" - -#elif defined __MWERKS__ -// Metrowerks CodeWarrior -# define BOOST_COMPILER_CONFIG "boost/config/compiler/metrowerks.hpp" - -#elif defined __SUNPRO_CC -// Sun Workshop Compiler C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/sunpro_cc.hpp" - -#elif defined __HP_aCC -// HP aCC -# define BOOST_COMPILER_CONFIG "boost/config/compiler/hp_acc.hpp" - -#elif defined(__MRC__) || defined(__SC__) -// MPW MrCpp or SCpp -# define BOOST_COMPILER_CONFIG "boost/config/compiler/mpw.hpp" - -#elif defined(__IBMCPP__) -// IBM Visual Age -# define BOOST_COMPILER_CONFIG "boost/config/compiler/vacpp.hpp" - -#elif defined _MSC_VER -// Microsoft Visual C++ -// -// Must remain the last #elif since some other vendors (Metrowerks, for -// example) also #define _MSC_VER -# define BOOST_COMPILER_CONFIG "boost/config/compiler/visualc.hpp" - -#elif defined (BOOST_ASSERT_CONFIG) -// this must come last - generate an error if we don't -// recognise the compiler: -# error "Unknown compiler - please configure (http://www.boost.org/libs/config/config.htm#configuring) and report the results to the main boost mailing list (http://www.boost.org/more/mailing_lists.htm#main)" - -#endif diff --git a/src/eo/contrib/boost/config/select_platform_config.hpp b/src/eo/contrib/boost/config/select_platform_config.hpp deleted file mode 100755 index 60bfa5095..000000000 --- a/src/eo/contrib/boost/config/select_platform_config.hpp +++ /dev/null @@ -1,86 +0,0 @@ -// Boost compiler configuration selection header file - -// (C) Copyright John Maddock 2001 - 2002. -// (C) Copyright Jens Maurer 2001. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// locate which platform we are on and define BOOST_PLATFORM_CONFIG as needed. -// Note that we define the headers to include using "header_name" not -// in order to prevent macro expansion within the header -// name (for example "linux" is a macro on linux systems). - -#if defined(linux) || defined(__linux) || defined(__linux__) -// linux: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/linux.hpp" - -#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) -// BSD: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/bsd.hpp" - -#elif defined(sun) || defined(__sun) -// solaris: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/solaris.hpp" - -#elif defined(__sgi) -// SGI Irix: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/irix.hpp" - -#elif defined(__hpux) -// hp unix: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/hpux.hpp" - -#elif defined(__CYGWIN__) -// cygwin is not win32: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/cygwin.hpp" - -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -// win32: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp" - -#elif defined(__BEOS__) -// BeOS -# define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp" - -#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) -// MacOS -# define BOOST_PLATFORM_CONFIG "boost/config/platform/macos.hpp" - -#elif defined(__IBMCPP__) || defined(_AIX) -// IBM -# define BOOST_PLATFORM_CONFIG "boost/config/platform/aix.hpp" - -#elif defined(__amigaos__) -// AmigaOS -# define BOOST_PLATFORM_CONFIG "boost/config/platform/amigaos.hpp" - -#else - -# if defined(unix) \ - || defined(__unix) \ - || defined(_XOPEN_SOURCE) \ - || defined(_POSIX_SOURCE) - - // generic unix platform: - -# ifndef BOOST_HAS_UNISTD_H -# define BOOST_HAS_UNISTD_H -# endif - -# include - -# endif - -# if defined (BOOST_ASSERT_CONFIG) - // this must come last - generate an error if we don't - // recognise the platform: -# error "Unknown platform - please configure and report the results to boost.org" -# endif - -#endif - - - diff --git a/src/eo/contrib/boost/config/select_stdlib_config.hpp b/src/eo/contrib/boost/config/select_stdlib_config.hpp deleted file mode 100755 index b7bf59143..000000000 --- a/src/eo/contrib/boost/config/select_stdlib_config.hpp +++ /dev/null @@ -1,68 +0,0 @@ -// Boost compiler configuration selection header file - -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001 - 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - -// See http://www.boost.org for most recent version. - -// locate which std lib we are using and define BOOST_STDLIB_CONFIG as needed: - -// we need to include a std lib header here in order to detect which -// library is in use, use as it's about the smallest -// of the std lib headers - do not rely on this header being included - -// users can short-circuit this header if they know whose std lib -// they are using. - -#include - -#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) -// STLPort library; this _must_ come first, otherwise since -// STLport typically sits on top of some other library, we -// can end up detecting that first rather than STLport: -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/stlport.hpp" - -#elif defined(__LIBCOMO__) -// Comeau STL: -#define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcomo.hpp" - -#elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER) -// Rogue Wave library: -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/roguewave.hpp" - -#elif defined(__GLIBCPP__) || defined(__GLIBCXX__) -// GNU libstdc++ 3 -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/libstdcpp3.hpp" - -#elif defined(__STL_CONFIG_H) -// generic SGI STL -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/sgi.hpp" - -#elif defined(__MSL_CPP__) -// MSL standard lib: -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/msl.hpp" - -#elif defined(__IBMCPP__) -// take the default VACPP std lib -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/vacpp.hpp" - -#elif defined(MSIPL_COMPILE_H) -// Modena C++ standard library -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/modena.hpp" - -#elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER) -// Dinkumware Library (this has to appear after any possible replacement libraries): -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/dinkumware.hpp" - -#elif defined (BOOST_ASSERT_CONFIG) -// this must come last - generate an error if we don't -// recognise the library: -# error "Unknown standard library - please configure and report the results to boost.org" - -#endif - - - diff --git a/src/eo/contrib/boost/config/stdlib/dinkumware.hpp b/src/eo/contrib/boost/config/stdlib/dinkumware.hpp deleted file mode 100755 index aa214fc1b..000000000 --- a/src/eo/contrib/boost/config/stdlib/dinkumware.hpp +++ /dev/null @@ -1,106 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001. -// (C) Copyright Peter Dimov 2001. -// (C) Copyright David Abrahams 2002. -// (C) Copyright Guillaume Melquiond 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Dinkumware standard library config: - -#if !defined(_YVALS) && !defined(_CPPLIB_VER) -#include -#if !defined(_YVALS) && !defined(_CPPLIB_VER) -#error This is not the Dinkumware lib! -#endif -#endif - - -#if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306) - // full dinkumware 3.06 and above - // fully conforming provided the compiler supports it: -# if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(__BORLANDC__) && !defined(_STD) && !(defined(__ICC) && (__ICC >= 700)) // can be defined in yvals.h -# define BOOST_NO_STDC_NAMESPACE -# endif -# if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300)) && defined(BOOST_MSVC) -# define BOOST_NO_STD_ALLOCATOR -# endif -# define BOOST_HAS_PARTIAL_STD_ALLOCATOR -# if defined(BOOST_MSVC) && (BOOST_MSVC < 1300) - // if this lib version is set up for vc6 then there is no std::use_facet: -# define BOOST_NO_STD_USE_FACET -# define BOOST_HAS_TWO_ARG_USE_FACET - // C lib functions aren't in namespace std either: -# define BOOST_NO_STDC_NAMESPACE - // and nor is -# define BOOST_NO_EXCEPTION_STD_NAMESPACE -# endif -// There's no numeric_limits support unless _LONGLONG is defined: -# if !defined(_LONGLONG) && (_CPPLIB_VER <= 310) -# define BOOST_NO_MS_INT64_NUMERIC_LIMITS -# endif -// 3.06 appears to have (non-sgi versions of) & , -// and no at all -#else -# define BOOST_MSVC_STD_ITERATOR 1 -# define BOOST_NO_STD_ITERATOR -# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -# define BOOST_NO_STD_ALLOCATOR -# define BOOST_NO_STDC_NAMESPACE -# define BOOST_NO_STD_USE_FACET -# define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN -# define BOOST_HAS_MACRO_USE_FACET -# ifndef _CPPLIB_VER - // Updated Dinkum library defines this, and provides - // its own min and max definitions. -# define BOOST_NO_STD_MIN_MAX -# define BOOST_NO_MS_INT64_NUMERIC_LIMITS -# endif -#endif - -// -// std extension namespace is stdext for vc7.1 and later, -// the same applies to other compilers that sit on top -// of vc7.1 (Intel and Comeau): -// -#if defined(_MSC_VER) && (_MSC_VER >= 1310) && !defined(__BORLANDC__) -# define BOOST_STD_EXTENSION_NAMESPACE stdext -#endif - - -#if (defined(_MSC_VER) && (_MSC_VER <= 1300) && !defined(__BORLANDC__)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306) - // if we're using a dinkum lib that's - // been configured for VC6/7 then there is - // no iterator traits (true even for icl) -# define BOOST_NO_STD_ITERATOR_TRAITS -#endif - -#if defined(__ICL) && (__ICL < 800) && defined(_CPPLIB_VER) && (_CPPLIB_VER <= 310) -// Intel C++ chokes over any non-trivial use of -// this may be an overly restrictive define, but regex fails without it: -# define BOOST_NO_STD_LOCALE -#endif - -#ifdef _CPPLIB_VER -# define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER -#else -# define BOOST_DINKUMWARE_STDLIB 1 -#endif - -#ifdef _CPPLIB_VER -# define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER) -#else -# define BOOST_STDLIB "Dinkumware standard library version 1.x" -#endif - - - - - - - - - diff --git a/src/eo/contrib/boost/config/stdlib/libcomo.hpp b/src/eo/contrib/boost/config/stdlib/libcomo.hpp deleted file mode 100755 index b2c8e4400..000000000 --- a/src/eo/contrib/boost/config/stdlib/libcomo.hpp +++ /dev/null @@ -1,46 +0,0 @@ -// (C) Copyright John Maddock 2002 - 2003. -// (C) Copyright Jens Maurer 2002 - 2003. -// (C) Copyright Beman Dawes 2002 - 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Comeau STL: - -#if !defined(__LIBCOMO__) -# include -# if !defined(__LIBCOMO__) -# error "This is not the Comeau STL!" -# endif -#endif - -// -// std::streambuf is non-standard -// NOTE: versions of libcomo prior to beta28 have octal version numbering, -// e.g. version 25 is 21 (dec) -#if __LIBCOMO_VERSION__ <= 22 -# define BOOST_NO_STD_WSTREAMBUF -#endif - -#if (__LIBCOMO_VERSION__ <= 31) && defined(_WIN32) -#define BOOST_NO_SWPRINTF -#endif - -#if __LIBCOMO_VERSION__ >= 31 -# define BOOST_HAS_HASH -# define BOOST_HAS_SLIST -#endif - -// -// Intrinsic type_traits support. -// The SGI STL has it's own __type_traits class, which -// has intrinsic compiler support with SGI's compilers. -// Whatever map SGI style type traits to boost equivalents: -// -#define BOOST_HAS_SGI_TYPE_TRAITS - -#define BOOST_STDLIB "Comeau standard library " BOOST_STRINGIZE(__LIBCOMO_VERSION__) - - diff --git a/src/eo/contrib/boost/config/stdlib/libstdcpp3.hpp b/src/eo/contrib/boost/config/stdlib/libstdcpp3.hpp deleted file mode 100755 index f367fa0f1..000000000 --- a/src/eo/contrib/boost/config/stdlib/libstdcpp3.hpp +++ /dev/null @@ -1,61 +0,0 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright Jens Maurer 2001. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// config for libstdc++ v3 -// not much to go in here: - -#ifdef __GLIBCXX__ -#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCXX__) -#else -#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCPP__) -#endif - -#if !defined(_GLIBCPP_USE_WCHAR_T) && !defined(_GLIBCXX_USE_WCHAR_T) -# define BOOST_NO_CWCHAR -# define BOOST_NO_CWCTYPE -# define BOOST_NO_STD_WSTRING -# define BOOST_NO_STD_WSTREAMBUF -#endif - -#if defined(__osf__) && !defined(_REENTRANT) \ - && ( defined(_GLIBCXX_HAVE_GTHR_DEFAULT) || defined(_GLIBCPP_HAVE_GTHR_DEFAULT) ) -// GCC 3 on Tru64 forces the definition of _REENTRANT when any std lib header -// file is included, therefore for consistency we define it here as well. -# define _REENTRANT -#endif - -#ifdef __GLIBCXX__ // gcc 3.4 and greater: -# ifdef _GLIBCXX_HAVE_GTHR_DEFAULT - // - // If the std lib has thread support turned on, then turn it on in Boost - // as well. We do this because some gcc-3.4 std lib headers define _REENTANT - // while others do not... - // -# define BOOST_HAS_THREADS -# else -# define BOOST_DISABLE_THREADS -# endif -#elif defined(__GLIBCPP__) && !defined(_GLIBCPP_HAVE_GTHR_DEFAULT) - // disable thread support if the std lib was built single threaded: -# define BOOST_DISABLE_THREADS -#endif - -#if (defined(linux) || defined(__linux) || defined(__linux__)) && defined(__arm__) && defined(_GLIBCPP_HAVE_GTHR_DEFAULT) -// linux on arm apparently doesn't define _REENTRANT -// so just turn on threading support whenever the std lib is thread safe: -# define BOOST_HAS_THREADS -#endif - - -#if !defined(_GLIBCPP_USE_LONG_LONG) \ - && !defined(_GLIBCXX_USE_LONG_LONG)\ - && defined(BOOST_HAS_LONG_LONG) -// May have been set by compiler/*.hpp, but "long long" without library -// support is useless. -# undef BOOST_HAS_LONG_LONG -#endif diff --git a/src/eo/contrib/boost/config/stdlib/modena.hpp b/src/eo/contrib/boost/config/stdlib/modena.hpp deleted file mode 100755 index 61e31b7d1..000000000 --- a/src/eo/contrib/boost/config/stdlib/modena.hpp +++ /dev/null @@ -1,30 +0,0 @@ -// (C) Copyright Jens Maurer 2001. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Modena C++ standard library (comes with KAI C++) - -#if !defined(MSIPL_COMPILE_H) -# include -# if !defined(__MSIPL_COMPILE_H) -# error "This is not the Modena C++ library!" -# endif -#endif - -#ifndef MSIPL_NL_TYPES -#define BOOST_NO_STD_MESSAGES -#endif - -#ifndef MSIPL_WCHART -#define BOOST_NO_STD_WSTRING -#endif - -#define BOOST_STDLIB "Modena C++ standard library" - - - - - diff --git a/src/eo/contrib/boost/config/stdlib/msl.hpp b/src/eo/contrib/boost/config/stdlib/msl.hpp deleted file mode 100755 index 0df8e0e3b..000000000 --- a/src/eo/contrib/boost/config/stdlib/msl.hpp +++ /dev/null @@ -1,59 +0,0 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright Darin Adler 2001. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Metrowerks standard library: - -#ifndef __MSL_CPP__ -# include -# ifndef __MSL_CPP__ -# error This is not the MSL standard library! -# endif -#endif - -#if __MSL_CPP__ >= 0x6000 // Pro 6 -# define BOOST_HAS_HASH -# define BOOST_STD_EXTENSION_NAMESPACE Metrowerks -#endif -#define BOOST_HAS_SLIST - -#if __MSL_CPP__ < 0x6209 -# define BOOST_NO_STD_MESSAGES -#endif - -// check C lib version for -#include - -#if defined(__MSL__) && (__MSL__ >= 0x5000) -# define BOOST_HAS_STDINT_H -# if !defined(__PALMOS_TRAPS__) -# define BOOST_HAS_UNISTD_H -# endif - // boilerplate code: -# include -#endif - -#if defined(_MWMT) || _MSL_THREADSAFE -# define BOOST_HAS_THREADS -#endif - -#ifdef _MSL_NO_EXPLICIT_FUNC_TEMPLATE_ARG -# define BOOST_NO_STD_USE_FACET -# define BOOST_HAS_TWO_ARG_USE_FACET -#endif - - -#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__) - - - - - - - - - diff --git a/src/eo/contrib/boost/config/stdlib/roguewave.hpp b/src/eo/contrib/boost/config/stdlib/roguewave.hpp deleted file mode 100755 index b331f6538..000000000 --- a/src/eo/contrib/boost/config/stdlib/roguewave.hpp +++ /dev/null @@ -1,127 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001. -// (C) Copyright David Abrahams 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Rogue Wave std lib: - -#if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER) -# include -# if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER) -# error This is not the Rogue Wave standard library -# endif -#endif -// -// figure out a consistent version number: -// -#ifndef _RWSTD_VER -# define BOOST_RWSTD_VER 0x010000 -#elif _RWSTD_VER < 0x010000 -# define BOOST_RWSTD_VER (_RWSTD_VER << 8) -#else -# define BOOST_RWSTD_VER _RWSTD_VER -#endif - -#ifndef _RWSTD_VER -# define BOOST_STDLIB "Rogue Wave standard library version (Unknown version)" -#else -# define BOOST_STDLIB "Rogue Wave standard library version " BOOST_STRINGIZE(_RWSTD_VER) -#endif - -// -// Prior to version 2.2.0 the primary template for std::numeric_limits -// does not have compile time constants, even though specializations of that -// template do: -// -#if BOOST_RWSTD_VER < 0x020200 -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -#endif - -// Sun CC 5.5 patch 113817-07 adds long long specialization, but does not change the -// library version number (http://sunsolve6.sun.com/search/document.do?assetkey=1-21-113817): -#if BOOST_RWSTD_VER <= 0x020101 && (!defined(__SUNPRO_CC) || (__SUNPRO_CC < 0x550)) -# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS -# endif - -// -// Borland version of numeric_limits lacks __int64 specialisation: -// -#ifdef __BORLANDC__ -# define BOOST_NO_MS_INT64_NUMERIC_LIMITS -#endif - -// -// No std::iterator if it can't figure out default template args: -// -#if defined(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || defined(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || (BOOST_RWSTD_VER < 0x020000) -# define BOOST_NO_STD_ITERATOR -#endif - -// -// No iterator traits without partial specialization: -// -#if defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) || defined(RWSTD_NO_CLASS_PARTIAL_SPEC) -# define BOOST_NO_STD_ITERATOR_TRAITS -#endif - -// -// Prior to version 2.0, std::auto_ptr was buggy, and there were no -// new-style iostreams, and no conformant std::allocator: -// -#if (BOOST_RWSTD_VER < 0x020000) -# define BOOST_NO_AUTO_PTR -# define BOOST_NO_STRINGSTREAM -# define BOOST_NO_STD_ALLOCATOR -# define BOOST_NO_STD_LOCALE -#endif - -// -// No template iterator constructors without member template support: -// -#if defined(RWSTD_NO_MEMBER_TEMPLATES) || defined(_RWSTD_NO_MEMBER_TEMPLATES) -# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -#endif - -// -// RW defines _RWSTD_ALLOCATOR if the allocator is conformant and in use -// (the or _HPACC_ part is a hack - the library seems to define _RWSTD_ALLOCATOR -// on HP aCC systems even though the allocator is in fact broken): -// -#if !defined(_RWSTD_ALLOCATOR) || (defined(__HP_aCC) && __HP_aCC <= 33100) -# define BOOST_NO_STD_ALLOCATOR -#endif - -// -// If we have a std::locale, we still may not have std::use_facet: -// -#if defined(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE) && !defined(BOOST_NO_STD_LOCALE) -# define BOOST_NO_STD_USE_FACET -# define BOOST_HAS_TWO_ARG_USE_FACET -#endif - -// -// There's no std::distance prior to version 2, or without -// partial specialization support: -// -#if (BOOST_RWSTD_VER < 0x020000) || defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) - #define BOOST_NO_STD_DISTANCE -#endif - -// -// Some versions of the rogue wave library don't have assignable -// OutputIterators: -// -#if BOOST_RWSTD_VER < 0x020100 -# define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN -#endif - -// -// Disable BOOST_HAS_LONG_LONG when the library has no support for it. -// -#if !defined(_RWSTD_LONG_LONG) && defined(BOOST_HAS_LONG_LONG) -# undef BOOST_HAS_LONG_LONG -#endif diff --git a/src/eo/contrib/boost/config/stdlib/sgi.hpp b/src/eo/contrib/boost/config/stdlib/sgi.hpp deleted file mode 100755 index 67f7a0a4b..000000000 --- a/src/eo/contrib/boost/config/stdlib/sgi.hpp +++ /dev/null @@ -1,111 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Darin Adler 2001. -// (C) Copyright Jens Maurer 2001 - 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// generic SGI STL: - -#if !defined(__STL_CONFIG_H) -# include -# if !defined(__STL_CONFIG_H) -# error "This is not the SGI STL!" -# endif -#endif - -// -// No std::iterator traits without partial specialisation: -// -#if !defined(__STL_CLASS_PARTIAL_SPECIALIZATION) -# define BOOST_NO_STD_ITERATOR_TRAITS -#endif - -// -// No std::stringstream with gcc < 3 -// -#if defined(__GNUC__) && (__GNUC__ < 3) && \ - ((__GNUC_MINOR__ < 95) || (__GNUC_MINOR__ == 96)) && \ - !defined(__STL_USE_NEW_IOSTREAMS) || \ - defined(__APPLE_CC__) - // Note that we only set this for GNU C++ prior to 2.95 since the - // latest patches for that release do contain a minimal - // If you are running a 2.95 release prior to 2.95.3 then this will need - // setting, but there is no way to detect that automatically (other - // than by running the configure script). - // Also, the unofficial GNU C++ 2.96 included in RedHat 7.1 doesn't - // have . -# define BOOST_NO_STRINGSTREAM -#endif - -// -// Assume no std::locale without own iostreams (this may be an -// incorrect assumption in some cases): -// -#if !defined(__SGI_STL_OWN_IOSTREAMS) && !defined(__STL_USE_NEW_IOSTREAMS) -# define BOOST_NO_STD_LOCALE -#endif - -// -// Original native SGI streams have non-standard std::messages facet: -// -#if defined(__sgi) && (_COMPILER_VERSION <= 650) && !defined(__SGI_STL_OWN_IOSTREAMS) -# define BOOST_NO_STD_LOCALE -#endif - -// -// SGI's new iostreams have missing "const" in messages<>::open -// -#if defined(__sgi) && (_COMPILER_VERSION <= 740) && defined(__STL_USE_NEW_IOSTREAMS) -# define BOOST_NO_STD_MESSAGES -#endif - -// -// No template iterator constructors, or std::allocator -// without member templates: -// -#if !defined(__STL_MEMBER_TEMPLATES) -# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -# define BOOST_NO_STD_ALLOCATOR -#endif - -// -// We always have SGI style hash_set, hash_map, and slist: -// -#define BOOST_HAS_HASH -#define BOOST_HAS_SLIST - -// -// If this is GNU libstdc++2, then no and no std::wstring: -// -#if (defined(__GNUC__) && (__GNUC__ < 3)) -# include -# if defined(__BASTRING__) -# define BOOST_NO_LIMITS -// Note: will provide compile-time constants -# undef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -# define BOOST_NO_STD_WSTRING -# endif -#endif - -// -// There is no standard iterator unless we have namespace support: -// -#if !defined(__STL_USE_NAMESPACES) -# define BOOST_NO_STD_ITERATOR -#endif - -// -// Intrinsic type_traits support. -// The SGI STL has it's own __type_traits class, which -// has intrinsic compiler support with SGI's compilers. -// Whatever map SGI style type traits to boost equivalents: -// -#define BOOST_HAS_SGI_TYPE_TRAITS - -#define BOOST_STDLIB "SGI standard library" - - - diff --git a/src/eo/contrib/boost/config/stdlib/stlport.hpp b/src/eo/contrib/boost/config/stdlib/stlport.hpp deleted file mode 100755 index 4843ea59b..000000000 --- a/src/eo/contrib/boost/config/stdlib/stlport.hpp +++ /dev/null @@ -1,201 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2002. -// (C) Copyright Darin Adler 2001. -// (C) Copyright Jens Maurer 2001. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// STLPort standard library config: - -#if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) -# include -# if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) -# error "This is not STLPort!" -# endif -#endif - -// -// __STL_STATIC_CONST_INIT_BUG implies BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -// for versions prior to 4.1(beta) -// -#if (defined(__STL_STATIC_CONST_INIT_BUG) || defined(_STLP_STATIC_CONST_INIT_BUG)) && (__SGI_STL_PORT <= 0x400) -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -#endif - -// -// If STLport thinks that there is no partial specialisation, then there is no -// std::iterator traits: -// -#if !(defined(_STLP_CLASS_PARTIAL_SPECIALIZATION) || defined(__STL_CLASS_PARTIAL_SPECIALIZATION)) -# define BOOST_NO_STD_ITERATOR_TRAITS -#endif - -// -// No new style iostreams on GCC without STLport's iostreams enabled: -// -#if (defined(__GNUC__) && (__GNUC__ < 3)) && !(defined(__SGI_STL_OWN_IOSTREAMS) || defined(_STLP_OWN_IOSTREAMS)) -# define BOOST_NO_STRINGSTREAM -#endif - -// -// No new iostreams implies no std::locale, and no std::stringstream: -// -#if defined(__STL_NO_IOSTREAMS) || defined(__STL_NO_NEW_IOSTREAMS) || defined(_STLP_NO_IOSTREAMS) || defined(_STLP_NO_NEW_IOSTREAMS) -# define BOOST_NO_STD_LOCALE -# define BOOST_NO_STRINGSTREAM -#endif - -// -// If the streams are not native, and we have a "using ::x" compiler bug -// then the io stream facets are not available in namespace std:: -// -#ifdef _STLPORT_VERSION -# if !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__) -# define BOOST_NO_STD_LOCALE -# endif -#else -# if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__) -# define BOOST_NO_STD_LOCALE -# endif -#endif - -// -// Without member template support enabled, their are no template -// iterate constructors, and no std::allocator: -// -#if !(defined(__STL_MEMBER_TEMPLATES) || defined(_STLP_MEMBER_TEMPLATES)) -# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -# define BOOST_NO_STD_ALLOCATOR -#endif -// -// however we always have at least a partial allocator: -// -#define BOOST_HAS_PARTIAL_STD_ALLOCATOR - -#if !defined(_STLP_MEMBER_TEMPLATE_CLASSES) -# define BOOST_NO_STD_ALLOCATOR -#endif - -#if defined(_STLP_NO_MEMBER_TEMPLATE_KEYWORD) && defined(BOOST_MSVC) && (BOOST_MSVC <= 1300) -# define BOOST_NO_STD_ALLOCATOR -#endif - -// -// If STLport thinks there is no wchar_t at all, then we have to disable -// the support for the relevant specilazations of std:: templates. -// -#if !defined(_STLP_HAS_WCHAR_T) && !defined(_STLP_WCHAR_T_IS_USHORT) -# ifndef BOOST_NO_STD_WSTRING -# define BOOST_NO_STD_WSTRING -# endif -# ifndef BOOST_NO_STD_WSTREAMBUF -# define BOOST_NO_STD_WSTREAMBUF -# endif -#endif - -// -// We always have SGI style hash_set, hash_map, and slist: -// -#define BOOST_HAS_HASH -#define BOOST_HAS_SLIST - -// -// STLport does a good job of importing names into namespace std::, -// but doesn't always get them all, define BOOST_NO_STDC_NAMESPACE, since our -// workaround does not conflict with STLports: -// -// -// Harold Howe says: -// Borland switched to STLport in BCB6. Defining BOOST_NO_STDC_NAMESPACE with -// BCB6 does cause problems. If we detect C++ Builder, then don't define -// BOOST_NO_STDC_NAMESPACE -// -#if !defined(__BORLANDC__) && !defined(__DMC__) -// -// If STLport is using it's own namespace, and the real names are in -// the global namespace, then we duplicate STLport's using declarations -// (by defining BOOST_NO_STDC_NAMESPACE), we do this because STLport doesn't -// necessarily import all the names we need into namespace std:: -// -# if (defined(__STL_IMPORT_VENDOR_CSTD) \ - || defined(__STL_USE_OWN_NAMESPACE) \ - || defined(_STLP_IMPORT_VENDOR_CSTD) \ - || defined(_STLP_USE_OWN_NAMESPACE)) \ - && (defined(__STL_VENDOR_GLOBAL_CSTD) || defined (_STLP_VENDOR_GLOBAL_CSTD)) -# define BOOST_NO_STDC_NAMESPACE -# define BOOST_NO_EXCEPTION_STD_NAMESPACE -# endif -#elif defined(__BORLANDC__) && __BORLANDC__ < 0x560 -// STLport doesn't import std::abs correctly: -#include -namespace std { using ::abs; } -// and strcmp/strcpy don't get imported either ('cos they are macros) -#include -#ifdef strcpy -# undef strcpy -#endif -#ifdef strcmp -# undef strcmp -#endif -#ifdef _STLP_VENDOR_CSTD -namespace std{ using _STLP_VENDOR_CSTD::strcmp; using _STLP_VENDOR_CSTD::strcpy; } -#endif -#endif - -// -// std::use_facet may be non-standard, uses a class instead: -// -#if defined(__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS) || defined(_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS) -# define BOOST_NO_STD_USE_FACET -# define BOOST_HAS_STLP_USE_FACET -#endif - -// -// If STLport thinks there are no wide functions, etc. is not working; but -// only if BOOST_NO_STDC_NAMESPACE is not defined (if it is then we do the import -// into std:: ourselves). -// -#if defined(_STLP_NO_NATIVE_WIDE_FUNCTIONS) && !defined(BOOST_NO_STDC_NAMESPACE) -# define BOOST_NO_CWCHAR -# define BOOST_NO_CWCTYPE -#endif - -// -// If STLport for some reason was configured so that it thinks that wchar_t -// is not an intrinsic type, then we have to disable the support for it as -// well (we would be missing required specializations otherwise). -// -#if !defined( _STLP_HAS_WCHAR_T) || defined(_STLP_WCHAR_T_IS_USHORT) -# undef BOOST_NO_INTRINSIC_WCHAR_T -# define BOOST_NO_INTRINSIC_WCHAR_T -#endif - -// -// Borland ships a version of STLport with C++ Builder 6 that lacks -// hashtables and the like: -// -#if defined(__BORLANDC__) && (__BORLANDC__ == 0x560) -# undef BOOST_HAS_HASH -#endif - -// -// gcc-2.95.3/STLPort does not like the using declarations we use to get ADL with std::min/max -// -#if defined(__GNUC__) && (__GNUC__ < 3) -# include // for std::min and std::max -# define BOOST_USING_STD_MIN() ((void)0) -# define BOOST_USING_STD_MAX() ((void)0) -namespace boost { using std::min; using std::max; } -#endif - -#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT) - - - - - - - - diff --git a/src/eo/contrib/boost/config/stdlib/vacpp.hpp b/src/eo/contrib/boost/config/stdlib/vacpp.hpp deleted file mode 100755 index 8321ee0cc..000000000 --- a/src/eo/contrib/boost/config/stdlib/vacpp.hpp +++ /dev/null @@ -1,18 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -#if __IBMCPP__ <= 501 -# define BOOST_NO_STD_ALLOCATOR -#endif - -#define BOOST_HAS_MACRO_USE_FACET -#define BOOST_NO_STD_MESSAGES - -#define BOOST_STDLIB "Visual Age default standard library" - - - diff --git a/src/eo/contrib/boost/config/suffix.hpp b/src/eo/contrib/boost/config/suffix.hpp deleted file mode 100755 index d4d9502d4..000000000 --- a/src/eo/contrib/boost/config/suffix.hpp +++ /dev/null @@ -1,547 +0,0 @@ -// Boost config.hpp configuration header file ------------------------------// - -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Darin Adler 2001. -// (C) Copyright Peter Dimov 2001. -// (C) Copyright Bill Kempf 2002. -// (C) Copyright Jens Maurer 2002. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Gennaro Prota 2003. -// (C) Copyright Eric Friedman 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Boost config.hpp policy and rationale documentation has been moved to -// http://www.boost.org/libs/config -// -// This file is intended to be stable, and relatively unchanging. -// It should contain boilerplate code only - no compiler specific -// code unless it is unavoidable - no changes unless unavoidable. - -#ifndef BOOST_CONFIG_SUFFIX_HPP -#define BOOST_CONFIG_SUFFIX_HPP - -// -// look for long long by looking for the appropriate macros in . -// Note that we use limits.h rather than climits for maximal portability, -// remember that since these just declare a bunch of macros, there should be -// no namespace issues from this. -// -#include -# if !defined(BOOST_HAS_LONG_LONG) \ - && !defined(BOOST_MSVC) && !defined(__BORLANDC__) \ - && (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX)) -# define BOOST_HAS_LONG_LONG -#endif - -// TODO: Remove the following lines after the 1.33 release because the presence -// of an integral 64 bit type has nothing to do with support for long long. - -#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(__DECCXX_VER) -# define BOOST_NO_INTEGRAL_INT64_T -#endif - -// GCC 3.x will clean up all of those nasty macro definitions that -// BOOST_NO_CTYPE_FUNCTIONS is intended to help work around, so undefine -// it under GCC 3.x. -#if defined(__GNUC__) && (__GNUC__ >= 3) && defined(BOOST_NO_CTYPE_FUNCTIONS) -# undef BOOST_NO_CTYPE_FUNCTIONS -#endif - - -// -// Assume any extensions are in namespace std:: unless stated otherwise: -// -# ifndef BOOST_STD_EXTENSION_NAMESPACE -# define BOOST_STD_EXTENSION_NAMESPACE std -# endif - -// -// If cv-qualified specializations are not allowed, then neither are cv-void ones: -// -# if defined(BOOST_NO_CV_SPECIALIZATIONS) \ - && !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS) -# define BOOST_NO_CV_VOID_SPECIALIZATIONS -# endif - -// -// If there is no numeric_limits template, then it can't have any compile time -// constants either! -// -# if defined(BOOST_NO_LIMITS) \ - && !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -# define BOOST_NO_MS_INT64_NUMERIC_LIMITS -# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS -# endif - -// -// if there is no long long then there is no specialisation -// for numeric_limits either: -// -#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS) -# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS -#endif - -// -// if there is no __int64 then there is no specialisation -// for numeric_limits<__int64> either: -// -#if !defined(BOOST_HAS_MS_INT64) && !defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS) -# define BOOST_NO_MS_INT64_NUMERIC_LIMITS -#endif - -// -// if member templates are supported then so is the -// VC6 subset of member templates: -// -# if !defined(BOOST_NO_MEMBER_TEMPLATES) \ - && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) -# define BOOST_MSVC6_MEMBER_TEMPLATES -# endif - -// -// Without partial specialization, can't test for partial specialisation bugs: -// -# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - && !defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG) -# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG -# endif - -// -// Without partial specialization, we can't have array-type partial specialisations: -// -# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) -# define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS -# endif - -// -// Without partial specialization, std::iterator_traits can't work: -// -# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - && !defined(BOOST_NO_STD_ITERATOR_TRAITS) -# define BOOST_NO_STD_ITERATOR_TRAITS -# endif - -// -// Without member template support, we can't have template constructors -// in the standard library either: -// -# if defined(BOOST_NO_MEMBER_TEMPLATES) \ - && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \ - && !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS) -# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -# endif - -// -// Without member template support, we can't have a conforming -// std::allocator template either: -// -# if defined(BOOST_NO_MEMBER_TEMPLATES) \ - && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \ - && !defined(BOOST_NO_STD_ALLOCATOR) -# define BOOST_NO_STD_ALLOCATOR -# endif - -// -// without ADL support then using declarations will break ADL as well: -// -#if defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) -# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -#endif - -// -// If we have a standard allocator, then we have a partial one as well: -// -#if !defined(BOOST_NO_STD_ALLOCATOR) -# define BOOST_HAS_PARTIAL_STD_ALLOCATOR -#endif - -// -// We can't have a working std::use_facet if there is no std::locale: -// -# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_USE_FACET) -# define BOOST_NO_STD_USE_FACET -# endif - -// -// We can't have a std::messages facet if there is no std::locale: -// -# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_MESSAGES) -# define BOOST_NO_STD_MESSAGES -# endif - -// -// We can't have a working std::wstreambuf if there is no std::locale: -// -# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_WSTREAMBUF) -# define BOOST_NO_STD_WSTREAMBUF -# endif - -// -// We can't have a if there is no : -// -# if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_CWCTYPE) -# define BOOST_NO_CWCTYPE -# endif - -// -// We can't have a swprintf if there is no : -// -# if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_SWPRINTF) -# define BOOST_NO_SWPRINTF -# endif - -// -// If Win32 support is turned off, then we must turn off -// threading support also, unless there is some other -// thread API enabled: -// -#if defined(BOOST_DISABLE_WIN32) && defined(_WIN32) \ - && !defined(BOOST_DISABLE_THREADS) && !defined(BOOST_HAS_PTHREADS) -# define BOOST_DISABLE_THREADS -#endif - -// -// Turn on threading support if the compiler thinks that it's in -// multithreaded mode. We put this here because there are only a -// limited number of macros that identify this (if there's any missing -// from here then add to the appropriate compiler section): -// -#if (defined(__MT__) || defined(_MT) || defined(_REENTRANT) \ - || defined(_PTHREADS)) && !defined(BOOST_HAS_THREADS) -# define BOOST_HAS_THREADS -#endif - -// -// Turn threading support off if BOOST_DISABLE_THREADS is defined: -// -#if defined(BOOST_DISABLE_THREADS) && defined(BOOST_HAS_THREADS) -# undef BOOST_HAS_THREADS -#endif - -// -// Turn threading support off if we don't recognise the threading API: -// -#if defined(BOOST_HAS_THREADS) && !defined(BOOST_HAS_PTHREADS)\ - && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_BETHREADS)\ - && !defined(BOOST_HAS_MPTASKS) -# undef BOOST_HAS_THREADS -#endif - -// -// Turn threading detail macros off if we don't (want to) use threading -// -#ifndef BOOST_HAS_THREADS -# undef BOOST_HAS_PTHREADS -# undef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -# undef BOOST_HAS_WINTHREADS -# undef BOOST_HAS_BETHREADS -# undef BOOST_HAS_MPTASKS -#endif - -// -// If the compiler claims to be C99 conformant, then it had better -// have a : -// -# if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901) -# define BOOST_HAS_STDINT_H -# endif - -// -// Define BOOST_NO_SLIST and BOOST_NO_HASH if required. -// Note that this is for backwards compatibility only. -// -# ifndef BOOST_HAS_SLIST -# define BOOST_NO_SLIST -# endif - -# ifndef BOOST_HAS_HASH -# define BOOST_NO_HASH -# endif - -// BOOST_HAS_ABI_HEADERS -// This macro gets set if we have headers that fix the ABI, -// and prevent ODR violations when linking to external libraries: -#if defined(BOOST_ABI_PREFIX) && defined(BOOST_ABI_SUFFIX) && !defined(BOOST_HAS_ABI_HEADERS) -# define BOOST_HAS_ABI_HEADERS -#endif - -#if defined(BOOST_HAS_ABI_HEADERS) && defined(BOOST_DISABLE_ABI_HEADERS) -# undef BOOST_HAS_ABI_HEADERS -#endif - -// BOOST_NO_STDC_NAMESPACE workaround --------------------------------------// -// Because std::size_t usage is so common, even in boost headers which do not -// otherwise use the C library, the workaround is included here so -// that ugly workaround code need not appear in many other boost headers. -// NOTE WELL: This is a workaround for non-conforming compilers; -// must still be #included in the usual places so that inclusion -// works as expected with standard conforming compilers. The resulting -// double inclusion of is harmless. - -# ifdef BOOST_NO_STDC_NAMESPACE -# include - namespace std { using ::ptrdiff_t; using ::size_t; } -# endif - -// Workaround for the unfortunate min/max macros defined by some platform headers - -#define BOOST_PREVENT_MACRO_SUBSTITUTION - -#ifndef BOOST_USING_STD_MIN -# define BOOST_USING_STD_MIN() using std::min -#endif - -#ifndef BOOST_USING_STD_MAX -# define BOOST_USING_STD_MAX() using std::max -#endif - -// BOOST_NO_STD_MIN_MAX workaround -----------------------------------------// - -# ifdef BOOST_NO_STD_MIN_MAX - -namespace std { - template - inline const _Tp& min BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) { - return __b < __a ? __b : __a; - } - template - inline const _Tp& max BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) { - return __a < __b ? __b : __a; - } -} - -# endif - -// BOOST_STATIC_CONSTANT workaround --------------------------------------- // -// On compilers which don't allow in-class initialization of static integral -// constant members, we must use enums as a workaround if we want the constants -// to be available at compile-time. This macro gives us a convenient way to -// declare such constants. - -# ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION -# define BOOST_STATIC_CONSTANT(type, assignment) enum { assignment } -# else -# define BOOST_STATIC_CONSTANT(type, assignment) static const type assignment -# endif - -// BOOST_USE_FACET / HAS_FACET workaround ----------------------------------// -// When the standard library does not have a conforming std::use_facet there -// are various workarounds available, but they differ from library to library. -// The same problem occurs with has_facet. -// These macros provide a consistent way to access a locale's facets. -// Usage: -// replace -// std::use_facet(loc); -// with -// BOOST_USE_FACET(Type, loc); -// Note do not add a std:: prefix to the front of BOOST_USE_FACET! -// Use for BOOST_HAS_FACET is analagous. - -#if defined(BOOST_NO_STD_USE_FACET) -# ifdef BOOST_HAS_TWO_ARG_USE_FACET -# define BOOST_USE_FACET(Type, loc) std::use_facet(loc, static_cast(0)) -# define BOOST_HAS_FACET(Type, loc) std::has_facet(loc, static_cast(0)) -# elif defined(BOOST_HAS_MACRO_USE_FACET) -# define BOOST_USE_FACET(Type, loc) std::_USE(loc, Type) -# define BOOST_HAS_FACET(Type, loc) std::_HAS(loc, Type) -# elif defined(BOOST_HAS_STLP_USE_FACET) -# define BOOST_USE_FACET(Type, loc) (*std::_Use_facet(loc)) -# define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc) -# endif -#else -# define BOOST_USE_FACET(Type, loc) std::use_facet< Type >(loc) -# define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc) -#endif - -// BOOST_NESTED_TEMPLATE workaround ------------------------------------------// -// Member templates are supported by some compilers even though they can't use -// the A::template member syntax, as a workaround replace: -// -// typedef typename A::template rebind binder; -// -// with: -// -// typedef typename A::BOOST_NESTED_TEMPLATE rebind binder; - -#ifndef BOOST_NO_MEMBER_TEMPLATE_KEYWORD -# define BOOST_NESTED_TEMPLATE template -#else -# define BOOST_NESTED_TEMPLATE -#endif - -// BOOST_UNREACHABLE_RETURN(x) workaround -------------------------------------// -// Normally evaluates to nothing, unless BOOST_NO_UNREACHABLE_RETURN_DETECTION -// is defined, in which case it evaluates to return x; Use when you have a return -// statement that can never be reached. - -#ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION -# define BOOST_UNREACHABLE_RETURN(x) return x; -#else -# define BOOST_UNREACHABLE_RETURN(x) -#endif - -// BOOST_DEDUCED_TYPENAME workaround ------------------------------------------// -// -// Some compilers don't support the use of `typename' for dependent -// types in deduced contexts, e.g. -// -// template void f(T, typename T::type); -// ^^^^^^^^ -// Replace these declarations with: -// -// template void f(T, BOOST_DEDUCED_TYPENAME T::type); - -#ifndef BOOST_NO_DEDUCED_TYPENAME -# define BOOST_DEDUCED_TYPENAME typename -#else -# define BOOST_DEDUCED_TYPENAME -#endif - -// long long workaround ------------------------------------------// -// On gcc (and maybe other compilers?) long long is alway supported -// but it's use may generate either warnings (with -ansi), or errors -// (with -pedantic -ansi) unless it's use is prefixed by __extension__ -// -#if defined(BOOST_HAS_LONG_LONG) -namespace boost{ -# ifdef __GNUC__ - __extension__ typedef long long long_long_type; - __extension__ typedef unsigned long long ulong_long_type; -# else - typedef long long long_long_type; - typedef unsigned long long ulong_long_type; -# endif -} -#endif - -// BOOST_[APPEND_]EXPLICIT_TEMPLATE_[NON_]TYPE macros --------------------------// -// -// Some compilers have problems with function templates whose -// template parameters don't appear in the function parameter -// list (basically they just link one instantiation of the -// template in the final executable). These macros provide a -// uniform way to cope with the problem with no effects on the -// calling syntax. - -// Example: -// -// #include -// #include -// #include -// -// template -// void f() { std::cout << n << ' '; } -// -// template -// void g() { std::cout << typeid(T).name() << ' '; } -// -// int main() { -// f<1>(); -// f<2>(); -// -// g(); -// g(); -// } -// -// With VC++ 6.0 the output is: -// -// 2 2 double double -// -// To fix it, write -// -// template -// void f(BOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, n)) { ... } -// -// template -// void g(BOOST_EXPLICIT_TEMPLATE_TYPE(T)) { ... } -// - - -#if defined BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS - -# include "boost/type.hpp" -# include "boost/non_type.hpp" - -# define BOOST_EXPLICIT_TEMPLATE_TYPE(t) boost::type* = 0 -# define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t) boost::type* -# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v) boost::non_type* = 0 -# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) boost::non_type* - -# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t) \ - , BOOST_EXPLICIT_TEMPLATE_TYPE(t) -# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t) \ - , BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t) -# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v) \ - , BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v) -# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) \ - , BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) - -#else - -// no workaround needed: expand to nothing - -# define BOOST_EXPLICIT_TEMPLATE_TYPE(t) -# define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t) -# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v) -# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) - -# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t) -# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t) -# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v) -# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) - - -#endif // defined BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS - - -// ---------------------------------------------------------------------------// - -// -// Helper macro BOOST_STRINGIZE: -// Converts the parameter X to a string after macro replacement -// on X has been performed. -// -#define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X) -#define BOOST_DO_STRINGIZE(X) #X - -// -// Helper macro BOOST_JOIN: -// The following piece of macro magic joins the two -// arguments together, even when one of the arguments is -// itself a macro (see 16.3.1 in C++ standard). The key -// is that macro expansion of macro arguments does not -// occur in BOOST_DO_JOIN2 but does in BOOST_DO_JOIN. -// -#define BOOST_JOIN( X, Y ) BOOST_DO_JOIN( X, Y ) -#define BOOST_DO_JOIN( X, Y ) BOOST_DO_JOIN2(X,Y) -#define BOOST_DO_JOIN2( X, Y ) X##Y - -// -// Set some default values for compiler/library/platform names. -// These are for debugging config setup only: -// -# ifndef BOOST_COMPILER -# define BOOST_COMPILER "Unknown ISO C++ Compiler" -# endif -# ifndef BOOST_STDLIB -# define BOOST_STDLIB "Unknown ISO standard library" -# endif -# ifndef BOOST_PLATFORM -# if defined(unix) || defined(__unix) || defined(_XOPEN_SOURCE) \ - || defined(_POSIX_SOURCE) -# define BOOST_PLATFORM "Generic Unix" -# else -# define BOOST_PLATFORM "Unknown" -# endif -# endif - -#endif - - - diff --git a/src/eo/contrib/boost/config/user.hpp b/src/eo/contrib/boost/config/user.hpp deleted file mode 100755 index 5a4a9d477..000000000 --- a/src/eo/contrib/boost/config/user.hpp +++ /dev/null @@ -1,124 +0,0 @@ -// boost/config/user.hpp ---------------------------------------------------// - -// (C) Copyright John Maddock 2001. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// Do not check in modified versions of this file, -// This file may be customized by the end user, but not by boost. - -// -// Use this file to define a site and compiler specific -// configuration policy: -// - -// define this to locate a compiler config file: -// #define BOOST_COMPILER_CONFIG - -// define this to locate a stdlib config file: -// #define BOOST_STDLIB_CONFIG - -// define this to locate a platform config file: -// #define BOOST_PLATFORM_CONFIG - -// define this to disable compiler config, -// use if your compiler config has nothing to set: -// #define BOOST_NO_COMPILER_CONFIG - -// define this to disable stdlib config, -// use if your stdlib config has nothing to set: -// #define BOOST_NO_STDLIB_CONFIG - -// define this to disable platform config, -// use if your platform config has nothing to set: -// #define BOOST_NO_PLATFORM_CONFIG - -// define this to disable all config options, -// excluding the user config. Use if your -// setup is fully ISO compliant, and has no -// useful extensions, or for autoconf generated -// setups: -// #define BOOST_NO_CONFIG - -// define this to make the config "optimistic" -// about unknown compiler versions. Normally -// unknown compiler versions are assumed to have -// all the defects of the last known version, however -// setting this flag, causes the config to assume -// that unknown compiler versions are fully conformant -// with the standard: -// #define BOOST_STRICT_CONFIG - -// define this to cause the config to halt compilation -// with an #error if it encounters anything unknown -- -// either an unknown compiler version or an unknown -// compiler/platform/library: -// #define BOOST_ASSERT_CONFIG - - -// define if you want to disable threading support, even -// when available: -// #define BOOST_DISABLE_THREADS - -// define when you want to disable Win32 specific features -// even when available: -// #define BOOST_DISABLE_WIN32 - -// BOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any -// prefix/suffix headers that normally control things like struct -// packing and alignment. -// #define BOOST_DISABLE_ABI_HEADERS - -// BOOST_ABI_PREFIX: A prefix header to include in place of whatever -// boost.config would normally select, any replacement should set up -// struct packing and alignment options as required. -// #define BOOST_ABI_PREFIX my-header-name - -// BOOST_ABI_SUFFIX: A suffix header to include in place of whatever -// boost.config would normally select, any replacement should undo -// the effects of the prefix header. -// #define BOOST_ABI_SUFFIX my-header-name - -// BOOST_ALL_DYN_LINK: Forces all libraries that have separate source, -// to be linked as dll's rather than static libraries on Microsoft Windows -// (this macro is used to turn on __declspec(dllimport) modifiers, so that -// the compiler knows which symbols to look for in a dll rather than in a -// static library). Note that there may be some libraries that can only -// be statically linked (Boost.Test for example) and others which may only -// be dynamically linked (Boost.Threads for example), in these cases this -// macro has no effect. -// #define BOOST_ALL_DYN_LINK - -// BOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll -// rather than a static library on Microsoft Windows: replace the WHATEVER -// part of the macro name with the name of the library that you want to -// dynamically link to, for example use BOOST_DATE_TIME_DYN_LINK or -// BOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport) -// modifiers, so that the compiler knows which symbols to look for in a dll -// rather than in a static library). -// Note that there may be some libraries that can only be statically linked -// (Boost.Test for example) and others which may only be dynamically linked -// (Boost.Threads for example), in these cases this macro is unsupported. -// #define BOOST_WHATEVER_DYN_LINK - -// BOOST_ALL_NO_LIB: Tells the config system not to automatically select -// which libraries to link against. -// Normally if a compiler supports #pragma lib, then the correct library -// build variant will be automatically selected and linked against, -// simply by the act of including one of that library's headers. -// This macro turns that feature off. -// #define BOOST_ALL_NO_LIB - -// BOOST_WHATEVER_NO_LIB: Tells the config system not to automatically -// select which library to link against for library "whatever", -// replace WHATEVER in the macro name with the name of the library; -// for example BOOST_DATE_TIME_NO_LIB or BOOST_REGEX_NO_LIB. -// Normally if a compiler supports #pragma lib, then the correct library -// build variant will be automatically selected and linked against, simply -// by the act of including one of that library's headers. This macro turns -// that feature off. -// #define BOOST_WHATEVER_NO_LIB - - - diff --git a/src/eo/contrib/boost/limits.hpp b/src/eo/contrib/boost/limits.hpp deleted file mode 100755 index 856072085..000000000 --- a/src/eo/contrib/boost/limits.hpp +++ /dev/null @@ -1,142 +0,0 @@ -// (C) Copyright John maddock 1999. -// (C) David Abrahams 2002. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// use this header as a workaround for missing - -// See http://www.boost.org/libs/utility/limits.html for documentation. - -#ifndef BOOST_LIMITS -#define BOOST_LIMITS - -#include - -#ifdef BOOST_NO_LIMITS -# include -#else -# include -#endif - -#if (defined(BOOST_HAS_LONG_LONG) && defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)) \ - || (defined(BOOST_HAS_MS_INT64) && defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS)) -// Add missing specializations for numeric_limits: -#ifdef BOOST_HAS_MS_INT64 -# define BOOST_LLT __int64 -# define BOOST_ULLT unsigned __int64 -#else -# define BOOST_LLT ::boost::long_long_type -# define BOOST_ULLT ::boost::ulong_long_type -#endif - -namespace std -{ - template<> - class numeric_limits - { - public: - - BOOST_STATIC_CONSTANT(bool, is_specialized = true); -#ifdef BOOST_HAS_MS_INT64 - static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x8000000000000000i64; } - static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x7FFFFFFFFFFFFFFFi64; } -#elif defined(LLONG_MAX) - static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MIN; } - static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MAX; } -#elif defined(LONGLONG_MAX) - static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MIN; } - static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MAX; } -#else - static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 1LL << (sizeof(BOOST_LLT) * CHAR_BIT - 1); } - static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~(min)(); } -#endif - BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT -1); - BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT) - 1) * 301L / 1000); - BOOST_STATIC_CONSTANT(bool, is_signed = true); - BOOST_STATIC_CONSTANT(bool, is_integer = true); - BOOST_STATIC_CONSTANT(bool, is_exact = true); - BOOST_STATIC_CONSTANT(int, radix = 2); - static BOOST_LLT epsilon() throw() { return 0; }; - static BOOST_LLT round_error() throw() { return 0; }; - - BOOST_STATIC_CONSTANT(int, min_exponent = 0); - BOOST_STATIC_CONSTANT(int, min_exponent10 = 0); - BOOST_STATIC_CONSTANT(int, max_exponent = 0); - BOOST_STATIC_CONSTANT(int, max_exponent10 = 0); - - BOOST_STATIC_CONSTANT(bool, has_infinity = false); - BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false); - BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false); - BOOST_STATIC_CONSTANT(bool, has_denorm = false); - BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false); - static BOOST_LLT infinity() throw() { return 0; }; - static BOOST_LLT quiet_NaN() throw() { return 0; }; - static BOOST_LLT signaling_NaN() throw() { return 0; }; - static BOOST_LLT denorm_min() throw() { return 0; }; - - BOOST_STATIC_CONSTANT(bool, is_iec559 = false); - BOOST_STATIC_CONSTANT(bool, is_bounded = false); - BOOST_STATIC_CONSTANT(bool, is_modulo = false); - - BOOST_STATIC_CONSTANT(bool, traps = false); - BOOST_STATIC_CONSTANT(bool, tinyness_before = false); - BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero); - - }; - - template<> - class numeric_limits - { - public: - - BOOST_STATIC_CONSTANT(bool, is_specialized = true); -#ifdef BOOST_HAS_MS_INT64 - static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0ui64; } - static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0xFFFFFFFFFFFFFFFFui64; } -#elif defined(ULLONG_MAX) && defined(ULLONG_MIN) - static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MIN; } - static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MAX; } -#elif defined(ULONGLONG_MAX) && defined(ULONGLONG_MIN) - static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MIN; } - static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MAX; } -#else - static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0uLL; } - static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~0uLL; } -#endif - BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT); - BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT)) * 301L / 1000); - BOOST_STATIC_CONSTANT(bool, is_signed = false); - BOOST_STATIC_CONSTANT(bool, is_integer = true); - BOOST_STATIC_CONSTANT(bool, is_exact = true); - BOOST_STATIC_CONSTANT(int, radix = 2); - static BOOST_ULLT epsilon() throw() { return 0; }; - static BOOST_ULLT round_error() throw() { return 0; }; - - BOOST_STATIC_CONSTANT(int, min_exponent = 0); - BOOST_STATIC_CONSTANT(int, min_exponent10 = 0); - BOOST_STATIC_CONSTANT(int, max_exponent = 0); - BOOST_STATIC_CONSTANT(int, max_exponent10 = 0); - - BOOST_STATIC_CONSTANT(bool, has_infinity = false); - BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false); - BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false); - BOOST_STATIC_CONSTANT(bool, has_denorm = false); - BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false); - static BOOST_ULLT infinity() throw() { return 0; }; - static BOOST_ULLT quiet_NaN() throw() { return 0; }; - static BOOST_ULLT signaling_NaN() throw() { return 0; }; - static BOOST_ULLT denorm_min() throw() { return 0; }; - - BOOST_STATIC_CONSTANT(bool, is_iec559 = false); - BOOST_STATIC_CONSTANT(bool, is_bounded = false); - BOOST_STATIC_CONSTANT(bool, is_modulo = false); - - BOOST_STATIC_CONSTANT(bool, traps = false); - BOOST_STATIC_CONSTANT(bool, tinyness_before = false); - BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero); - - }; -} -#endif - -#endif diff --git a/src/eo/contrib/boost/numeric/interval.hpp b/src/eo/contrib/boost/numeric/interval.hpp deleted file mode 100755 index e6f976df0..000000000 --- a/src/eo/contrib/boost/numeric/interval.hpp +++ /dev/null @@ -1,32 +0,0 @@ -/* Boost interval.hpp header file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_HPP -#define BOOST_NUMERIC_INTERVAL_HPP - -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include - -#endif // BOOST_NUMERIC_INTERVAL_HPP diff --git a/src/eo/contrib/boost/numeric/interval/arith.hpp b/src/eo/contrib/boost/numeric/interval/arith.hpp deleted file mode 100755 index 64a8e97ee..000000000 --- a/src/eo/contrib/boost/numeric/interval/arith.hpp +++ /dev/null @@ -1,305 +0,0 @@ -/* Boost interval/arith.hpp template implementation file - * - * Copyright 2000 Jens Maurer - * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_ARITH_HPP -#define BOOST_NUMERIC_INTERVAL_ARITH_HPP - -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace numeric { - -/* - * Basic arithmetic operators - */ - -template inline -const interval& operator+(const interval& x) -{ - return x; -} - -template inline -interval operator-(const interval& x) -{ - if (interval_lib::detail::test_input(x)) - return interval::empty(); - return interval(-x.upper(), -x.lower(), true); -} - -template inline -interval& interval::operator+=(const interval& r) -{ - if (interval_lib::detail::test_input(*this, r)) - set_empty(); - else { - typename Policies::rounding rnd; - set(rnd.add_down(low, r.low), rnd.add_up(up, r.up)); - } - return *this; -} - -template inline -interval& interval::operator+=(const T& r) -{ - if (interval_lib::detail::test_input(*this, r)) - set_empty(); - else { - typename Policies::rounding rnd; - set(rnd.add_down(low, r), rnd.add_up(up, r)); - } - return *this; -} - -template inline -interval& interval::operator-=(const interval& r) -{ - if (interval_lib::detail::test_input(*this, r)) - set_empty(); - else { - typename Policies::rounding rnd; - set(rnd.sub_down(low, r.up), rnd.sub_up(up, r.low)); - } - return *this; -} - -template inline -interval& interval::operator-=(const T& r) -{ - if (interval_lib::detail::test_input(*this, r)) - set_empty(); - else { - typename Policies::rounding rnd; - set(rnd.sub_down(low, r), rnd.sub_up(up, r)); - } - return *this; -} - -template inline -interval& interval::operator*=(const interval& r) -{ - return *this = *this * r; -} - -template inline -interval& interval::operator*=(const T& r) -{ - return *this = r * *this; -} - -template inline -interval& interval::operator/=(const interval& r) -{ - return *this = *this / r; -} - -template inline -interval& interval::operator/=(const T& r) -{ - return *this = *this / r; -} - -template inline -interval operator+(const interval& x, - const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - typename Policies::rounding rnd; - return interval(rnd.add_down(x.lower(), y.lower()), - rnd.add_up (x.upper(), y.upper()), true); -} - -template inline -interval operator+(const T& x, const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - typename Policies::rounding rnd; - return interval(rnd.add_down(x, y.lower()), - rnd.add_up (x, y.upper()), true); -} - -template inline -interval operator+(const interval& x, const T& y) -{ return y + x; } - -template inline -interval operator-(const interval& x, - const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - typename Policies::rounding rnd; - return interval(rnd.sub_down(x.lower(), y.upper()), - rnd.sub_up (x.upper(), y.lower()), true); -} - -template inline -interval operator-(const T& x, const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - typename Policies::rounding rnd; - return interval(rnd.sub_down(x, y.upper()), - rnd.sub_up (x, y.lower()), true); -} - -template inline -interval operator-(const interval& x, const T& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - typename Policies::rounding rnd; - return interval(rnd.sub_down(x.lower(), y), - rnd.sub_up (x.upper(), y), true); -} - -template inline -interval operator*(const interval& x, - const interval& y) -{ - BOOST_USING_STD_MIN(); - BOOST_USING_STD_MAX(); - typedef interval I; - if (interval_lib::detail::test_input(x, y)) - return I::empty(); - typename Policies::rounding rnd; - const T& xl = x.lower(); - const T& xu = x.upper(); - const T& yl = y.lower(); - const T& yu = y.upper(); - - if (interval_lib::user::is_neg(xl)) - if (interval_lib::user::is_pos(xu)) - if (interval_lib::user::is_neg(yl)) - if (interval_lib::user::is_pos(yu)) // M * M - return I(min BOOST_PREVENT_MACRO_SUBSTITUTION(rnd.mul_down(xl, yu), rnd.mul_down(xu, yl)), - max BOOST_PREVENT_MACRO_SUBSTITUTION(rnd.mul_up (xl, yl), rnd.mul_up (xu, yu)), true); - else // M * N - return I(rnd.mul_down(xu, yl), rnd.mul_up(xl, yl), true); - else - if (interval_lib::user::is_pos(yu)) // M * P - return I(rnd.mul_down(xl, yu), rnd.mul_up(xu, yu), true); - else // M * Z - return I(static_cast(0), static_cast(0), true); - else - if (interval_lib::user::is_neg(yl)) - if (interval_lib::user::is_pos(yu)) // N * M - return I(rnd.mul_down(xl, yu), rnd.mul_up(xl, yl), true); - else // N * N - return I(rnd.mul_down(xu, yu), rnd.mul_up(xl, yl), true); - else - if (interval_lib::user::is_pos(yu)) // N * P - return I(rnd.mul_down(xl, yu), rnd.mul_up(xu, yl), true); - else // N * Z - return I(static_cast(0), static_cast(0), true); - else - if (interval_lib::user::is_pos(xu)) - if (interval_lib::user::is_neg(yl)) - if (interval_lib::user::is_pos(yu)) // P * M - return I(rnd.mul_down(xu, yl), rnd.mul_up(xu, yu), true); - else // P * N - return I(rnd.mul_down(xu, yl), rnd.mul_up(xl, yu), true); - else - if (interval_lib::user::is_pos(yu)) // P * P - return I(rnd.mul_down(xl, yl), rnd.mul_up(xu, yu), true); - else // P * Z - return I(static_cast(0), static_cast(0), true); - else // Z * ? - return I(static_cast(0), static_cast(0), true); -} - -template inline -interval operator*(const T& x, const interval& y) -{ - typedef interval I; - if (interval_lib::detail::test_input(x, y)) - return I::empty(); - typename Policies::rounding rnd; - const T& yl = y.lower(); - const T& yu = y.upper(); - // x is supposed not to be infinite - if (interval_lib::user::is_neg(x)) - return I(rnd.mul_down(x, yu), rnd.mul_up(x, yl), true); - else if (interval_lib::user::is_zero(x)) - return I(static_cast(0), static_cast(0), true); - else - return I(rnd.mul_down(x, yl), rnd.mul_up(x, yu), true); -} - -template inline -interval operator*(const interval& x, const T& y) -{ return y * x; } - -template inline -interval operator/(const interval& x, - const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - if (in_zero(y)) - if (!interval_lib::user::is_zero(y.lower())) - if (!interval_lib::user::is_zero(y.upper())) - return interval_lib::detail::div_zero(x); - else - return interval_lib::detail::div_negative(x, y.lower()); - else - if (!interval_lib::user::is_zero(y.upper())) - return interval_lib::detail::div_positive(x, y.upper()); - else - return interval::empty(); - else - return interval_lib::detail::div_non_zero(x, y); -} - -template inline -interval operator/(const T& x, const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - if (in_zero(y)) - if (!interval_lib::user::is_zero(y.lower())) - if (!interval_lib::user::is_zero(y.upper())) - return interval_lib::detail::div_zero(x); - else - return interval_lib::detail::div_negative(x, y.lower()); - else - if (!interval_lib::user::is_zero(y.upper())) - return interval_lib::detail::div_positive(x, y.upper()); - else - return interval::empty(); - else - return interval_lib::detail::div_non_zero(x, y); -} - -template inline -interval operator/(const interval& x, const T& y) -{ - if (interval_lib::detail::test_input(x, y) || interval_lib::user::is_zero(y)) - return interval::empty(); - typename Policies::rounding rnd; - const T& xl = x.lower(); - const T& xu = x.upper(); - if (interval_lib::user::is_neg(y)) - return interval(rnd.div_down(xu, y), rnd.div_up(xl, y), true); - else - return interval(rnd.div_down(xl, y), rnd.div_up(xu, y), true); -} - -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_ARITH_HPP diff --git a/src/eo/contrib/boost/numeric/interval/arith2.hpp b/src/eo/contrib/boost/numeric/interval/arith2.hpp deleted file mode 100755 index 274a68119..000000000 --- a/src/eo/contrib/boost/numeric/interval/arith2.hpp +++ /dev/null @@ -1,212 +0,0 @@ -/* Boost interval/arith2.hpp template implementation file - * - * This header provides some auxiliary arithmetic - * functions: fmod, sqrt, square, pov, inverse and - * a multi-interval division. - * - * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_ARITH2_HPP -#define BOOST_NUMERIC_INTERVAL_ARITH2_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace numeric { - -template inline -interval fmod(const interval& x, - const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - typename Policies::rounding rnd; - typedef typename interval_lib::unprotect >::type I; - T const &yb = interval_lib::user::is_neg(x.lower()) ? y.lower() : y.upper(); - T n = rnd.int_down(rnd.div_down(x.lower(), yb)); - return (const I&)x - n * (const I&)y; -} - -template inline -interval fmod(const interval& x, const T& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - typename Policies::rounding rnd; - typedef typename interval_lib::unprotect >::type I; - T n = rnd.int_down(rnd.div_down(x.lower(), y)); - return (const I&)x - n * I(y); -} - -template inline -interval fmod(const T& x, const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - typename Policies::rounding rnd; - typedef typename interval_lib::unprotect >::type I; - T const &yb = interval_lib::user::is_neg(x) ? y.lower() : y.upper(); - T n = rnd.int_down(rnd.div_down(x, yb)); - return x - n * (const I&)y; -} - -namespace interval_lib { - -template inline -interval division_part1(const interval& x, - const interval& y, bool& b) -{ - typedef interval I; - b = false; - if (detail::test_input(x, y)) - return I::empty(); - if (in_zero(y)) - if (!user::is_zero(y.lower())) - if (!user::is_zero(y.upper())) - return detail::div_zero_part1(x, y, b); - else - return detail::div_negative(x, y.lower()); - else - if (!user::is_zero(y.upper())) - return detail::div_positive(x, y.upper()); - else - return I::empty(); - else - return detail::div_non_zero(x, y); -} - -template inline -interval division_part2(const interval& x, - const interval& y, bool b = true) -{ - if (!b) return interval::empty(); - return detail::div_zero_part2(x, y); -} - -template inline -interval multiplicative_inverse(const interval& x) -{ - typedef interval I; - if (detail::test_input(x)) - return I::empty(); - T one = static_cast(1); - typename Policies::rounding rnd; - if (in_zero(x)) { - typedef typename Policies::checking checking; - if (!user::is_zero(x.lower())) - if (!user::is_zero(x.upper())) - return I::whole(); - else - return I(checking::neg_inf(), rnd.div_up(one, x.lower()), true); - else - if (!user::is_zero(x.upper())) - return I(rnd.div_down(one, x.upper()), checking::pos_inf(), true); - else - return I::empty(); - } else - return I(rnd.div_down(one, x.upper()), rnd.div_up(one, x.lower()), true); -} - -namespace detail { - -template inline -T pow_aux(const T& x_, int pwr, Rounding& rnd) // x and pwr are positive -{ - T x = x_; - T y = (pwr & 1) ? x_ : static_cast(1); - pwr >>= 1; - while (pwr > 0) { - x = rnd.mul_up(x, x); - if (pwr & 1) y = rnd.mul_up(x, y); - pwr >>= 1; - } - return y; -} - -} // namespace detail -} // namespace interval_lib - -template inline -interval pow(const interval& x, int pwr) -{ - BOOST_USING_STD_MAX(); - using interval_lib::detail::pow_aux; - typedef interval I; - - if (interval_lib::detail::test_input(x)) - return I::empty(); - - if (pwr == 0) - if (interval_lib::user::is_zero(x.lower()) - && interval_lib::user::is_zero(x.upper())) - return I::empty(); - else - return I(static_cast(1)); - else if (pwr < 0) - return interval_lib::multiplicative_inverse(pow(x, -pwr)); - - typename Policies::rounding rnd; - - if (interval_lib::user::is_neg(x.upper())) { // [-2,-1] - T yl = pow_aux(-x.upper(), pwr, rnd); - T yu = pow_aux(-x.lower(), pwr, rnd); - if (pwr & 1) // [-2,-1]^1 - return I(-yu, -yl, true); - else // [-2,-1]^2 - return I(yl, yu, true); - } else if (interval_lib::user::is_neg(x.lower())) { // [-1,1] - if (pwr & 1) { // [-1,1]^1 - return I(-pow_aux(-x.lower(), pwr, rnd), pow_aux(x.upper(), pwr, rnd), true); - } else { // [-1,1]^2 - return I(static_cast(0), pow_aux(max BOOST_PREVENT_MACRO_SUBSTITUTION(-x.lower(), x.upper()), pwr, rnd), true); - } - } else { // [1,2] - return I(pow_aux(x.lower(), pwr, rnd), pow_aux(x.upper(), pwr, rnd), true); - } -} - -template inline -interval sqrt(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x) || interval_lib::user::is_neg(x.upper())) - return I::empty(); - typename Policies::rounding rnd; - T l = !interval_lib::user::is_pos(x.lower()) ? static_cast(0) : rnd.sqrt_down(x.lower()); - return I(l, rnd.sqrt_up(x.upper()), true); -} - -template inline -interval square(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - const T& xl = x.lower(); - const T& xu = x.upper(); - if (interval_lib::user::is_neg(xu)) - return I(rnd.mul_down(xu, xu), rnd.mul_up(xl, xl), true); - else if (interval_lib::user::is_pos(x.lower())) - return I(rnd.mul_down(xl, xl), rnd.mul_up(xu, xu), true); - else - return I(static_cast(0), (-xl > xu ? rnd.mul_up(xl, xl) : rnd.mul_up(xu, xu)), true); -} - -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_ARITH2_HPP diff --git a/src/eo/contrib/boost/numeric/interval/arith3.hpp b/src/eo/contrib/boost/numeric/interval/arith3.hpp deleted file mode 100755 index 518e6182f..000000000 --- a/src/eo/contrib/boost/numeric/interval/arith3.hpp +++ /dev/null @@ -1,69 +0,0 @@ -/* Boost interval/arith3.hpp template implementation file - * - * This headers provides arithmetical functions - * which compute an interval given some base - * numbers. The resulting interval encloses the - * real result of the arithmetic operation. - * - * Copyright 2003 Guillaume Melquiond - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_ARITH3_HPP -#define BOOST_NUMERIC_INTERVAL_ARITH3_HPP - -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { - -template inline -I add(const typename I::base_type& x, const typename I::base_type& y) -{ - typedef typename I::traits_type Policies; - if (detail::test_input(x, y)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.add_down(x, y), rnd.add_up(x, y), true); -} - -template inline -I sub(const typename I::base_type& x, const typename I::base_type& y) -{ - typedef typename I::traits_type Policies; - if (detail::test_input(x, y)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.sub_down(x, y), rnd.sub_up(x, y), true); -} - -template inline -I mul(const typename I::base_type& x, const typename I::base_type& y) -{ - typedef typename I::traits_type Policies; - if (detail::test_input(x, y)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.mul_down(x, y), rnd.mul_up(x, y), true); -} - -template inline -I div(const typename I::base_type& x, const typename I::base_type& y) -{ - typedef typename I::traits_type Policies; - if (detail::test_input(x, y) || user::is_zero(y)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.div_down(x, y), rnd.div_up(x, y), true); -} - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_ARITH3_HPP diff --git a/src/eo/contrib/boost/numeric/interval/checking.hpp b/src/eo/contrib/boost/numeric/interval/checking.hpp deleted file mode 100755 index 2db486a0b..000000000 --- a/src/eo/contrib/boost/numeric/interval/checking.hpp +++ /dev/null @@ -1,130 +0,0 @@ -/* Boost interval/checking.hpp template implementation file - * - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_CHECKING_HPP -#define BOOST_NUMERIC_INTERVAL_CHECKING_HPP - -#include -#include -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { - -struct exception_create_empty -{ - void operator()() - { - throw std::runtime_error("boost::interval: empty interval created"); - } -}; - -struct exception_invalid_number -{ - void operator()() - { - throw std::invalid_argument("boost::interval: invalid number"); - } -}; - -template -struct checking_base -{ - static T pos_inf() - { - assert(std::numeric_limits::has_infinity); - return std::numeric_limits::infinity(); - } - static T neg_inf() - { - assert(std::numeric_limits::has_infinity); - return -std::numeric_limits::infinity(); - } - static T nan() - { - assert(std::numeric_limits::has_quiet_NaN); - return std::numeric_limits::quiet_NaN(); - } - static bool is_nan(const T& x) - { - return std::numeric_limits::has_quiet_NaN && (x != x); - } - static T empty_lower() - { - return (std::numeric_limits::has_quiet_NaN ? - std::numeric_limits::quiet_NaN() : static_cast(1)); - } - static T empty_upper() - { - return (std::numeric_limits::has_quiet_NaN ? - std::numeric_limits::quiet_NaN() : static_cast(0)); - } - static bool is_empty(const T& l, const T& u) - { - return !(l <= u); // safety for partial orders - } -}; - -template, - class Exception = exception_create_empty> -struct checking_no_empty: Checking -{ - static T nan() - { - assert(false); - return Checking::nan(); - } - static T empty_lower() - { - Exception()(); - return Checking::empty_lower(); - } - static T empty_upper() - { - Exception()(); - return Checking::empty_upper(); - } - static bool is_empty(const T&, const T&) - { - return false; - } -}; - -template > -struct checking_no_nan: Checking -{ - static bool is_nan(const T&) - { - return false; - } -}; - -template, - class Exception = exception_invalid_number> -struct checking_catch_nan: Checking -{ - static bool is_nan(const T& x) - { - if (Checking::is_nan(x)) Exception()(); - return false; - } -}; - -template -struct checking_strict: - checking_no_nan > -{}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_CHECKING_HPP diff --git a/src/eo/contrib/boost/numeric/interval/compare.hpp b/src/eo/contrib/boost/numeric/interval/compare.hpp deleted file mode 100755 index f21753e71..000000000 --- a/src/eo/contrib/boost/numeric/interval/compare.hpp +++ /dev/null @@ -1,19 +0,0 @@ -/* Boost interval/compare.hpp template implementation file - * - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_COMPARE_HPP -#define BOOST_NUMERIC_INTERVAL_COMPARE_HPP - -#include -#include -#include -#include -#include - -#endif // BOOST_NUMERIC_INTERVAL_COMPARE_HPP diff --git a/src/eo/contrib/boost/numeric/interval/compare/certain.hpp b/src/eo/contrib/boost/numeric/interval/compare/certain.hpp deleted file mode 100755 index 9232d5cd8..000000000 --- a/src/eo/contrib/boost/numeric/interval/compare/certain.hpp +++ /dev/null @@ -1,113 +0,0 @@ -/* Boost interval/compare/certain.hpp template implementation file - * - * Copyright 2003 Guillaume Melquiond - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_COMPARE_CERTAIN_HPP -#define BOOST_NUMERIC_INTERVAL_COMPARE_CERTAIN_HPP - -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace compare { -namespace certain { - -template inline -bool operator<(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() < y.lower(); -} - -template inline -bool operator<(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() < y; -} - -template inline -bool operator<=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() <= y.lower(); -} - -template inline -bool operator<=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() <= y; -} - -template inline -bool operator>(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() > y.upper(); -} - -template inline -bool operator>(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() > y; -} - -template inline -bool operator>=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() >= y.upper(); -} - -template inline -bool operator>=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() >= y; -} - -template inline -bool operator==(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() == y.lower() && x.lower() == y.upper(); -} - -template inline -bool operator==(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() == y && x.lower() == y; -} - -template inline -bool operator!=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() < y.lower() || x.lower() > y.upper(); -} - -template inline -bool operator!=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() < y || x.lower() > y; -} - -} // namespace certain -} // namespace compare -} // namespace interval_lib -} // namespace numeric -} // namespace boost - - -#endif // BOOST_NUMERIC_INTERVAL_COMPARE_CERTAIN_HPP diff --git a/src/eo/contrib/boost/numeric/interval/compare/explicit.hpp b/src/eo/contrib/boost/numeric/interval/compare/explicit.hpp deleted file mode 100755 index 8c68be891..000000000 --- a/src/eo/contrib/boost/numeric/interval/compare/explicit.hpp +++ /dev/null @@ -1,248 +0,0 @@ -/* Boost interval/compare/explicit.hpp template implementation file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_COMPARE_EXPLICIT_HPP -#define BOOST_NUMERIC_INTERVAL_COMPARE_EXPLICIT_HPP - -#include - -namespace boost { -namespace numeric { -namespace interval_lib { - -/* - * Certainly... operations - */ - -template inline -bool cerlt(const interval& x, const interval& y) -{ - return x.upper() < y.lower(); -} - -template inline -bool cerlt(const interval& x, const T& y) -{ - return x.upper() < y; -} - -template inline -bool cerlt(const T& x, const interval& y) -{ - return x < y.lower(); -} - -template inline -bool cerle(const interval& x, const interval& y) -{ - return x.upper() <= y.lower(); -} - -template inline -bool cerle(const interval& x, const T& y) -{ - return x.upper() <= y; -} - -template inline -bool cerle(const T& x, const interval& y) -{ - return x <= y.lower(); -} - -template inline -bool cergt(const interval& x, const interval& y) -{ - return x.lower() > y.upper(); -} - -template inline -bool cergt(const interval& x, const T& y) -{ - return x.lower() > y; -} - -template inline -bool cergt(const T& x, const interval& y) -{ - return x > y.upper(); -} - -template inline -bool cerge(const interval& x, const interval& y) -{ - return x.lower() >= y.upper(); -} - -template inline -bool cerge(const interval& x, const T& y) -{ - return x.lower() >= y; -} - -template inline -bool cerge(const T& x, const interval& y) -{ - return x >= y.upper(); -} - -template inline -bool cereq(const interval& x, const interval& y) -{ - return x.lower() == y.upper() && y.lower() == x.upper(); -} - -template inline -bool cereq(const interval& x, const T& y) -{ - return x.lower() == y && x.upper() == y; -} - -template inline -bool cereq(const T& x, const interval& y) -{ - return x == y.lower() && x == y.upper(); -} - -template inline -bool cerne(const interval& x, const interval& y) -{ - return x.upper() < y.lower() || y.upper() < x.lower(); -} - -template inline -bool cerne(const interval& x, const T& y) -{ - return x.upper() < y || y < x.lower(); -} - -template inline -bool cerne(const T& x, const interval& y) -{ - return x < y.lower() || y.upper() < x; -} - -/* - * Possibly... comparisons - */ - -template inline -bool poslt(const interval& x, const interval& y) -{ - return x.lower() < y.upper(); -} - -template inline -bool poslt(const interval& x, const T& y) -{ - return x.lower() < y; -} - -template inline -bool poslt(const T& x, const interval& y) -{ - return x < y.upper(); -} - -template inline -bool posle(const interval& x, const interval& y) -{ - return x.lower() <= y.upper(); -} - -template inline -bool posle(const interval& x, const T& y) -{ - return x.lower() <= y; -} - -template inline -bool posle(const T& x, const interval& y) -{ - return x <= y.upper(); -} - -template inline -bool posgt(const interval& x, const interval& y) -{ - return x.upper() > y.lower(); -} - -template inline -bool posgt(const interval& x, const T& y) -{ - return x.upper() > y; -} - -template inline -bool posgt(const T& x, const interval & y) -{ - return x > y.lower(); -} - -template inline -bool posge(const interval& x, const interval& y) -{ - return x.upper() >= y.lower(); -} - -template inline -bool posge(const interval& x, const T& y) -{ - return x.upper() >= y; -} - -template inline -bool posge(const T& x, const interval& y) -{ - return x >= y.lower(); -} - -template inline -bool poseq(const interval& x, const interval& y) -{ - return x.upper() >= y.lower() && y.upper() >= x.lower(); -} - -template inline -bool poseq(const interval& x, const T& y) -{ - return x.upper() >= y && y >= x.lower(); -} - -template inline -bool poseq(const T& x, const interval& y) -{ - return x >= y.lower() && y.upper() >= x; -} - -template inline -bool posne(const interval& x, const interval& y) -{ - return x.upper() != y.lower() || y.upper() != x.lower(); -} - -template inline -bool posne(const interval& x, const T& y) -{ - return x.upper() != y || y != x.lower(); -} - -template inline -bool posne(const T& x, const interval& y) -{ - return x != y.lower() || y.upper() != x; -} - -} // namespace interval_lib -} // namespace numeric -} //namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_COMPARE_EXPLICIT_HPP diff --git a/src/eo/contrib/boost/numeric/interval/compare/lexicographic.hpp b/src/eo/contrib/boost/numeric/interval/compare/lexicographic.hpp deleted file mode 100755 index 03f6036d2..000000000 --- a/src/eo/contrib/boost/numeric/interval/compare/lexicographic.hpp +++ /dev/null @@ -1,122 +0,0 @@ -/* Boost interval/compare/lexicographic.hpp template implementation file - * - * Copyright 2002-2003 Guillaume Melquiond - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_COMPARE_LEXICOGRAPHIC_HPP -#define BOOST_NUMERIC_INTERVAL_COMPARE_LEXICOGRAPHIC_HPP - -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace compare { -namespace lexicographic { - -template inline -bool operator<(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - const T& xl = x.lower(); - const T& yl = y.lower(); - return xl < yl || (xl == yl && x.upper() < y.upper()); -} - -template inline -bool operator<(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() < y; -} - -template inline -bool operator<=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - const T& xl = x.lower(); - const T& yl = y.lower(); - return xl < yl || (xl == yl && x.upper() <= y.upper()); -} - -template inline -bool operator<=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - const T& xl = x.lower(); - return xl < y || (xl == y && x.upper() <= y); -} - -template inline -bool operator>(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - const T& xl = x.lower(); - const T& yl = y.lower(); - return xl > yl || (xl == yl && x.upper() > y.upper()); -} - -template inline -bool operator>(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - const T& xl = x.lower(); - return xl > y || (xl == y && x.upper() > y); -} - -template inline -bool operator>=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - const T& xl = x.lower(); - const T& yl = y.lower(); - return xl > yl || (xl == yl && x.upper() >= y.upper()); -} - -template inline -bool operator>=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() >= y; -} - -template inline -bool operator==(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() == y.lower() && x.upper() == y.upper(); -} - -template inline -bool operator==(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() == y && x.upper() == y; -} - -template inline -bool operator!=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() != y.lower() || x.upper() != y.upper(); -} - -template inline -bool operator!=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() != y || x.upper() != y; -} - -} // namespace lexicographic -} // namespace compare -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_COMPARE_LEXICOGRAPHIC_HPP diff --git a/src/eo/contrib/boost/numeric/interval/compare/possible.hpp b/src/eo/contrib/boost/numeric/interval/compare/possible.hpp deleted file mode 100755 index 59bec31b9..000000000 --- a/src/eo/contrib/boost/numeric/interval/compare/possible.hpp +++ /dev/null @@ -1,113 +0,0 @@ -/* Boost interval/compare/possible.hpp template implementation file - * - * Copyright 2003 Guillaume Melquiond - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_COMPARE_POSSIBLE_HPP -#define BOOST_NUMERIC_INTERVAL_COMPARE_POSSIBLE_HPP - -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace compare { -namespace possible { - -template inline -bool operator<(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() < y.upper(); -} - -template inline -bool operator<(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() < y; -} - -template inline -bool operator<=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() <= y.upper(); -} - -template inline -bool operator<=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() <= y; -} - -template inline -bool operator>(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() > y.lower(); -} - -template inline -bool operator>(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() > y; -} - -template inline -bool operator>=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() >= y.lower(); -} - -template inline -bool operator>=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() >= y; -} - -template inline -bool operator==(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() <= y.upper() && x.upper() >= y.lower(); -} - -template inline -bool operator==(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() <= y && x.upper() >= y; -} - -template inline -bool operator!=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() != y.upper() || x.upper() != y.lower(); -} - -template inline -bool operator!=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() != y || x.upper() != y; -} - -} // namespace possible -} // namespace compare -} // namespace interval_lib -} // namespace numeric -} // namespace boost - - -#endif // BOOST_NUMERIC_INTERVAL_COMPARE_POSSIBLE_HPP diff --git a/src/eo/contrib/boost/numeric/interval/compare/set.hpp b/src/eo/contrib/boost/numeric/interval/compare/set.hpp deleted file mode 100755 index aa4f1716b..000000000 --- a/src/eo/contrib/boost/numeric/interval/compare/set.hpp +++ /dev/null @@ -1,101 +0,0 @@ -/* Boost interval/compare/set.hpp template implementation file - * - * Copyright 2002-2003 Guillaume Melquiond - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_COMPARE_SET_HPP -#define BOOST_NUMERIC_INTERVAL_COMPARE_SET_HPP - -#include -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace compare { -namespace set { - -template inline -bool operator<(const interval& x, const interval& y) -{ - return proper_subset(x, y); -} - -template inline -bool operator<(const interval& x, const T& y) -{ - throw comparison_error(); -} - -template inline -bool operator<=(const interval& x, const interval& y) -{ - return subset(x, y); -} - -template inline -bool operator<=(const interval& x, const T& y) -{ - throw comparison_error(); -} - -template inline -bool operator>(const interval& x, const interval& y) -{ - return proper_subset(y, x); -} - -template inline -bool operator>(const interval& x, const T& y) -{ - throw comparison_error(); -} - -template inline -bool operator>=(const interval& x, const interval& y) -{ - return subset(y, x); -} - -template inline -bool operator>=(const interval& x, const T& y) -{ - throw comparison_error(); -} - -template inline -bool operator==(const interval& x, const interval& y) -{ - return equal(y, x); -} - -template inline -bool operator==(const interval& x, const T& y) -{ - throw comparison_error(); -} - -template inline -bool operator!=(const interval& x, const interval& y) -{ - return !equal(y, x); -} - -template inline -bool operator!=(const interval& x, const T& y) -{ - throw comparison_error(); -} - -} // namespace set -} // namespace compare -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_COMPARE_SET_HPP diff --git a/src/eo/contrib/boost/numeric/interval/compare/tribool.hpp b/src/eo/contrib/boost/numeric/interval/compare/tribool.hpp deleted file mode 100755 index 6e4a83e27..000000000 --- a/src/eo/contrib/boost/numeric/interval/compare/tribool.hpp +++ /dev/null @@ -1,138 +0,0 @@ -/* Boost interval/compare/tribool.hpp template implementation file - * - * Copyright 2002-2003 Guillaume Melquiond - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_COMPARE_TRIBOOL_HPP -#define BOOST_NUMERIC_INTERVAL_COMPARE_TRIBOOL_HPP - -#include -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace compare { -namespace tribool { - -template inline -logic::tribool operator<(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.upper() < y.lower()) return true; - if (x.lower() >= y.upper()) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator<(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.upper() < y) return true; - if (x.lower() >= y) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator<=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.upper() <= y.lower()) return true; - if (x.lower() > y.upper()) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator<=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.upper() <= y) return true; - if (x.lower() > y) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator>(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.lower() > y.upper()) return true; - if (x.upper() <= y.lower()) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator>(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.lower() > y) return true; - if (x.upper() <= y) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator>=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.lower() >= y.upper()) return true; - if (x.upper() < y.lower()) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator>=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.lower() >= y) return true; - if (x.upper() < y) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator==(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.upper() == y.lower() && x.lower() == y.upper()) return true; - if (x.upper() < y.lower() || x.lower() > y.upper()) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator==(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.upper() == y && x.lower() == y) return true; - if (x.upper() < y || x.lower() > y) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator!=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.upper() < y.lower() || x.lower() > y.upper()) return true; - if (x.upper() == y.lower() && x.lower() == y.upper()) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator!=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.upper() < y || x.lower() > y) return true; - if (x.upper() == y && x.lower() == y) return false; - return logic::indeterminate; -} - -} // namespace tribool -} // namespace compare -} // namespace interval_lib -} // namespace numeric -} // namespace boost - - -#endif // BOOST_NUMERIC_INTERVAL_COMPARE_TRIBOOL_HPP diff --git a/src/eo/contrib/boost/numeric/interval/constants.hpp b/src/eo/contrib/boost/numeric/interval/constants.hpp deleted file mode 100755 index a3a42efec..000000000 --- a/src/eo/contrib/boost/numeric/interval/constants.hpp +++ /dev/null @@ -1,85 +0,0 @@ -/* Boost interval/constants.hpp template implementation file - * - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_CONSTANTS_HPP -#define BOOST_NUMERIC_INTERVAL_CONSTANTS_HPP - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace constants { - -// These constants should be exactly computed. -// Decimal representations wouldn't do it since the standard doesn't -// specify the rounding (even nearest) that should be used. - -static const float pi_f_l = 13176794.0f/(1<<22); -static const float pi_f_u = 13176795.0f/(1<<22); -static const double pi_d_l = (3373259426.0 + 273688.0 / (1<<21)) / (1<<30); -static const double pi_d_u = (3373259426.0 + 273689.0 / (1<<21)) / (1<<30); - -template inline T pi_lower() { return 3; } -template inline T pi_upper() { return 4; } -template inline T pi_half_lower() { return 1; } -template inline T pi_half_upper() { return 2; } -template inline T pi_twice_lower() { return 6; } -template inline T pi_twice_upper() { return 7; } - -template<> inline float pi_lower() { return pi_f_l; } -template<> inline float pi_upper() { return pi_f_u; } -template<> inline float pi_half_lower() { return pi_f_l / 2; } -template<> inline float pi_half_upper() { return pi_f_u / 2; } -template<> inline float pi_twice_lower() { return pi_f_l * 2; } -template<> inline float pi_twice_upper() { return pi_f_u * 2; } - -template<> inline double pi_lower() { return pi_d_l; } -template<> inline double pi_upper() { return pi_d_u; } -template<> inline double pi_half_lower() { return pi_d_l / 2; } -template<> inline double pi_half_upper() { return pi_d_u / 2; } -template<> inline double pi_twice_lower() { return pi_d_l * 2; } -template<> inline double pi_twice_upper() { return pi_d_u * 2; } - -template<> inline long double pi_lower() { return pi_d_l; } -template<> inline long double pi_upper() { return pi_d_u; } -template<> inline long double pi_half_lower() { return pi_d_l / 2; } -template<> inline long double pi_half_upper() { return pi_d_u / 2; } -template<> inline long double pi_twice_lower() { return pi_d_l * 2; } -template<> inline long double pi_twice_upper() { return pi_d_u * 2; } - -} // namespace constants - -template inline -I pi() -{ - typedef typename I::base_type T; - return I(constants::pi_lower(), - constants::pi_upper(), true); -} - -template inline -I pi_half() -{ - typedef typename I::base_type T; - return I(constants::pi_half_lower(), - constants::pi_half_upper(), true); -} - -template inline -I pi_twice() -{ - typedef typename I::base_type T; - return I(constants::pi_twice_lower(), - constants::pi_twice_upper(), true); -} - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_CONSTANTS_HPP diff --git a/src/eo/contrib/boost/numeric/interval/detail/bcc_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/detail/bcc_rounding_control.hpp deleted file mode 100755 index e3aaf046c..000000000 --- a/src/eo/contrib/boost/numeric/interval/detail/bcc_rounding_control.hpp +++ /dev/null @@ -1,57 +0,0 @@ -/* Boost interval/detail/bcc_rounding_control.hpp file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_BCC_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_BCC_ROUNDING_CONTROL_HPP - -#ifndef __BORLANDC__ -# error This header is only intended for Borland C++. -#endif - -#ifndef _M_IX86 -# error This header only works on x86 CPUs. -#endif - -#include // Borland C++ rounding control - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace detail { - -#ifndef BOOST_NUMERIC_INTERVAL_KEEP_EXCEPTIONS_FOR_BCC -extern "C" { unsigned int _RTLENTRY _fm_init(void); } - -struct borland_workaround { - borland_workaround() { _fm_init(); } -}; - -static borland_workaround borland_workaround_exec; -#endif // BOOST_NUMERIC_INTERVAL_KEEP_EXCEPTIONS_FOR_BCC - -__inline double rint(double) -{ __emit__(0xD9); __emit__(0xFC); /* asm FRNDINT */ } - -struct x86_rounding -{ - typedef unsigned int rounding_mode; - static void get_rounding_mode(rounding_mode& mode) - { mode = _control87(0, 0); } - static void set_rounding_mode(const rounding_mode mode) - { _control87(mode, 0xffff); } - static double to_int(const double& x) { return rint(x); } -}; - -} // namespace detail -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif /* BOOST_NUMERIC_INTERVAL_DETAIL_BCC_ROUNDING_CONTROL_HPP */ diff --git a/src/eo/contrib/boost/numeric/interval/detail/bugs.hpp b/src/eo/contrib/boost/numeric/interval/detail/bugs.hpp deleted file mode 100755 index 2058b9aee..000000000 --- a/src/eo/contrib/boost/numeric/interval/detail/bugs.hpp +++ /dev/null @@ -1,79 +0,0 @@ -/* Boost interval/detail/bugs.hpp file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_BUGS -#define BOOST_NUMERIC_INTERVAL_DETAIL_BUGS - -#include - -#if defined(__GLIBC__) && (defined(__USE_MISC) || defined(__USE_XOPEN_EXTENDED) || defined(__USE_ISOC99)) && !defined(__ICC) -# define BOOST_HAS_INV_HYPERBOLIC -#endif - -#ifdef BOOST_NO_STDC_NAMESPACE -# define BOOST_NUMERIC_INTERVAL_using_math(a) using ::a -# ifdef BOOST_HAS_INV_HYPERBOLIC -# define BOOST_NUMERIC_INTERVAL_using_ahyp(a) using ::a -# endif -#else -# define BOOST_NUMERIC_INTERVAL_using_math(a) using std::a -# if defined(BOOST_HAS_INV_HYPERBOLIC) -# if defined(__GLIBCPP__) || defined(__GLIBCXX__) -# define BOOST_NUMERIC_INTERVAL_using_ahyp(a) using ::a -# else -# define BOOST_NUMERIC_INTERVAL_using_ahyp(a) using std::a -# endif -# endif -#endif - -#if defined(__COMO__) || defined(BOOST_INTEL) -# define BOOST_NUMERIC_INTERVAL_using_max(a) using std::a -#elif defined(BOOST_NO_STDC_NAMESPACE) -# define BOOST_NUMERIC_INTERVAL_using_max(a) using ::a -#else -# define BOOST_NUMERIC_INTERVAL_using_max(a) using std::a -#endif - -#ifndef BOOST_NUMERIC_INTERVAL_using_ahyp -# define BOOST_NUMERIC_INTERVAL_using_ahyp(a) -#endif - -#if defined(__GNUC__) && (__GNUC__ <= 2) -// cf PR c++/1981 for a description of the bug -#include -#include -namespace boost { -namespace numeric { - using std::min; - using std::max; - using std::sqrt; - using std::exp; - using std::log; - using std::cos; - using std::tan; - using std::asin; - using std::acos; - using std::atan; - using std::ceil; - using std::floor; - using std::sinh; - using std::cosh; - using std::tanh; -# undef BOOST_NUMERIC_INTERVAL_using_max -# undef BOOST_NUMERIC_INTERVAL_using_math -# define BOOST_NUMERIC_INTERVAL_using_max(a) -# define BOOST_NUMERIC_INTERVAL_using_math(a) -# undef BOOST_NUMERIC_INTERVAL_using_ahyp -# define BOOST_NUMERIC_INTERVAL_using_ahyp(a) -} // namespace numeric -} // namespace boost -#endif - -#endif // BOOST_NUMERIC_INTERVAL_DETAIL_BUGS diff --git a/src/eo/contrib/boost/numeric/interval/detail/c99_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/detail/c99_rounding_control.hpp deleted file mode 100755 index 181d28666..000000000 --- a/src/eo/contrib/boost/numeric/interval/detail/c99_rounding_control.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/* Boost interval/detail/c99_rounding_control.hpp file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_C99_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_C99_ROUNDING_CONTROL_HPP - -#include - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace detail { - -struct c99_rounding_control: c99_rounding -{ - template - static T force_rounding(const T& r) { volatile T r_ = r; return r_; } -}; - -} // namespace detail - -template<> -struct rounding_control: - detail::c99_rounding_control { }; - -template<> -struct rounding_control: - detail::c99_rounding_control { }; - -template<> -struct rounding_control: - detail::c99_rounding_control { }; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#undef BOOST_NUMERIC_INTERVAL_NO_HARDWARE - -#endif // BOOST_NUMERIC_INTERVAL_DETAIL_C99_ROUNDING_CONTROL_HPP diff --git a/src/eo/contrib/boost/numeric/interval/detail/c99sub_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/detail/c99sub_rounding_control.hpp deleted file mode 100755 index 571c51fcc..000000000 --- a/src/eo/contrib/boost/numeric/interval/detail/c99sub_rounding_control.hpp +++ /dev/null @@ -1,43 +0,0 @@ -/* Boost interval/detail/c99sub_rounding_control.hpp file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_C99SUB_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_C99SUB_ROUNDING_CONTROL_HPP - -#include // ISO C 99 rounding mode control - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace detail { - -extern "C" { double rint(double); } - -struct c99_rounding -{ - typedef int rounding_mode; - - static void set_rounding_mode(const rounding_mode mode) { fesetround(mode); } - static void get_rounding_mode(rounding_mode &mode) { mode = fegetround(); } - static void downward() { set_rounding_mode(FE_DOWNWARD); } - static void upward() { set_rounding_mode(FE_UPWARD); } - static void to_nearest() { set_rounding_mode(FE_TONEAREST); } - static void toward_zero() { set_rounding_mode(FE_TOWARDZERO); } - - template - static T to_int(const T& r) { return rint(r); } -}; - -} // namespace detail -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_DETAIL_C99SUB_ROUBDING_CONTROL_HPP diff --git a/src/eo/contrib/boost/numeric/interval/detail/division.hpp b/src/eo/contrib/boost/numeric/interval/detail/division.hpp deleted file mode 100755 index 24fb025ad..000000000 --- a/src/eo/contrib/boost/numeric/interval/detail/division.hpp +++ /dev/null @@ -1,194 +0,0 @@ -/* Boost interval/detail/division.hpp file - * - * Copyright 2003 Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_DIVISION_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_DIVISION_HPP - -#include -#include -#include -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace detail { - -template inline -interval div_non_zero(const interval& x, - const interval& y) -{ - // assert(!in_zero(y)); - typename Policies::rounding rnd; - typedef interval I; - const T& xl = x.lower(); - const T& xu = x.upper(); - const T& yl = y.lower(); - const T& yu = y.upper(); - if (::boost::numeric::interval_lib::user::is_neg(xu)) - if (::boost::numeric::interval_lib::user::is_neg(yu)) - return I(rnd.div_down(xu, yl), rnd.div_up(xl, yu), true); - else - return I(rnd.div_down(xl, yl), rnd.div_up(xu, yu), true); - else if (::boost::numeric::interval_lib::user::is_neg(xl)) - if (::boost::numeric::interval_lib::user::is_neg(yu)) - return I(rnd.div_down(xu, yu), rnd.div_up(xl, yu), true); - else - return I(rnd.div_down(xl, yl), rnd.div_up(xu, yl), true); - else - if (::boost::numeric::interval_lib::user::is_neg(yu)) - return I(rnd.div_down(xu, yu), rnd.div_up(xl, yl), true); - else - return I(rnd.div_down(xl, yu), rnd.div_up(xu, yl), true); -} - -template inline -interval div_non_zero(const T& x, const interval& y) -{ - // assert(!in_zero(y)); - typename Policies::rounding rnd; - typedef interval I; - const T& yl = y.lower(); - const T& yu = y.upper(); - if (::boost::numeric::interval_lib::user::is_neg(x)) - return I(rnd.div_down(x, yl), rnd.div_up(x, yu), true); - else - return I(rnd.div_down(x, yu), rnd.div_up(x, yl), true); -} - -template inline -interval div_positive(const interval& x, const T& yu) -{ - // assert(::boost::numeric::interval_lib::user::is_pos(yu)); - if (::boost::numeric::interval_lib::user::is_zero(x.lower()) && - ::boost::numeric::interval_lib::user::is_zero(x.upper())) - return x; - typename Policies::rounding rnd; - typedef interval I; - const T& xl = x.lower(); - const T& xu = x.upper(); - typedef typename Policies::checking checking; - if (::boost::numeric::interval_lib::user::is_neg(xu)) - return I(checking::neg_inf(), rnd.div_up(xu, yu), true); - else if (::boost::numeric::interval_lib::user::is_neg(xl)) - return I(checking::neg_inf(), checking::pos_inf(), true); - else - return I(rnd.div_down(xl, yu), checking::pos_inf(), true); -} - -template inline -interval div_positive(const T& x, const T& yu) -{ - // assert(::boost::numeric::interval_lib::user::is_pos(yu)); - typedef interval I; - if (::boost::numeric::interval_lib::user::is_zero(x)) - return I(static_cast(0), static_cast(0), true); - typename Policies::rounding rnd; - typedef typename Policies::checking checking; - if (::boost::numeric::interval_lib::user::is_neg(x)) - return I(checking::neg_inf(), rnd.div_up(x, yu), true); - else - return I(rnd.div_down(x, yu), checking::pos_inf(), true); -} - -template inline -interval div_negative(const interval& x, const T& yl) -{ - // assert(::boost::numeric::interval_lib::user::is_neg(yl)); - if (::boost::numeric::interval_lib::user::is_zero(x.lower()) && - ::boost::numeric::interval_lib::user::is_zero(x.upper())) - return x; - typename Policies::rounding rnd; - typedef interval I; - const T& xl = x.lower(); - const T& xu = x.upper(); - typedef typename Policies::checking checking; - if (::boost::numeric::interval_lib::user::is_neg(xu)) - return I(rnd.div_down(xu, yl), checking::pos_inf(), true); - else if (::boost::numeric::interval_lib::user::is_neg(xl)) - return I(checking::neg_inf(), checking::pos_inf(), true); - else - return I(checking::neg_inf(), rnd.div_up(xl, yl), true); -} - -template inline -interval div_negative(const T& x, const T& yl) -{ - // assert(::boost::numeric::interval_lib::user::is_neg(yl)); - typedef interval I; - if (::boost::numeric::interval_lib::user::is_zero(x)) - return I(static_cast(0), static_cast(0), true); - typename Policies::rounding rnd; - typedef typename Policies::checking checking; - if (::boost::numeric::interval_lib::user::is_neg(x)) - return I(rnd.div_down(x, yl), checking::pos_inf(), true); - else - return I(checking::neg_inf(), rnd.div_up(x, yl), true); -} - -template inline -interval div_zero(const interval& x) -{ - if (::boost::numeric::interval_lib::user::is_zero(x.lower()) && - ::boost::numeric::interval_lib::user::is_zero(x.upper())) - return x; - else return interval::whole(); -} - -template inline -interval div_zero(const T& x) -{ - if (::boost::numeric::interval_lib::user::is_zero(x)) - return interval(static_cast(0), static_cast(0), true); - else return interval::whole(); -} - -template inline -interval div_zero_part1(const interval& x, - const interval& y, bool& b) -{ - // assert(::boost::numeric::interval_lib::user::is_neg(y.lower()) && ::boost::numeric::interval_lib::user::is_pos(y.upper())); - if (::boost::numeric::interval_lib::user::is_zero(x.lower()) && ::boost::numeric::interval_lib::user::is_zero(x.upper())) - { b = false; return x; } - typename Policies::rounding rnd; - typedef interval I; - const T& xl = x.lower(); - const T& xu = x.upper(); - const T& yl = y.lower(); - const T& yu = y.upper(); - typedef typename Policies::checking checking; - if (::boost::numeric::interval_lib::user::is_neg(xu)) - { b = true; return I(checking::neg_inf(), rnd.div_up(xu, yu), true); } - else if (::boost::numeric::interval_lib::user::is_neg(xl)) - { b = false; return I(checking::neg_inf(), checking::pos_inf(), true); } - else - { b = true; return I(checking::neg_inf(), rnd.div_up(xl, yl), true); } -} - -template inline -interval div_zero_part2(const interval& x, - const interval& y) -{ - // assert(::boost::numeric::interval_lib::user::is_neg(y.lower()) && ::boost::numeric::interval_lib::user::is_pos(y.upper()) && (div_zero_part1(x, y, b), b)); - typename Policies::rounding rnd; - typedef interval I; - typedef typename Policies::checking checking; - if (::boost::numeric::interval_lib::user::is_neg(x.upper())) - return I(rnd.div_down(x.upper(), y.lower()), checking::pos_inf(), true); - else - return I(rnd.div_down(x.lower(), y.upper()), checking::pos_inf(), true); -} - -} // namespace detail -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_DETAIL_DIVISION_HPP diff --git a/src/eo/contrib/boost/numeric/interval/detail/interval_prototype.hpp b/src/eo/contrib/boost/numeric/interval/detail/interval_prototype.hpp deleted file mode 100755 index ac9029b70..000000000 --- a/src/eo/contrib/boost/numeric/interval/detail/interval_prototype.hpp +++ /dev/null @@ -1,41 +0,0 @@ -/* Boost interval/detail/interval_prototype.hpp file - * - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_INTERVAL_PROTOTYPE_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_INTERVAL_PROTOTYPE_HPP - -namespace boost { -namespace numeric { - -namespace interval_lib { - -template struct rounded_math; -template struct checking_strict; -class comparison_error; -template struct policies; - -/* - * default policies class - */ - -template -struct default_policies -{ - typedef policies, checking_strict > type; -}; - -} // namespace interval_lib - -template::type > -class interval; - -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_DETAIL_INTERVAL_PROTOTYPE_HPP diff --git a/src/eo/contrib/boost/numeric/interval/detail/msvc_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/detail/msvc_rounding_control.hpp deleted file mode 100755 index 2068c934c..000000000 --- a/src/eo/contrib/boost/numeric/interval/detail/msvc_rounding_control.hpp +++ /dev/null @@ -1,88 +0,0 @@ -/* Boost interval/detail/msvc_rounding_control.hpp file - * - * Copyright 2000 Maarten Keijzer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_MSVC_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_MSVC_ROUNDING_CONTROL_HPP - -#ifndef _MSC_VER -# error This header is only intended for MSVC, but might work for Borland as well -#endif - -#include // MSVC rounding control - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace detail { - -extern "C" { double rint(double); } - -struct x86_rounding -{ - static unsigned int hard2msvc(unsigned short m) { - unsigned int n = 0; - if (m & 0x01) n |= _EM_INVALID; - if (m & 0x02) n |= _EM_DENORMAL; - if (m & 0x04) n |= _EM_ZERODIVIDE; - if (m & 0x08) n |= _EM_OVERFLOW; - if (m & 0x10) n |= _EM_UNDERFLOW; - if (m & 0x20) n |= _EM_INEXACT; - switch (m & 0x300) { - case 0x000: n |= _PC_24; break; - case 0x200: n |= _PC_53; break; - case 0x300: n |= _PC_64; break; - } - switch (m & 0xC00) { - case 0x000: n |= _RC_NEAR; break; - case 0x400: n |= _RC_DOWN; break; - case 0x800: n |= _RC_UP; break; - case 0xC00: n |= _RC_CHOP; break; - } - if (m & 0x1000) n |= _IC_AFFINE; // only useful on 287 - return n; - } - - static unsigned short msvc2hard(unsigned int n) { - unsigned short m = 0; - if (n & _EM_INVALID) m |= 0x01; - if (n & _EM_DENORMAL) m |= 0x02; - if (n & _EM_ZERODIVIDE) m |= 0x04; - if (n & _EM_OVERFLOW) m |= 0x08; - if (n & _EM_UNDERFLOW) m |= 0x10; - if (n & _EM_INEXACT) m |= 0x20; - switch (n & _MCW_RC) { - case _RC_NEAR: m |= 0x000; break; - case _RC_DOWN: m |= 0x400; break; - case _RC_UP: m |= 0x800; break; - case _RC_CHOP: m |= 0xC00; break; - } - switch (n & _MCW_PC) { - case _PC_24: m |= 0x000; break; - case _PC_53: m |= 0x200; break; - case _PC_64: m |= 0x300; break; - } - if ((n & _MCW_IC) == _IC_AFFINE) m |= 0x1000; - return m; - } - - typedef unsigned short rounding_mode; - static void get_rounding_mode(rounding_mode& mode) - { mode = msvc2hard(_control87(0, 0)); } - static void set_rounding_mode(const rounding_mode mode) - { _control87(hard2msvc(mode), _MCW_EM | _MCW_RC | _MCW_PC | _MCW_IC); } - static double to_int(const double& x) { return rint(x); } -}; - -} // namespace detail -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif /* BOOST_NUMERIC_INTERVAL_DETAIL_MSVC_ROUNDING_CONTROL_HPP */ diff --git a/src/eo/contrib/boost/numeric/interval/detail/ppc_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/detail/ppc_rounding_control.hpp deleted file mode 100755 index 400522a75..000000000 --- a/src/eo/contrib/boost/numeric/interval/detail/ppc_rounding_control.hpp +++ /dev/null @@ -1,95 +0,0 @@ -/* Boost interval/detail/ppc_rounding_control.hpp file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * Copyright 2005 Guillaume Melquiond - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_PPC_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_PPC_ROUNDING_CONTROL_HPP - -#if !defined(powerpc) && !defined(__powerpc__) && !defined(__ppc__) -#error This header only works on PPC CPUs. -#endif - -#if defined(__GNUC__ ) || (__IBMCPP__ >= 700) - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace detail { - -typedef union { - ::boost::long_long_type imode; - double dmode; -} rounding_mode_struct; - -static const rounding_mode_struct mode_upward = { 0xFFF8000000000002LL }; -static const rounding_mode_struct mode_downward = { 0xFFF8000000000003LL }; -static const rounding_mode_struct mode_to_nearest = { 0xFFF8000000000001LL }; -static const rounding_mode_struct mode_toward_zero = { 0xFFF8000000000000LL }; - -struct ppc_rounding_control -{ - typedef double rounding_mode; - - static void set_rounding_mode(const rounding_mode mode) - { __asm__ __volatile__ ("mtfsf 255,%0" : : "f"(mode)); } - - static void get_rounding_mode(rounding_mode& mode) - { __asm__ __volatile__ ("mffs %0" : "=f"(mode)); } - - static void downward() { set_rounding_mode(mode_downward.dmode); } - static void upward() { set_rounding_mode(mode_upward.dmode); } - static void to_nearest() { set_rounding_mode(mode_to_nearest.dmode); } - static void toward_zero() { set_rounding_mode(mode_toward_zero.dmode); } -}; - -} // namespace detail - -extern "C" { - float rintf(float); - double rint(double); -} - -template<> -struct rounding_control: - detail::ppc_rounding_control -{ - static float force_rounding(const float r) - { - float tmp; - __asm__ __volatile__ ("frsp %0, %1" : "=f" (tmp) : "f" (r)); - return tmp; - } - static float to_int(const float& x) { return rintf(x); } -}; - -template<> -struct rounding_control: - detail::ppc_rounding_control -{ - static const double & force_rounding(const double& r) { return r; } - static double to_int(const double& r) { return rint(r); } -}; - -template<> -struct rounding_control: - detail::ppc_rounding_control -{ - static const long double & force_rounding(const long double& r) { return r; } - static long double to_int(const long double& r) { return rint(r); } -}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#undef BOOST_NUMERIC_INTERVAL_NO_HARDWARE -#endif - -#endif /* BOOST_NUMERIC_INTERVAL_DETAIL_PPC_ROUNDING_CONTROL_HPP */ diff --git a/src/eo/contrib/boost/numeric/interval/detail/sparc_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/detail/sparc_rounding_control.hpp deleted file mode 100755 index 6ba5baf03..000000000 --- a/src/eo/contrib/boost/numeric/interval/detail/sparc_rounding_control.hpp +++ /dev/null @@ -1,112 +0,0 @@ -/* Boost interval/detail/sparc_rounding_control.hpp file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - * - * The basic code in this file was kindly provided by Jeremy Siek. - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_SPARC_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_SPARC_ROUNDING_CONTROL_HPP - -#if !defined(sparc) && !defined(__sparc__) -# error This header is only intended for SPARC CPUs. -#endif - -#ifdef __SUNPRO_CC -# include -#endif - - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace detail { - -struct sparc_rounding_control -{ - typedef unsigned int rounding_mode; - - static void set_rounding_mode(const rounding_mode& mode) - { -# if defined(__GNUC__) - __asm__ __volatile__("ld %0, %%fsr" : : "m"(mode)); -# elif defined (__SUNPRO_CC) - fpsetround(fp_rnd(mode)); -# elif defined(__KCC) - asm("sethi %hi(mode), %o1"); - asm("ld [%o1+%lo(mode)], %fsr"); -# else -# error Unsupported compiler for Sparc rounding control. -# endif - } - - static void get_rounding_mode(rounding_mode& mode) - { -# if defined(__GNUC__) - __asm__ __volatile__("st %%fsr, %0" : "=m"(mode)); -# elif defined (__SUNPRO_CC) - mode = fpgetround(); -# elif defined(__KCC) -# error KCC on Sun SPARC get_round_mode: please fix me - asm("st %fsr, [mode]"); -# else -# error Unsupported compiler for Sparc rounding control. -# endif - } - -#if defined(__SUNPRO_CC) - static void downward() { set_rounding_mode(FP_RM); } - static void upward() { set_rounding_mode(FP_RP); } - static void to_nearest() { set_rounding_mode(FP_RN); } - static void toward_zero() { set_rounding_mode(FP_RZ); } -#else - static void downward() { set_rounding_mode(0xc0000000); } - static void upward() { set_rounding_mode(0x80000000); } - static void to_nearest() { set_rounding_mode(0x00000000); } - static void toward_zero() { set_rounding_mode(0x40000000); } -#endif -}; - -} // namespace detail - -extern "C" { - float rintf(float); - double rint(double); -} - -template<> -struct rounding_control: - detail::sparc_rounding_control -{ - static const float& force_rounding(const float& x) { return x; } - static float to_int(const float& x) { return rintf(x); } -}; - -template<> -struct rounding_control: - detail::sparc_rounding_control -{ - static const double& force_rounding(const double& x) { return x; } - static double to_int(const double& x) { return rint(x); } -}; - -template<> -struct rounding_control: - detail::sparc_rounding_control -{ - static const long double& force_rounding(const long double& x) { return x; } - static long double to_int(const long double& x) { return rint(x); } -}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#undef BOOST_NUMERIC_INTERVAL_NO_HARDWARE - -#endif /* BOOST_NUMERIC_INTERVAL_DETAIL_SPARC_ROUNDING_CONTROL_HPP */ diff --git a/src/eo/contrib/boost/numeric/interval/detail/test_input.hpp b/src/eo/contrib/boost/numeric/interval/detail/test_input.hpp deleted file mode 100755 index 58695fec3..000000000 --- a/src/eo/contrib/boost/numeric/interval/detail/test_input.hpp +++ /dev/null @@ -1,76 +0,0 @@ -/* Boost interval/detail/test_input.hpp file - * - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_TEST_INPUT_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_TEST_INPUT_HPP - -#include - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace user { - -template inline -bool is_zero(T const &v) { return v == static_cast(0); } - -template inline -bool is_neg (T const &v) { return v < static_cast(0); } - -template inline -bool is_pos (T const &v) { return v > static_cast(0); } - -} // namespace user - -namespace detail { - -template inline -bool test_input(const interval& x) { - typedef typename Policies::checking checking; - return checking::is_empty(x.lower(), x.upper()); -} - -template inline -bool test_input(const interval& x, const interval& y) { - typedef typename Policies1::checking checking1; - typedef typename Policies2::checking checking2; - return checking1::is_empty(x.lower(), x.upper()) || - checking2::is_empty(y.lower(), y.upper()); -} - -template inline -bool test_input(const T& x, const interval& y) { - typedef typename Policies::checking checking; - return checking::is_nan(x) || checking::is_empty(y.lower(), y.upper()); -} - -template inline -bool test_input(const interval& x, const T& y) { - typedef typename Policies::checking checking; - return checking::is_empty(x.lower(), x.upper()) || checking::is_nan(y); -} - -template inline -bool test_input(const T& x) { - typedef typename Policies::checking checking; - return checking::is_nan(x); -} - -template inline -bool test_input(const T& x, const T& y) { - typedef typename Policies::checking checking; - return checking::is_nan(x) || checking::is_nan(y); -} - -} // namespace detail -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_DETAIL_TEST_INPUT_HPP diff --git a/src/eo/contrib/boost/numeric/interval/detail/x86_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/detail/x86_rounding_control.hpp deleted file mode 100755 index 3eebdbac5..000000000 --- a/src/eo/contrib/boost/numeric/interval/detail/x86_rounding_control.hpp +++ /dev/null @@ -1,108 +0,0 @@ -/* Boost interval/detail/x86_rounding_control.hpp file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_X86_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_X86_ROUNDING_CONTROL_HPP - -#ifdef __GNUC__ -# include -#elif defined(__BORLANDC__) -# include -#elif defined(_MSC_VER) -# include -#elif defined(__MWERKS__) || defined(__ICC) -# define BOOST_NUMERIC_INTERVAL_USE_C99_SUBSYSTEM -# include -#else -# error Unsupported C++ compiler. -#endif - -namespace boost { -namespace numeric { -namespace interval_lib { - -namespace detail { - -#ifdef BOOST_NUMERIC_INTERVAL_USE_C99_SUBSYSTEM -typedef c99_rounding x86_rounding_control; -#undef BOOST_NUMERIC_INTERVAL_USE_C99_SUBSYSTEM -#else -struct fpu_rounding_modes -{ - unsigned short to_nearest; - unsigned short downward; - unsigned short upward; - unsigned short toward_zero; -}; - -// exceptions masked, extended precision -// hardware default is 0x037f (0x1000 only has a meaning on 287) -static const fpu_rounding_modes rnd_mode = { 0x137f, 0x177f, 0x1b7f, 0x1f7f }; - -struct x86_rounding_control: x86_rounding -{ - static void to_nearest() { set_rounding_mode(rnd_mode.to_nearest); } - static void downward() { set_rounding_mode(rnd_mode.downward); } - static void upward() { set_rounding_mode(rnd_mode.upward); } - static void toward_zero() { set_rounding_mode(rnd_mode.toward_zero); } -}; -#endif // BOOST_NUMERIC_INTERVAL_USE_C99_SUBSYSTEM - -} // namespace detail - -template<> -struct rounding_control: detail::x86_rounding_control -{ - static float force_rounding(const float& r) - { volatile float r_ = r; return r_; } -}; - -template<> -struct rounding_control: detail::x86_rounding_control -{ - /*static double force_rounding(double r) - { asm volatile ("" : "+m"(r) : ); return r; }*/ - static double force_rounding(const double& r) - { volatile double r_ = r; return r_; } -}; - -namespace detail { - -template -struct x86_rounding_control_long_double; - -template<> -struct x86_rounding_control_long_double: x86_rounding_control -{ - static long double force_rounding(long double const &r) - { volatile long double r_ = r; return r_; } -}; - -template<> -struct x86_rounding_control_long_double: x86_rounding_control -{ - static long double const &force_rounding(long double const &r) - { return r; } -}; - -} // namespace detail - -template<> -struct rounding_control: - detail::x86_rounding_control_long_double< (sizeof(long double) >= 10) > -{}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#undef BOOST_NUMERIC_INTERVAL_NO_HARDWARE - -#endif /* BOOST_NUMERIC_INTERVAL_DETAIL_X86_ROUNDING_CONTROL_HPP */ diff --git a/src/eo/contrib/boost/numeric/interval/detail/x86gcc_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/detail/x86gcc_rounding_control.hpp deleted file mode 100755 index 079d681df..000000000 --- a/src/eo/contrib/boost/numeric/interval/detail/x86gcc_rounding_control.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/* Boost interval/detail/x86gcc_rounding_control.hpp file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_X86GCC_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_X86GCC_ROUNDING_CONTROL_HPP - -#ifndef __GNUC__ -# error This header only works with GNU CC. -#endif - -#ifndef __i386__ -# error This header only works on x86 CPUs. -#endif - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace detail { - -struct x86_rounding -{ - typedef unsigned short rounding_mode; - - static void set_rounding_mode(const rounding_mode& mode) - { __asm__ __volatile__ ("fldcw %0" : : "m"(mode)); } - - static void get_rounding_mode(rounding_mode& mode) - { __asm__ __volatile__ ("fnstcw %0" : "=m"(mode)); } - - template - static T to_int(T r) - { - T r_; - __asm__ ("frndint" : "=&t"(r_) : "0"(r)); - return r_; - } -}; - -} // namespace detail -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif /* BOOST_NUMERIC_INTERVAL_DETAIL_X86GCC_ROUNDING_CONTROL_HPP */ diff --git a/src/eo/contrib/boost/numeric/interval/ext/integer.hpp b/src/eo/contrib/boost/numeric/interval/ext/integer.hpp deleted file mode 100755 index 628a343ac..000000000 --- a/src/eo/contrib/boost/numeric/interval/ext/integer.hpp +++ /dev/null @@ -1,70 +0,0 @@ -/* Boost interval/ext/integer.hpp template implementation file - * - * Copyright 2003 Guillaume Melquiond - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_EXT_INTEGER_HPP -#define BOOST_NUMERIC_INTERVAL_EXT_INTEGER_HPP - -#include -#include - -namespace boost { -namespace numeric { - -template inline -interval operator+ (const interval& x, int y) -{ - return x + static_cast(y); -} - -template inline -interval operator+ (int x, const interval& y) -{ - return static_cast(x) + y; -} - -template inline -interval operator- (const interval& x, int y) -{ - return x - static_cast(y); -} - -template inline -interval operator- (int x, const interval& y) -{ - return static_cast(x) - y; -} - -template inline -interval operator* (const interval& x, int y) -{ - return x * static_cast(y); -} - -template inline -interval operator* (int x, const interval& y) -{ - return static_cast(x) * y; -} - -template inline -interval operator/ (const interval& x, int y) -{ - return x / static_cast(y); -} - -template inline -interval operator/ (int x, const interval& y) -{ - return static_cast(x) / y; -} - -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_EXT_INTEGER_HPP diff --git a/src/eo/contrib/boost/numeric/interval/ext/x86_fast_rounding_control.hpp b/src/eo/contrib/boost/numeric/interval/ext/x86_fast_rounding_control.hpp deleted file mode 100755 index 7f89a4e54..000000000 --- a/src/eo/contrib/boost/numeric/interval/ext/x86_fast_rounding_control.hpp +++ /dev/null @@ -1,70 +0,0 @@ -/* Boost interval/detail/x86gcc_rounding_control.hpp file - * - * This header provides a rounding control policy - * that avoids flushing results to memory. In - * order for this optimization to be reliable, it - * should be used only when no underflow or - * overflow would happen without it. Indeed, only - * values in range are correctly rounded. - * - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_EXT_X86_FAST_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_EXT_X86_FAST_ROUNDING_CONTROL_HPP - -namespace boost { -namespace numeric { -namespace interval_lib { - -namespace detail { - -// exceptions masked, expected precision (the mask is 0x0300) -static const fpu_rounding_modes rnd_mode_f = { 0x107f, 0x147f, 0x187f, 0x1c7f }; -static const fpu_rounding_modes rnd_mode_d = { 0x127f, 0x167f, 0x1a7f, 0x1e7f }; -static const fpu_rounding_modes rnd_mode_l = { 0x137f, 0x177f, 0x1b7f, 0x1f7f }; - -} // namespace detail - -template -struct x86_fast_rounding_control; - -template<> -struct x86_fast_rounding_control: detail::x86_rounding -{ - static void to_nearest() { set_rounding_mode(detail::rnd_mode_f.to_nearest); } - static void downward() { set_rounding_mode(detail::rnd_mode_f.downward); } - static void upward() { set_rounding_mode(detail::rnd_mode_f.upward); } - static void toward_zero() { set_rounding_mode(detail::rnd_mode_f.toward_zero); } - static const float& force_rounding(const float& r) { return r; } -}; - -template<> -struct x86_fast_rounding_control: detail::x86_rounding -{ - static void to_nearest() { set_rounding_mode(detail::rnd_mode_d.to_nearest); } - static void downward() { set_rounding_mode(detail::rnd_mode_d.downward); } - static void upward() { set_rounding_mode(detail::rnd_mode_d.upward); } - static void toward_zero() { set_rounding_mode(detail::rnd_mode_d.toward_zero); } - static const double& force_rounding(const double& r) { return r; } -}; - -template<> -struct x86_fast_rounding_control: detail::x86_rounding -{ - static void to_nearest() { set_rounding_mode(detail::rnd_mode_l.to_nearest); } - static void downward() { set_rounding_mode(detail::rnd_mode_l.downward); } - static void upward() { set_rounding_mode(detail::rnd_mode_l.upward); } - static void toward_zero() { set_rounding_mode(detail::rnd_mode_l.toward_zero); } - static const long double& force_rounding(const long double& r) { return r; } -}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_EXT_X86_FAST_ROUNDING_CONTROL_HPP diff --git a/src/eo/contrib/boost/numeric/interval/hw_rounding.hpp b/src/eo/contrib/boost/numeric/interval/hw_rounding.hpp deleted file mode 100755 index ed225d405..000000000 --- a/src/eo/contrib/boost/numeric/interval/hw_rounding.hpp +++ /dev/null @@ -1,64 +0,0 @@ -/* Boost interval/hw_rounding.hpp template implementation file - * - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * Copyright 2005 Guillaume Melquiond - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_HW_ROUNDING_HPP -#define BOOST_NUMERIC_INTERVAL_HW_ROUNDING_HPP - -#include -#include - -#define BOOST_NUMERIC_INTERVAL_NO_HARDWARE - -// define appropriate specialization of rounding_control for built-in types -#if defined(__i386__) || defined(_M_IX86) || defined(__BORLANDC__) -# include -#elif defined(powerpc) || defined(__powerpc__) || defined(__ppc__) -# include -#elif defined(sparc) || defined(__sparc__) -# include -#endif - -#if defined(BOOST_NUMERIC_INTERVAL_NO_HARDWARE) && (defined(__USE_ISOC99) || defined(__MSL__)) -# include -#endif - -#if defined(BOOST_NUMERIC_INTERVAL_NO_HARDWARE) -# undef BOOST_NUMERIC_INTERVAL_NO_HARDWARE -# error Boost.Numeric.Interval: Please specify rounding control mechanism. -#endif - -namespace boost { -namespace numeric { -namespace interval_lib { - -/* - * Three specializations of rounded_math - */ - -template<> -struct rounded_math - : save_state > -{}; - -template<> -struct rounded_math - : save_state > -{}; - -template<> -struct rounded_math - : save_state > -{}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_HW_ROUNDING_HPP diff --git a/src/eo/contrib/boost/numeric/interval/interval.hpp b/src/eo/contrib/boost/numeric/interval/interval.hpp deleted file mode 100755 index 0b2d0eec6..000000000 --- a/src/eo/contrib/boost/numeric/interval/interval.hpp +++ /dev/null @@ -1,450 +0,0 @@ -/* Boost interval/interval.hpp header file - * - * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_INTERVAL_HPP -#define BOOST_NUMERIC_INTERVAL_INTERVAL_HPP - -#include -#include -#include - -namespace boost { -namespace numeric { - -namespace interval_lib { - -class comparison_error - : public std::runtime_error -{ -public: - comparison_error() - : std::runtime_error("boost::interval: uncertain comparison") - { } -}; - -} // namespace interval_lib - -/* - * interval class - */ - -template -class interval -{ -private: - struct interval_holder; - struct number_holder; -public: - typedef T base_type; - typedef Policies traits_type; - - T const &lower() const; - T const &upper() const; - - interval(); - interval(T const &v); - template interval(T1 const &v); - interval(T const &l, T const &u); - template interval(T1 const &l, T2 const &u); - interval(interval const &r); - template interval(interval const &r); - template interval(interval const &r); - - interval &operator=(T const &v); - template interval &operator=(T1 const &v); - interval &operator=(interval const &r); - template interval &operator=(interval const &r); - template interval &operator=(interval const &r); - - void assign(const T& l, const T& u); - - static interval empty(); - static interval whole(); - static interval hull(const T& x, const T& y); - - interval& operator+= (const T& r); - interval& operator+= (const interval& r); - interval& operator-= (const T& r); - interval& operator-= (const interval& r); - interval& operator*= (const T& r); - interval& operator*= (const interval& r); - interval& operator/= (const T& r); - interval& operator/= (const interval& r); - - bool operator< (const interval_holder& r) const; - bool operator> (const interval_holder& r) const; - bool operator<= (const interval_holder& r) const; - bool operator>= (const interval_holder& r) const; - bool operator== (const interval_holder& r) const; - bool operator!= (const interval_holder& r) const; - - bool operator< (const number_holder& r) const; - bool operator> (const number_holder& r) const; - bool operator<= (const number_holder& r) const; - bool operator>= (const number_holder& r) const; - bool operator== (const number_holder& r) const; - bool operator!= (const number_holder& r) const; - - // the following is for internal use only, it is not a published interface - // nevertheless, it's public because friends don't always work correctly. - interval(const T& l, const T& u, bool): low(l), up(u) {} - void set_empty(); - void set_whole(); - void set(const T& l, const T& u); - -private: - struct interval_holder { - template - interval_holder(const interval& r) - : low(r.lower()), up(r.upper()) - { - typedef typename Policies2::checking checking2; - if (checking2::is_empty(low, up)) - throw interval_lib::comparison_error(); - } - - const T& low; - const T& up; - }; - - struct number_holder { - number_holder(const T& r) : val(r) - { - typedef typename Policies::checking checking; - if (checking::is_nan(r)) - throw interval_lib::comparison_error(); - } - - const T& val; - }; - - typedef typename Policies::checking checking; - typedef typename Policies::rounding rounding; - - T low; - T up; -}; - -template inline -interval::interval(): - low(static_cast(0)), up(static_cast(0)) -{} - -template inline -interval::interval(T const &v): low(v), up(v) -{ - if (checking::is_nan(v)) set_empty(); -} - -template template inline -interval::interval(T1 const &v) -{ - if (checking::is_nan(v)) set_empty(); - else { - rounding rnd; - low = rnd.conv_down(v); - up = rnd.conv_up (v); - } -} - -template template inline -interval::interval(T1 const &l, T2 const &u) -{ - if (checking::is_nan(l) || checking::is_nan(u) || !(l <= u)) set_empty(); - else { - rounding rnd; - low = rnd.conv_down(l); - up = rnd.conv_up (u); - } -} - -template inline -interval::interval(T const &l, T const &u): low(l), up(u) -{ - if (checking::is_nan(l) || checking::is_nan(u) || !(l <= u)) - set_empty(); -} - - -template inline -interval::interval(interval const &r): low(r.lower()), up(r.upper()) -{} - -template template inline -interval::interval(interval const &r): low(r.lower()), up(r.upper()) -{ - typedef typename Policies1::checking checking1; - if (checking1::is_empty(r.lower(), r.upper())) set_empty(); -} - -template template inline -interval::interval(interval const &r) -{ - typedef typename Policies1::checking checking1; - if (checking1::is_empty(r.lower(), r.upper())) set_empty(); - else { - rounding rnd; - low = rnd.conv_down(r.lower()); - up = rnd.conv_up (r.upper()); - } -} - -template inline -interval &interval::operator=(T const &v) -{ - if (checking::is_nan(v)) set_empty(); - else low = up = v; - return *this; -} - -template template inline -interval &interval::operator=(T1 const &v) -{ - if (checking::is_nan(v)) set_empty(); - else { - rounding rnd; - low = rnd.conv_down(v); - up = rnd.conv_up (v); - } - return *this; -} - -template inline -interval &interval::operator=(interval const &r) -{ - low = r.lower(); - up = r.upper(); - return *this; -} - -template template inline -interval &interval::operator=(interval const &r) -{ - typedef typename Policies1::checking checking1; - if (checking1::is_empty(r.lower(), r.upper())) set_empty(); - else { - low = r.lower(); - up = r.upper(); - } - return *this; -} - -template template inline -interval &interval::operator=(interval const &r) -{ - typedef typename Policies1::checking checking1; - if (checking1::is_empty(r.lower(), r.upper())) set_empty(); - else { - rounding rnd; - low = rnd.conv_down(r.lower()); - up = rnd.conv_up (r.upper()); - } - return *this; -} - -template inline -void interval::assign(const T& l, const T& u) -{ - if (checking::is_nan(l) || checking::is_nan(u) || !(l <= u)) - set_empty(); - else set(l, u); -} - -template inline -void interval::set(const T& l, const T& u) -{ - low = l; - up = u; -} - -template inline -void interval::set_empty() -{ - low = checking::empty_lower(); - up = checking::empty_upper(); -} - -template inline -void interval::set_whole() -{ - low = checking::neg_inf(); - up = checking::pos_inf(); -} - -template inline -interval interval::hull(const T& x, const T& y) -{ - bool bad_x = checking::is_nan(x); - bool bad_y = checking::is_nan(y); - if (bad_x) - if (bad_y) return interval::empty(); - else return interval(y, y, true); - else - if (bad_y) return interval(x, x, true); - if (x <= y) return interval(x, y, true); - else return interval(y, x, true); -} - -template inline -interval interval::empty() -{ - return interval(checking::empty_lower(), - checking::empty_upper(), true); -} - -template inline -interval interval::whole() -{ - return interval(checking::neg_inf(), checking::pos_inf(), true); -} - -template inline -const T& interval::lower() const -{ - return low; -} - -template inline -const T& interval::upper() const -{ - return up; -} - -/* - * interval/interval comparisons - */ - -template inline -bool interval::operator< (const interval_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (up < r.low) return true; - else if (low >= r.up) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator> (const interval_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (low > r.up) return true; - else if (up <= r.low) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator<= (const interval_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (up <= r.low) return true; - else if (low > r.up) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator>= (const interval_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (low >= r.up) return true; - else if (up < r.low) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator== (const interval_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (up == r.low && low == r.up) return true; - else if (up < r.low || low > r.up) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator!= (const interval_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (up < r.low || low > r.up) return true; - else if (up == r.low && low == r.up) return false; - } - throw interval_lib::comparison_error(); -} - -/* - * interval/number comparisons - */ - -template inline -bool interval::operator< (const number_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (up < r.val) return true; - else if (low >= r.val) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator> (const number_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (low > r.val) return true; - else if (up <= r.val) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator<= (const number_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (up <= r.val) return true; - else if (low > r.val) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator>= (const number_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (low >= r.val) return true; - else if (up < r.val) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator== (const number_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (up == r.val && low == r.val) return true; - else if (up < r.val || low > r.val) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator!= (const number_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (up < r.val || low > r.val) return true; - else if (up == r.val && low == r.val) return false; - } - throw interval_lib::comparison_error(); -} - -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_INTERVAL_HPP diff --git a/src/eo/contrib/boost/numeric/interval/io.hpp b/src/eo/contrib/boost/numeric/interval/io.hpp deleted file mode 100755 index dc4179e52..000000000 --- a/src/eo/contrib/boost/numeric/interval/io.hpp +++ /dev/null @@ -1,41 +0,0 @@ -/* Boost interval/io.hpp header file - * - * This file is only meant to provide a quick - * implementation of the output operator. It is - * provided for test programs that aren't even - * interested in the precision of the results. - * A real progam should define its own operators - * and never include this header. - * - * Copyright 2003 Guillaume Melquiond - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_IO_HPP -#define BOOST_NUMERIC_INTERVAL_IO_HPP - -#include -#include -#include - -namespace boost { -namespace numeric { - -template -std::basic_ostream &operator<< - (std::basic_ostream &stream, - interval const &value) -{ - if (empty(value)) - return stream << "[]"; - else - return stream << '[' << lower(value) << ',' << upper(value) << ']'; -} - -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_IO_HPP diff --git a/src/eo/contrib/boost/numeric/interval/limits.hpp b/src/eo/contrib/boost/numeric/interval/limits.hpp deleted file mode 100755 index d691ccee2..000000000 --- a/src/eo/contrib/boost/numeric/interval/limits.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/* Boost interval/limits.hpp template implementation file - * - * Copyright 2000 Jens Maurer - * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_LIMITS_HPP -#define BOOST_NUMERIC_INTERVAL_LIMITS_HPP - -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -#include -#include -#include - -namespace std { - -template -class numeric_limits > - : public numeric_limits -{ -private: - typedef boost::numeric::interval I; - typedef numeric_limits bl; -public: - static I min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return I((bl::min)(), (bl::min)()); } - static I max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return I((bl::max)(), (bl::max)()); } - static I epsilon() throw() { return I(bl::epsilon(), bl::epsilon()); } - - BOOST_STATIC_CONSTANT(float_round_style, round_style = round_indeterminate); - BOOST_STATIC_CONSTANT(bool, is_iec559 = false); - - static I infinity () throw() { return I::whole(); } - static I quiet_NaN() throw() { return I::empty(); } - static I signaling_NaN() throw() - { return I(bl::signaling_NaN(), bl::signaling_Nan()); } - static I denorm_min() throw() - { return I(bl::denorm_min(), bl::denorm_min()); } -private: - static I round_error(); // hide this on purpose, not yet implemented -}; - -} // namespace std - -#endif - -#endif // BOOST_NUMERIC_INTERVAL_LIMITS_HPP diff --git a/src/eo/contrib/boost/numeric/interval/policies.hpp b/src/eo/contrib/boost/numeric/interval/policies.hpp deleted file mode 100755 index 70ad220d9..000000000 --- a/src/eo/contrib/boost/numeric/interval/policies.hpp +++ /dev/null @@ -1,75 +0,0 @@ -/* Boost interval/policies.hpp template implementation file - * - * Copyright 2003 Guillaume Melquiond - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_POLICIES_HPP -#define BOOST_NUMERIC_INTERVAL_POLICIES_HPP - -#include - -namespace boost { -namespace numeric { -namespace interval_lib { - -/* - * policies class - */ - -template -struct policies -{ - typedef Rounding rounding; - typedef Checking checking; -}; - -/* - * policies switching classes - */ - -template -class change_rounding -{ - typedef typename OldInterval::base_type T; - typedef typename OldInterval::traits_type p; - typedef typename p::checking checking; -public: - typedef interval > type; -}; - -template -class change_checking -{ - typedef typename OldInterval::base_type T; - typedef typename OldInterval::traits_type p; - typedef typename p::rounding rounding; -public: - typedef interval > type; -}; - -/* - * Protect / unprotect: control whether the rounding mode is set/reset - * at each operation, rather than once and for all. - */ - -template -class unprotect -{ - typedef typename OldInterval::base_type T; - typedef typename OldInterval::traits_type p; - typedef typename p::rounding r; - typedef typename r::unprotected_rounding newRounding; -public: - typedef typename change_rounding::type type; -}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - - -#endif // BOOST_NUMERIC_INTERVAL_POLICIES_HPP diff --git a/src/eo/contrib/boost/numeric/interval/rounded_arith.hpp b/src/eo/contrib/boost/numeric/interval/rounded_arith.hpp deleted file mode 100755 index 6ce5c7f7e..000000000 --- a/src/eo/contrib/boost/numeric/interval/rounded_arith.hpp +++ /dev/null @@ -1,120 +0,0 @@ -/* Boost interval/rounded_arith.hpp template implementation file - * - * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_ROUNDED_ARITH_HPP -#define BOOST_NUMERIC_INTERVAL_ROUNDED_ARITH_HPP - -#include -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { - -/* - * Three classes of rounding: exact, std, opp - * See documentation for details. - */ - -template -struct rounded_arith_exact: Rounding { - void init() { } - template T conv_down(U const &v) { return v; } - template T conv_up (U const &v) { return v; } - T add_down (const T& x, const T& y) { return x + y; } - T add_up (const T& x, const T& y) { return x + y; } - T sub_down (const T& x, const T& y) { return x - y; } - T sub_up (const T& x, const T& y) { return x - y; } - T mul_down (const T& x, const T& y) { return x * y; } - T mul_up (const T& x, const T& y) { return x * y; } - T div_down (const T& x, const T& y) { return x / y; } - T div_up (const T& x, const T& y) { return x / y; } - T median (const T& x, const T& y) { return (x + y) / 2; } - T sqrt_down(const T& x) - { BOOST_NUMERIC_INTERVAL_using_math(sqrt); return sqrt(x); } - T sqrt_up (const T& x) - { BOOST_NUMERIC_INTERVAL_using_math(sqrt); return sqrt(x); } - T int_down (const T& x) - { BOOST_NUMERIC_INTERVAL_using_math(floor); return floor(x); } - T int_up (const T& x) - { BOOST_NUMERIC_INTERVAL_using_math(ceil); return ceil(x); } -}; - -template -struct rounded_arith_std: Rounding { -# define BOOST_DN(EXPR) this->downward(); return this->force_rounding(EXPR) -# define BOOST_NR(EXPR) this->to_nearest(); return this->force_rounding(EXPR) -# define BOOST_UP(EXPR) this->upward(); return this->force_rounding(EXPR) - void init() { } - template T conv_down(U const &v) { BOOST_DN(v); } - template T conv_up (U const &v) { BOOST_UP(v); } - T add_down(const T& x, const T& y) { BOOST_DN(x + y); } - T sub_down(const T& x, const T& y) { BOOST_DN(x - y); } - T mul_down(const T& x, const T& y) { BOOST_DN(x * y); } - T div_down(const T& x, const T& y) { BOOST_DN(x / y); } - T add_up (const T& x, const T& y) { BOOST_UP(x + y); } - T sub_up (const T& x, const T& y) { BOOST_UP(x - y); } - T mul_up (const T& x, const T& y) { BOOST_UP(x * y); } - T div_up (const T& x, const T& y) { BOOST_UP(x / y); } - T median(const T& x, const T& y) { BOOST_NR((x + y) / 2); } - T sqrt_down(const T& x) - { BOOST_NUMERIC_INTERVAL_using_math(sqrt); BOOST_DN(sqrt(x)); } - T sqrt_up (const T& x) - { BOOST_NUMERIC_INTERVAL_using_math(sqrt); BOOST_UP(sqrt(x)); } - T int_down(const T& x) { this->downward(); return to_int(x); } - T int_up (const T& x) { this->upward(); return to_int(x); } -# undef BOOST_DN -# undef BOOST_NR -# undef BOOST_UP -}; - -template -struct rounded_arith_opp: Rounding { - void init() { this->upward(); } -# define BOOST_DN(EXPR) \ - this->downward(); \ - T r = this->force_rounding(EXPR); \ - this->upward(); \ - return r -# define BOOST_NR(EXPR) \ - this->to_nearest(); \ - T r = this->force_rounding(EXPR); \ - this->upward(); \ - return r -# define BOOST_UP(EXPR) return this->force_rounding(EXPR) -# define BOOST_UP_NEG(EXPR) return -this->force_rounding(EXPR) - template T conv_down(U const &v) { BOOST_UP_NEG(-v); } - template T conv_up (U const &v) { BOOST_UP(v); } - T add_down(const T& x, const T& y) { BOOST_UP_NEG((-x) - y); } - T sub_down(const T& x, const T& y) { BOOST_UP_NEG(y - x); } - T mul_down(const T& x, const T& y) { BOOST_UP_NEG(x * (-y)); } - T div_down(const T& x, const T& y) { BOOST_UP_NEG(x / (-y)); } - T add_up (const T& x, const T& y) { BOOST_UP(x + y); } - T sub_up (const T& x, const T& y) { BOOST_UP(x - y); } - T mul_up (const T& x, const T& y) { BOOST_UP(x * y); } - T div_up (const T& x, const T& y) { BOOST_UP(x / y); } - T median (const T& x, const T& y) { BOOST_NR((x + y) / 2); } - T sqrt_down(const T& x) - { BOOST_NUMERIC_INTERVAL_using_math(sqrt); BOOST_DN(sqrt(x)); } - T sqrt_up (const T& x) - { BOOST_NUMERIC_INTERVAL_using_math(sqrt); BOOST_UP(sqrt(x)); } - T int_down(const T& x) { return -to_int(-x); } - T int_up (const T& x) { return to_int(x); } -# undef BOOST_DN -# undef BOOST_NR -# undef BOOST_UP -# undef BOOST_UP_NEG -}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_ROUNDED_ARITH_HPP diff --git a/src/eo/contrib/boost/numeric/interval/rounded_transc.hpp b/src/eo/contrib/boost/numeric/interval/rounded_transc.hpp deleted file mode 100755 index e1704f5f2..000000000 --- a/src/eo/contrib/boost/numeric/interval/rounded_transc.hpp +++ /dev/null @@ -1,140 +0,0 @@ -/* Boost interval/rounded_transc.hpp template implementation file - * - * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_ROUNDED_TRANSC_HPP -#define BOOST_NUMERIC_INTERVAL_ROUNDED_TRANSC_HPP - -#include -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { - -template -struct rounded_transc_exact: Rounding -{ -# define BOOST_NUMERIC_INTERVAL_new_func(f) \ - T f##_down(const T& x) { BOOST_NUMERIC_INTERVAL_using_math(f); return f(x); } \ - T f##_up (const T& x) { BOOST_NUMERIC_INTERVAL_using_math(f); return f(x); } - BOOST_NUMERIC_INTERVAL_new_func(exp) - BOOST_NUMERIC_INTERVAL_new_func(log) - BOOST_NUMERIC_INTERVAL_new_func(sin) - BOOST_NUMERIC_INTERVAL_new_func(cos) - BOOST_NUMERIC_INTERVAL_new_func(tan) - BOOST_NUMERIC_INTERVAL_new_func(asin) - BOOST_NUMERIC_INTERVAL_new_func(acos) - BOOST_NUMERIC_INTERVAL_new_func(atan) - BOOST_NUMERIC_INTERVAL_new_func(sinh) - BOOST_NUMERIC_INTERVAL_new_func(cosh) - BOOST_NUMERIC_INTERVAL_new_func(tanh) -# undef BOOST_NUMERIC_INTERVAL_new_func -# define BOOST_NUMERIC_INTERVAL_new_func(f) \ - T f##_down(const T& x) { BOOST_NUMERIC_INTERVAL_using_ahyp(f); return f(x); } \ - T f##_up (const T& x) { BOOST_NUMERIC_INTERVAL_using_ahyp(f); return f(x); } - BOOST_NUMERIC_INTERVAL_new_func(asinh) - BOOST_NUMERIC_INTERVAL_new_func(acosh) - BOOST_NUMERIC_INTERVAL_new_func(atanh) -# undef BOOST_NUMERIC_INTERVAL_new_func -}; - -template -struct rounded_transc_std: Rounding -{ -# define BOOST_NUMERIC_INTERVAL_new_func(f) \ - T f##_down(const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_math(f); \ - this->downward(); return this->force_rounding(f(x)); } \ - T f##_up (const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_math(f); \ - this->upward(); return this->force_rounding(f(x)); } - BOOST_NUMERIC_INTERVAL_new_func(exp) - BOOST_NUMERIC_INTERVAL_new_func(log) - BOOST_NUMERIC_INTERVAL_new_func(sin) - BOOST_NUMERIC_INTERVAL_new_func(cos) - BOOST_NUMERIC_INTERVAL_new_func(tan) - BOOST_NUMERIC_INTERVAL_new_func(asin) - BOOST_NUMERIC_INTERVAL_new_func(acos) - BOOST_NUMERIC_INTERVAL_new_func(atan) - BOOST_NUMERIC_INTERVAL_new_func(sinh) - BOOST_NUMERIC_INTERVAL_new_func(cosh) - BOOST_NUMERIC_INTERVAL_new_func(tanh) -# undef BOOST_NUMERIC_INTERVAL_new_func -# define BOOST_NUMERIC_INTERVAL_new_func(f) \ - T f##_down(const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_ahyp(f); \ - this->downward(); return this->force_rounding(f(x)); } \ - T f##_up (const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_ahyp(f); \ - this->upward(); return this->force_rounding(f(x)); } - BOOST_NUMERIC_INTERVAL_new_func(asinh) - BOOST_NUMERIC_INTERVAL_new_func(acosh) - BOOST_NUMERIC_INTERVAL_new_func(atanh) -# undef BOOST_NUMERIC_INTERVAL_new_func -}; - -template -struct rounded_transc_opp: Rounding -{ -# define BOOST_NUMERIC_INTERVAL_new_func(f) \ - T f##_down(const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_math(f); \ - this->downward(); T y = this->force_rounding(f(x)); \ - this->upward(); return y; } \ - T f##_up (const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_math(f); \ - return this->force_rounding(f(x)); } - BOOST_NUMERIC_INTERVAL_new_func(exp) - BOOST_NUMERIC_INTERVAL_new_func(log) - BOOST_NUMERIC_INTERVAL_new_func(cos) - BOOST_NUMERIC_INTERVAL_new_func(acos) - BOOST_NUMERIC_INTERVAL_new_func(cosh) -# undef BOOST_NUMERIC_INTERVAL_new_func -# define BOOST_NUMERIC_INTERVAL_new_func(f) \ - T f##_down(const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_math(f); \ - return -this->force_rounding(-f(x)); } \ - T f##_up (const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_math(f); \ - return this->force_rounding(f(x)); } - BOOST_NUMERIC_INTERVAL_new_func(sin) - BOOST_NUMERIC_INTERVAL_new_func(tan) - BOOST_NUMERIC_INTERVAL_new_func(asin) - BOOST_NUMERIC_INTERVAL_new_func(atan) - BOOST_NUMERIC_INTERVAL_new_func(sinh) - BOOST_NUMERIC_INTERVAL_new_func(tanh) -# undef BOOST_NUMERIC_INTERVAL_new_func -# define BOOST_NUMERIC_INTERVAL_new_func(f) \ - T f##_down(const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_ahyp(f); \ - this->downward(); T y = this->force_rounding(f(x)); \ - this->upward(); return y; } \ - T f##_up (const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_ahyp(f); \ - return this->force_rounding(f(x)); } - BOOST_NUMERIC_INTERVAL_new_func(asinh) - BOOST_NUMERIC_INTERVAL_new_func(atanh) -# undef BOOST_NUMERIC_INTERVAL_new_func -# define BOOST_NUMERIC_INTERVAL_new_func(f) \ - T f##_down(const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_ahyp(f); \ - return -this->force_rounding(-f(x)); } \ - T f##_up (const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_ahyp(f); \ - return this->force_rounding(f(x)); } - BOOST_NUMERIC_INTERVAL_new_func(acosh) -# undef BOOST_NUMERIC_INTERVAL_new_func -}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_ROUNDED_TRANSC_HPP diff --git a/src/eo/contrib/boost/numeric/interval/rounding.hpp b/src/eo/contrib/boost/numeric/interval/rounding.hpp deleted file mode 100755 index f69e2e4b5..000000000 --- a/src/eo/contrib/boost/numeric/interval/rounding.hpp +++ /dev/null @@ -1,101 +0,0 @@ -/* Boost interval/rounding.hpp template implementation file - * - * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_ROUNDING_HPP -#define BOOST_NUMERIC_INTERVAL_ROUNDING_HPP - -namespace boost { -namespace numeric { -namespace interval_lib { - -/* - * Default rounding_control class (does nothing) - */ - -template -struct rounding_control -{ - typedef int rounding_mode; - static void get_rounding_mode(rounding_mode&) {} - static void set_rounding_mode(rounding_mode) {} - static void upward() {} - static void downward() {} - static void to_nearest() {} - static const T& to_int(const T& x) { return x; } - static const T& force_rounding(const T& x) { return x; } -}; - -/* - * A few rounding control classes (exact/std/opp: see documentation) - * rounded_arith_* control the rounding of the arithmetic operators - * rounded_transc_* control the rounding of the transcendental functions - */ - -template > -struct rounded_arith_exact; - -template > -struct rounded_arith_std; - -template > -struct rounded_arith_opp; - -template -struct rounded_transc_dummy; - -template > -struct rounded_transc_exact; - -template > -struct rounded_transc_std; - -template > -struct rounded_transc_opp; - -/* - * State-saving classes: allow to set and reset rounding control - */ - -namespace detail { - -template -struct save_state_unprotected: Rounding -{ - typedef save_state_unprotected unprotected_rounding; -}; - -} // namespace detail - -template -struct save_state: Rounding -{ - typename Rounding::rounding_mode mode; - save_state() { - this->get_rounding_mode(mode); - this->init(); - } - ~save_state() { this->set_rounding_mode(mode); } - typedef detail::save_state_unprotected unprotected_rounding; -}; - -template -struct save_state_nothing: Rounding -{ - typedef save_state_nothing unprotected_rounding; -}; - -template -struct rounded_math: save_state_nothing > -{}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_ROUNDING_HPP diff --git a/src/eo/contrib/boost/numeric/interval/transc.hpp b/src/eo/contrib/boost/numeric/interval/transc.hpp deleted file mode 100755 index 88aebd6b3..000000000 --- a/src/eo/contrib/boost/numeric/interval/transc.hpp +++ /dev/null @@ -1,232 +0,0 @@ -/* Boost interval/transc.hpp template implementation file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_TRANSC_HPP -#define BOOST_NUMERIC_INTERVAL_TRANSC_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace numeric { - -template inline -interval exp(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.exp_down(x.lower()), rnd.exp_up(x.upper()), true); -} - -template inline -interval log(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x) || - !interval_lib::user::is_pos(x.upper())) - return I::empty(); - typename Policies::rounding rnd; - typedef typename Policies::checking checking; - T l = !interval_lib::user::is_pos(x.lower()) - ? checking::neg_inf() : rnd.log_down(x.lower()); - return I(l, rnd.log_up(x.upper()), true); -} - -template inline -interval cos(const interval& x) -{ - if (interval_lib::detail::test_input(x)) - return interval::empty(); - typename Policies::rounding rnd; - typedef interval I; - typedef typename interval_lib::unprotect::type R; - - // get lower bound within [0, pi] - const R pi2 = interval_lib::pi_twice(); - R tmp = fmod((const R&)x, pi2); - if (width(tmp) >= pi2.lower()) - return I(static_cast(-1), static_cast(1), true); // we are covering a full period - if (tmp.lower() >= interval_lib::constants::pi_upper()) - return -cos(tmp - interval_lib::pi()); - T l = tmp.lower(); - T u = tmp.upper(); - - BOOST_USING_STD_MIN(); - // separate into monotone subintervals - if (u <= interval_lib::constants::pi_lower()) - return I(rnd.cos_down(u), rnd.cos_up(l), true); - else if (u <= pi2.lower()) - return I(static_cast(-1), rnd.cos_up(min BOOST_PREVENT_MACRO_SUBSTITUTION(rnd.sub_down(pi2.lower(), u), l)), true); - else - return I(static_cast(-1), static_cast(1), true); -} - -template inline -interval sin(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - typedef typename interval_lib::unprotect::type R; - I r = cos((const R&)x - interval_lib::pi_half()); - (void)&rnd; - return r; -} - -template inline -interval tan(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - typedef typename interval_lib::unprotect::type R; - - // get lower bound within [-pi/2, pi/2] - const R pi = interval_lib::pi(); - R tmp = fmod((const R&)x, pi); - const T pi_half_d = interval_lib::constants::pi_half_lower(); - if (tmp.lower() >= pi_half_d) - tmp -= pi; - if (tmp.lower() <= -pi_half_d || tmp.upper() >= pi_half_d) - return I::whole(); - return I(rnd.tan_down(tmp.lower()), rnd.tan_up(tmp.upper()), true); -} - -template inline -interval asin(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x) - || x.upper() < static_cast(-1) || x.lower() > static_cast(1)) - return I::empty(); - typename Policies::rounding rnd; - T l = (x.lower() <= static_cast(-1)) - ? -interval_lib::constants::pi_half_upper() - : rnd.asin_down(x.lower()); - T u = (x.upper() >= static_cast(1) ) - ? interval_lib::constants::pi_half_upper() - : rnd.asin_up (x.upper()); - return I(l, u, true); -} - -template inline -interval acos(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x) - || x.upper() < static_cast(-1) || x.lower() > static_cast(1)) - return I::empty(); - typename Policies::rounding rnd; - T l = (x.upper() >= static_cast(1) ) - ? static_cast(0) - : rnd.acos_down(x.upper()); - T u = (x.lower() <= static_cast(-1)) - ? interval_lib::constants::pi_upper() - : rnd.acos_up (x.lower()); - return I(l, u, true); -} - -template inline -interval atan(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.atan_down(x.lower()), rnd.atan_up(x.upper()), true); -} - -template inline -interval sinh(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.sinh_down(x.lower()), rnd.sinh_up(x.upper()), true); -} - -template inline -interval cosh(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - if (interval_lib::user::is_neg(x.upper())) - return I(rnd.cosh_down(x.upper()), rnd.cosh_up(x.lower()), true); - else if (!interval_lib::user::is_neg(x.lower())) - return I(rnd.cosh_down(x.lower()), rnd.cosh_up(x.upper()), true); - else - return I(static_cast(0), rnd.cosh_up(-x.lower() > x.upper() ? x.lower() : x.upper()), true); -} - -template inline -interval tanh(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.tanh_down(x.lower()), rnd.tanh_up(x.upper()), true); -} - -template inline -interval asinh(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.asinh_down(x.lower()), rnd.asinh_up(x.upper()), true); -} - -template inline -interval acosh(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x) || x.upper() < static_cast(1)) - return I::empty(); - typename Policies::rounding rnd; - T l = x.lower() <= static_cast(1) ? static_cast(0) : rnd.acosh_down(x.lower()); - return I(l, rnd.acosh_up(x.upper()), true); -} - -template inline -interval atanh(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x) - || x.upper() < static_cast(-1) || x.lower() > static_cast(1)) - return I::empty(); - typename Policies::rounding rnd; - typedef typename Policies::checking checking; - T l = (x.lower() <= static_cast(-1)) - ? checking::neg_inf() : rnd.atanh_down(x.lower()); - T u = (x.upper() >= static_cast(1) ) - ? checking::pos_inf() : rnd.atanh_up (x.upper()); - return I(l, u, true); -} - -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_TRANSC_HPP diff --git a/src/eo/contrib/boost/numeric/interval/utility.hpp b/src/eo/contrib/boost/numeric/interval/utility.hpp deleted file mode 100755 index d24d84d7a..000000000 --- a/src/eo/contrib/boost/numeric/interval/utility.hpp +++ /dev/null @@ -1,331 +0,0 @@ -/* Boost interval/utility.hpp template implementation file - * - * Copyright 2000 Jens Maurer - * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_UTILITY_HPP -#define BOOST_NUMERIC_INTERVAL_UTILITY_HPP - -#include -#include -#include -#include -#include -#include - -/* - * Implementation of simple functions - */ - -namespace boost { -namespace numeric { - -/* - * Utility Functions - */ - -template inline -const T& lower(const interval& x) -{ - return x.lower(); -} - -template inline -const T& upper(const interval& x) -{ - return x.upper(); -} - -template inline -T checked_lower(const interval& x) -{ - if (empty(x)) { - typedef typename Policies::checking checking; - return checking::nan(); - } - return x.lower(); -} - -template inline -T checked_upper(const interval& x) -{ - if (empty(x)) { - typedef typename Policies::checking checking; - return checking::nan(); - } - return x.upper(); -} - -template inline -T width(const interval& x) -{ - if (interval_lib::detail::test_input(x)) return static_cast(0); - typename Policies::rounding rnd; - return rnd.sub_up(x.upper(), x.lower()); -} - -template inline -T median(const interval& x) -{ - if (interval_lib::detail::test_input(x)) { - typedef typename Policies::checking checking; - return checking::nan(); - } - typename Policies::rounding rnd; - return rnd.median(x.lower(), x.upper()); -} - -template inline -interval widen(const interval& x, const T& v) -{ - if (interval_lib::detail::test_input(x)) - return interval::empty(); - typename Policies::rounding rnd; - return interval(rnd.sub_down(x.lower(), v), - rnd.add_up (x.upper(), v), true); -} - -/* - * Set-like operations - */ - -template inline -bool empty(const interval& x) -{ - return interval_lib::detail::test_input(x); -} - -template inline -bool in_zero(const interval& x) -{ - if (interval_lib::detail::test_input(x)) return false; - return (!interval_lib::user::is_pos(x.lower())) && - (!interval_lib::user::is_neg(x.upper())); -} - -template inline -bool in(const T& x, const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) return false; - return y.lower() <= x && x <= y.upper(); -} - -template inline -bool subset(const interval& x, - const interval& y) -{ - if (empty(x)) return true; - return !empty(y) && y.lower() <= x.lower() && x.upper() <= y.upper(); -} - -template inline -bool proper_subset(const interval& x, - const interval& y) -{ - if (empty(y)) return false; - if (empty(x)) return true; - return y.lower() <= x.lower() && x.upper() <= y.upper() && - (y.lower() != x.lower() || x.upper() != y.upper()); -} - -template inline -bool overlap(const interval& x, - const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) return false; - return x.lower() <= y.lower() && y.lower() <= x.upper() || - y.lower() <= x.lower() && x.lower() <= y.upper(); -} - -template inline -bool singleton(const interval& x) -{ - return !empty(x) && x.lower() == x.upper(); -} - -template inline -bool equal(const interval& x, const interval& y) -{ - if (empty(x)) return empty(y); - return !empty(y) && x.lower() == y.lower() && x.upper() == y.upper(); -} - -template inline -interval intersect(const interval& x, - const interval& y) -{ - BOOST_USING_STD_MIN(); - BOOST_USING_STD_MAX(); - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - const T& l = max BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y.lower()); - const T& u = min BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y.upper()); - if (l <= u) return interval(l, u, true); - else return interval::empty(); -} - -template inline -interval hull(const interval& x, - const interval& y) -{ - BOOST_USING_STD_MIN(); - BOOST_USING_STD_MAX(); - bool bad_x = interval_lib::detail::test_input(x); - bool bad_y = interval_lib::detail::test_input(y); - if (bad_x) - if (bad_y) return interval::empty(); - else return y; - else - if (bad_y) return x; - return interval(min BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y.lower()), - max BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y.upper()), true); -} - -template inline -interval hull(const interval& x, const T& y) -{ - BOOST_USING_STD_MIN(); - BOOST_USING_STD_MAX(); - bool bad_x = interval_lib::detail::test_input(x); - bool bad_y = interval_lib::detail::test_input(y); - if (bad_y) - if (bad_x) return interval::empty(); - else return x; - else - if (bad_x) return interval(y, y, true); - return interval(min BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y), - max BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y), true); -} - -template inline -interval hull(const T& x, const interval& y) -{ - BOOST_USING_STD_MIN(); - BOOST_USING_STD_MAX(); - bool bad_x = interval_lib::detail::test_input(x); - bool bad_y = interval_lib::detail::test_input(y); - if (bad_x) - if (bad_y) return interval::empty(); - else return y; - else - if (bad_y) return interval(x, x, true); - return interval(min BOOST_PREVENT_MACRO_SUBSTITUTION(x, y.lower()), - max BOOST_PREVENT_MACRO_SUBSTITUTION(x, y.upper()), true); -} - -template inline -interval hull(const T& x, const T& y) -{ - return interval::hull(x, y); -} - -template inline -std::pair, interval > -bisect(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return std::pair(I::empty(), I::empty()); - const T m = median(x); - return std::pair(I(x.lower(), m, true), I(m, x.upper(), true)); -} - -/* - * Elementary functions - */ - -template inline -T norm(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) { - typedef typename Policies::checking checking; - return checking::nan(); - } - BOOST_USING_STD_MAX(); - return max BOOST_PREVENT_MACRO_SUBSTITUTION(-x.lower(), x.upper()); -} - -template inline -interval abs(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - if (!interval_lib::user::is_neg(x.lower())) return x; - if (!interval_lib::user::is_pos(x.upper())) return -x; - BOOST_USING_STD_MAX(); - return I(static_cast(0), max BOOST_PREVENT_MACRO_SUBSTITUTION(-x.lower(), x.upper()), true); -} - -template inline -interval max BOOST_PREVENT_MACRO_SUBSTITUTION (const interval& x, - const interval& y) -{ - typedef interval I; - if (interval_lib::detail::test_input(x, y)) - return I::empty(); - BOOST_USING_STD_MAX(); - return I(max BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y.lower()), max BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y.upper()), true); -} - -template inline -interval max BOOST_PREVENT_MACRO_SUBSTITUTION (const interval& x, const T& y) -{ - typedef interval I; - if (interval_lib::detail::test_input(x, y)) - return I::empty(); - BOOST_USING_STD_MAX(); - return I(max BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y), max BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y), true); -} - -template inline -interval max BOOST_PREVENT_MACRO_SUBSTITUTION (const T& x, const interval& y) -{ - typedef interval I; - if (interval_lib::detail::test_input(x, y)) - return I::empty(); - BOOST_USING_STD_MAX(); - return I(max BOOST_PREVENT_MACRO_SUBSTITUTION(x, y.lower()), max BOOST_PREVENT_MACRO_SUBSTITUTION(x, y.upper()), true); -} - -template inline -interval min BOOST_PREVENT_MACRO_SUBSTITUTION (const interval& x, - const interval& y) -{ - typedef interval I; - if (interval_lib::detail::test_input(x, y)) - return I::empty(); - BOOST_USING_STD_MIN(); - return I(min BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y.lower()), min BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y.upper()), true); -} - -template inline -interval min BOOST_PREVENT_MACRO_SUBSTITUTION (const interval& x, const T& y) -{ - typedef interval I; - if (interval_lib::detail::test_input(x, y)) - return I::empty(); - BOOST_USING_STD_MIN(); - return I(min BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y), min BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y), true); -} - -template inline -interval min BOOST_PREVENT_MACRO_SUBSTITUTION (const T& x, const interval& y) -{ - typedef interval I; - if (interval_lib::detail::test_input(x, y)) - return I::empty(); - BOOST_USING_STD_MIN(); - return I(min BOOST_PREVENT_MACRO_SUBSTITUTION(x, y.lower()), min BOOST_PREVENT_MACRO_SUBSTITUTION(x, y.upper()), true); -} - -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_UTILITY_HPP diff --git a/test/edo/CMakeLists.txt b/test/edo/CMakeLists.txt index d92acb707..da8f5b50a 100755 --- a/test/edo/CMakeLists.txt +++ b/test/edo/CMakeLists.txt @@ -53,7 +53,7 @@ foreach(current ${SOURCES}) add_executable(${current} ${current}.cpp) add_test(${current} ${current}) target_link_libraries(${current} eo eoutils edoutils) - install(TARGETS ${current} RUNTIME DESTINATION share/edo/test COMPONENT test) + install(TARGETS ${current} RUNTIME DESTINATION share/${PROJECT_TAG}/edo/test COMPONENT test) endforeach() ###################################################################################### diff --git a/test/eompi/CMakeLists.txt b/test/eompi/CMakeLists.txt index 59a23d288..12c65f63c 100755 --- a/test/eompi/CMakeLists.txt +++ b/test/eompi/CMakeLists.txt @@ -46,7 +46,7 @@ if(ENABLE_CMAKE_TESTING) add_executable(${test} ${T_${test}_SOURCES}) add_test(${test} ${test}) target_link_libraries(${test} eoutils eompi eoserial eo) - install(TARGETS ${test} RUNTIME DESTINATION share/eo/test COMPONENT test) + install(TARGETS ${test} RUNTIME DESTINATION share/${PROJECT_TAG}/eompi/test COMPONENT test) endforeach (test) endif() diff --git a/test/eompi/t-mpi-distrib-exp.cpp b/test/eompi/t-mpi-distrib-exp.cpp index 175881879..3a1f5f207 100755 --- a/test/eompi/t-mpi-distrib-exp.cpp +++ b/test/eompi/t-mpi-distrib-exp.cpp @@ -385,7 +385,11 @@ class Experiment : public eoserial::Persistent mpi::communicator& comm = eo::mpi::Node::comm(); // reinits every objects eo::rng.reseed( _seed ); - eo::rng.clearCache(); // trick for repeatable sequences of normal numbers, cf eo::rng + + #ifndef HAVE_RANDOM + eo::rng.clearCache(); // trick for repeatable sequences of normal numbers, cf eo::rng + #endif + _distribution->clear(); _distribution->fill( _size ); From 34be39f0aaa67c05a0011a6fb3b510b98096b151 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Sat, 4 Oct 2014 19:17:38 +0200 Subject: [PATCH 28/29] Minor modifications (eoRng function increment_position(), tests file and compilation/installation script). Failed tests: From SMP: t-smpMW_eoEasyEA (OTHER_FAULT) From EOMPI (issue #34): t-mpi-parallelApply (OTHER_FAULT) t-mpi-wrapper (NUMERICAL) t-mpi-multipleRoles (OTHER_FAULT) t-mpi-distrib-exp (OTHER_FAULT) --- build_gcc_linux_install | 2 +- src/eo/utils/eoRNG.h | 54 +++++++++++++++++++++------------------- test/eo/t-eoRNGcxx11.cpp | 34 +++++++++++++------------ 3 files changed, 47 insertions(+), 43 deletions(-) diff --git a/build_gcc_linux_install b/build_gcc_linux_install index 64925ef2e..f6b64353f 100755 --- a/build_gcc_linux_install +++ b/build_gcc_linux_install @@ -137,7 +137,7 @@ if [ "$res" = "y" ]; then fi #ENABLE_64_BIT_RNG_NUMBERS else - FLAG=$FLAG' '" -DENABLE_CXX11_RANDOM=false" + FLAG=$FLAG' '" -DENABLE_CXX11_RANDOM=false -DENABLE_64_BIT_RNG_NUMBERS=false" fi #ENABLE_CXX11_RANDOM color 5 "set $FLAG" diff --git a/src/eo/utils/eoRNG.h b/src/eo/utils/eoRNG.h index 02eda3efc..521633c4b 100755 --- a/src/eo/utils/eoRNG.h +++ b/src/eo/utils/eoRNG.h @@ -55,17 +55,15 @@ Old contact information: todos@geneura.ugr.es, http://geneura.ugr.es #include "../eoPersistent.h" #include "../eoObject.h" -#ifdef HAVE_RANDOM - #include // Mersenne Twister available since C++11 ! About random library : - // "this library allows to produce random numbers using combinations of generators and distributions". - // (see www.cplusplus.com/reference/random/) -#endif - #if (UINT_MAX == 0xFFFFFFFFU) // Compile time check (32-bit vs. 64-bit environment) #define ENV32BIT #endif #ifdef HAVE_RANDOM // If set to true (see CMake cache values) + #include // Mersenne Twister available since C++11 ! About random library : + // "this library allows to produce random numbers using combinations of generators and distributions". + // (see www.cplusplus.com/reference/random/) + #ifndef ENV32BIT // Only on 64-bit environment #ifdef WITH_64_BIT_RNG_NUMBERS // If set to true (see CMake cache values) typedef uint64_t uint_t; // The C++11 Mersenne Twister pseudo-random generator can generate 64-bits numbers ! @@ -150,7 +148,7 @@ public : */ eoRng(uint_t s) #ifdef HAVE_RANDOM - : seed(s), position(0) + : seed(s), position(0), discard (false) { generator.seed(s); // initialize the internal state value } @@ -181,9 +179,10 @@ public : void reseed(uint_t s) { #ifdef HAVE_RANDOM - seed = s; + seed = 2*s; position = 0; - generator.seed(s); // re-initialize the internal state value + discard = false; + generator.seed(seed); // re-initialize the internal state value #else initialize(2*s); #endif @@ -229,7 +228,7 @@ public : double uniform(double min, double max) { // random number between [min, max] #ifdef HAVE_RANDOM - increment_position(); + discard = true; std::uniform_real_distribution distribution(min, max); return distribution(generator); #else @@ -300,15 +299,9 @@ public : double normal(double mean, double stdev) { #ifdef HAVE_RANDOM - // Don't increment the position here ... + discard = true; std::normal_distribution distribution(mean, stdev); - double ret = distribution(generator); - // ... but reseed the generator and call discard() to go further into the state sequence. - generator.seed(seed); - generator.discard(position); // According to the C++11 random library documentation - // the function complexity will be linear in the - // number of equivalent advances - return ret; + return distribution(generator); #else return mean + normal(stdev); #endif @@ -322,7 +315,7 @@ public : double negexp(double mean) { #ifdef HAVE_RANDOM - increment_position(); + discard = true; std::exponential_distribution distribution(mean); return distribution(generator); #else @@ -404,10 +397,7 @@ public : #ifdef HAVE_RANDOM _is >> seed; _is >> position; - generator.seed(seed); - generator.discard(position); // According to the C++11 random library documentation - // the function complexity will be linear in the - // number of equivalent advances + discard = true; #else for (int i = 0; i < N; ++i) { @@ -448,9 +438,19 @@ public : void increment_position() { if (position >= generator.state_size) + { + generator.seed(seed); position = 1; - else - ++position; + discard = false; + return; + } + if (discard) + { + generator.seed(seed); + generator.discard(position); // linear complexity + discard = false; + } + ++position; } #else @@ -497,7 +497,9 @@ public : // (one of the two requested parameters for the serialization) unsigned position; // Position of the last generated number into the state sequence - // (one of the two requested parameters for the serialization) + // (one of the two requested parameters for the serialization) + + bool discard; // Call discard() after using a distribution #else diff --git a/test/eo/t-eoRNGcxx11.cpp b/test/eo/t-eoRNGcxx11.cpp index 91c7a16ec..07e0f5e12 100644 --- a/test/eo/t-eoRNGcxx11.cpp +++ b/test/eo/t-eoRNGcxx11.cpp @@ -41,12 +41,13 @@ void basic_tests() void test_function(const unsigned N, uint_t(eoRng::*ptr)()) { std::stringstream ss; - ss << rng; // Print eoRNG on stream - uint_t r1 = (rng.*ptr)(); + rng.rand(); for (unsigned i = 0; i < N; i++) (rng.*ptr)(); + ss << rng; // Print eoRNG on stream + uint_t r1 = rng.rand(); ss >> rng; // Read eoRNG from stream - uint_t r2 = (rng.*ptr)(); + uint_t r2 = rng.rand(); assert(r1 == r2); } @@ -54,12 +55,13 @@ void test_function(const unsigned N, uint_t(eoRng::*ptr)()) void test_function(const unsigned N, double(eoRng::*ptr)(double), const double m) { std::stringstream ss; - ss << rng; // Print eoRNG on stream - uint_t r1 = (rng.*ptr)(m); + rng.rand(); for (unsigned i = 0; i < N; i++) (rng.*ptr)(m); + ss << rng; // Print eoRNG on stream + uint_t r1 = rng.rand(); ss >> rng; // Read eoRNG from stream - uint_t r2 = (rng.*ptr)(m); + uint_t r2 = rng.rand(); assert(r1 == r2); } @@ -81,16 +83,16 @@ void serialization_tests(const unsigned N, const double d) uint_t s = static_cast(time(0)); rng.reseed(s); - test_function(N, ptr_rand); + test_function(N, ptr_rand); rng.reseed(s); - test_function(N, ptr_uniform, double(1.0)); + test_function(N, ptr_uniform, double(1.0)); rng.reseed(s); - test_function(N, ptr_normal, d); + test_function(N, ptr_normal, d); rng.reseed(s); - test_function(N, ptr_negexp, d); + test_function(N, ptr_negexp, d); std::cout << "ok" << std::endl; } @@ -145,7 +147,7 @@ void stat_tests(const unsigned N) { // Important : don't forget to reseed the generator s = static_cast(time(0) + i-1); // Chosen method to reseed generator (contestable): - // Add i-1 seconds to the current time based on the current system + // Add i-1 seconds to the current time based on the current system rng.reseed(s); x[i] = rng.normal(); @@ -176,7 +178,7 @@ void stat_tests(const unsigned N) double p_value = PyFloat_AsDouble(PyTuple_GetItem(pResult, 1)); std::cout << "Shapiro-Wilk test statistic:" << W << std::endl; std::cout << "p-value of the Shapiro-Wilk test (strong if < 0.05):" << p_value << std::endl; - //Py_DECREF(pResult); + Py_DECREF(pResult); } // Free allocated memory @@ -206,10 +208,10 @@ void stat_tests(const unsigned N) for (unsigned i = 0; i < N; i++) { - // Important : don't forget to reseed the generator - s = static_cast(time(0) + i-1); // Chosen method to reseed generator (contestable): - // Add i-1 seconds to the current time based on the current system - rng.reseed(s); + // // Important : don't forget to reseed the generator + // s = static_cast(time(0) + i-1); // Chosen method to reseed generator (contestable): + // // Add i-1 seconds to the current time based on the current system + // rng.reseed(s); // Observed frequencies obs_freq[i] = rng.uniform(); From 8c078b685ed327ae19fac8971b587c9ddc5fda0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Sun, 5 Oct 2014 22:26:56 +0200 Subject: [PATCH 29/29] Parsing correction (issue #4) using Boost_Program_Options. Dependencies: Boost (boost::program_options, boost::variant, boost::any). Test is ok: required arguments have to be given in command line (go check t-eoParserBoost: e.g. $> ./test/eo/t-eoParserBoost --alpha6=6 --alpha4). --- cmake/Config.cmake | 13 + src/eo/utils/CMakeLists.txt | 7 + src/eo/utils/eoParserBoost.cpp | 555 +++++++++++++++++++++++++++++++++ src/eo/utils/eoParserBoost.h | 283 +++++++++++++++++ test/eo/CMakeLists.txt | 5 + test/eo/t-eoParserBoost.cpp | 69 ++++ 6 files changed, 932 insertions(+) create mode 100644 src/eo/utils/eoParserBoost.cpp create mode 100644 src/eo/utils/eoParserBoost.h create mode 100644 test/eo/t-eoParserBoost.cpp diff --git a/cmake/Config.cmake b/cmake/Config.cmake index 278298caf..ebc500e2d 100755 --- a/cmake/Config.cmake +++ b/cmake/Config.cmake @@ -73,6 +73,19 @@ if(ENABLE_CMAKE_TESTING) include(CTest REQUIRED) endif(ENABLE_CMAKE_TESTING) +# required by t-eoParserBoost.cpp +find_package( Boost 1.36.0 ) +if(Boost_FOUND) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_DEBUG} -L ${Boost_INCLUDE_DIRS} -lboost_program_options -Wreorder") + + if (UNIX OR CMAKE_COMPILER_IS_GNUCXX) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11") + endif (UNIX OR CMAKE_COMPILER_IS_GNUCXX) + if (APPLE) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=10.7") + endif (APPLE) +endif(Boost_FOUND) + ###################################################################################### ### 4) Build examples ? ###################################################################################### diff --git a/src/eo/utils/CMakeLists.txt b/src/eo/utils/CMakeLists.txt index 3176f5446..d84072031 100755 --- a/src/eo/utils/CMakeLists.txt +++ b/src/eo/utils/CMakeLists.txt @@ -33,6 +33,13 @@ set(EOUTILS_SOURCES eoSignal.cpp ) +if(Boost_FOUND) + message("add eoParserBoost.cpp to EOUTILS_SOURCES (see: /src/eo/utils/CMakeLists.txt)") + set(EOUTILS_SOURCES ${EOUTILS_SOURCES} eoParserBoost.cpp) # new parser using Boost +else(Boost_FOUND) + message("Boost not found. WARNING: eoParserBoost can not be used. (Warning message from /eo/src/utils/CMakeLists.txt)") +endif(Boost_FOUND) + add_library(eoutils STATIC ${EOUTILS_SOURCES}) install(TARGETS eoutils ARCHIVE DESTINATION ${LIB} COMPONENT libraries) diff --git a/src/eo/utils/eoParserBoost.cpp b/src/eo/utils/eoParserBoost.cpp new file mode 100644 index 000000000..0dd48e9d5 --- /dev/null +++ b/src/eo/utils/eoParserBoost.cpp @@ -0,0 +1,555 @@ +//----------------------------------------------------------------------------- +// eoParserBoost.cpp +// (c) Thales group +/* + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Contact: http://eodev.sourceforge.net +Authors: + + */ +//----------------------------------------------------------------------------- + +#ifdef _MSC_VER + #pragma warning(disable:4786) // to avoid long name warnings +#endif + +#include "eoParserBoost.h" + +eoParserBoost::eoParserBoost(unsigned _argc, char ** _argv, std::string _programDescription) throw(std::bad_alloc): +programName(_argv[0]), +programDescription(_programDescription), +nb_args(_argc), +desc("Allowed options") // Root node of the sections tree. + // The child nodes will been saved into the "sections_map". + // For the moment the tree depth level == 2. +{ + unsigned i, j, k, l; + for (i = 1; i < _argc; i++) + { // First check if a configuration file name (specified by symbol '@') has been given by command-line (e.g. @myFile.param). + if ('@' == _argv[i][0]) + { // Copy this file name (in order to process it later). + j = strlen(_argv[i]+1) + 1; + configFile_name = new char[j]; + strcpy(configFile_name, _argv[i]+1); + --nb_args; + break; // If several configuration file names have been given only the first one will be treated. As a consequence the others will be ignored. + } + else + configFile_name = NULL; + } + args = new char*[nb_args]; + try + { + k = 0; + for (i = 0; i < _argc; i++) + { // Then copy all the arguments which have been given by command-line (in order to process them later) except for the configuration file name (already copied). + if ('@' != _argv[i][0]) + { + j = strlen(_argv[i]) + 1; + args[k] = new char[j]; + strcpy(args[k++], _argv[i]); + } + } + } + catch (...) + { // Clean up any allocated memory because the destructor will never be called. + for (l = 0; l < i; l++) + delete[] args[l]; + delete[] args; // Safe: assert(nb_args > 0); + + throw std::bad_alloc(); // Translate any exception to bad_alloc(). + } +} + +eoParserBoost::~eoParserBoost() +{ + unsigned i; + for (i = 0; i < nb_args; i++) + delete[] args[i]; + delete[] args; // Safe: assert(nb_args > 0); + + if (configFile_name != NULL) + delete[] configFile_name; +} + +std::string eoParserBoost::checkIfExists(const std::string _longName, const std::string _shortHand) +{ + if (_longName == "") + { + std::string msg = "Exception: blank parameter longname forbidden"; + throw std::invalid_argument(msg); + } + + for (std::map::iterator it = info_map.begin(); it != info_map.end(); it++) + { // For all sections... + my_map m_m = it->second; + for (my_map::iterator i = m_m.begin(); i != m_m.end(); i++) + { // ... check that the parameter longname doesn't already exist. + if (i->first == _longName) + { + std::string msg = std::string("Exception: two parameters with the same longname is forbidden (see parameters called \"") + _longName + std::string("\")."); + throw std::invalid_argument(msg); + } + } + } + + std::stringstream ss; + ss << _longName << "," << _shortHand; // By following the POSIX/GNU standards Boost will only consider the first char of the shorthand string given as an argument. + // e.g. 'option_name, oxxxxxxx' will be registered as 'option_name, o' + return ss.str(); +} + +void eoParserBoost::manageSectionsMaps(const std::string _section) +{ + if (!sections_map.count(_section)) + { // Add a new node to the "sections_map" and an other one to the "info_map" (which contains basic information about the parameters). + po::options_description o_d(_section); + sections_map.insert({_section, o_d}); + my_map m_m; + info_map.insert({_section, m_m}); + } +} + +void eoParserBoost::addPositionalOption(const std::string _longName, const std::string _shortHand, unsigned _position) +{ + // First check that this position is not already reserved. + if (pod.name_for_position(_position) != "") + { + std::string msg = std::string("Exception: position already reserved (see parameters named \"") + + pod.name_for_position(_position) + + std::string("\" and \"") + + _longName + std::string("\")."); + throw std::invalid_argument(msg); + } + + // WARNING from Boost Tutorial : "The positional_options_description class only specifies translation from position to name, + // and the option name should still be registered with an instance of the options_description class." + pod.add(_longName.c_str(), _position); + + // N.B.: the help message for positional options has to be manually written. + positional_options_help_message << " -" << _shortHand + << " [ " << _longName << " ] " + << "position = " << _position << "\n"; +} + +void eoParserBoost::saveInfo(const std::string _longName, + const std::string _shortHand, + const std::string _description, + const std::string _section, + int _position) +{ + info_map.find(_section)->second + .insert({_longName, {_shortHand, _description, _position}}); +} + +template +ValueType eoParserBoost::createParam(ValueType _value, + const std::string _longName, + const std::string _description, + const std::string _shortHand, + const std::string _section, + bool _implicit, + int _position) +{ + std::string str = checkIfExists(_longName, _shortHand); + + if (_position > 0) + addPositionalOption(_longName, _shortHand, static_cast(_position)); + + // Add the parameter to the right section into the "sections_map". + // If the section name is empty, the parameter belongs to the miscellaneous section called "General". + std::string section = _section; + if (section == "") + section = "General"; + + manageSectionsMaps(section); + + if (_implicit) + sections_map.find(section)->second + .add_options() + (str.c_str(), po::value()->implicit_value(_value), _description.c_str()); + else + sections_map.find(section)->second + .add_options() + (str.c_str(), po::value()->default_value(_value), _description.c_str()); + + // Save now the information about parameter shorthand and longname, parameter section, description and position + // that later we want to recover easily in order to save these settings in an output file. + // (see function writeSettings()) + saveInfo(_longName, _shortHand, _description, section, _position); + + return _value; +} + +template +std::pair< ValueType, ValueType > eoParserBoost::createParam(const std::pair< ValueType, ValueType > _values, + const std::string _longName, + const std::string _description, + const std::string _shortHand, + const std::string _section, + int _position) +{ + std::string str = checkIfExists(_longName, _shortHand); + + if (_position > 0) + addPositionalOption(_longName, _shortHand, static_cast(_position)); + + std::string section = _section; + if (section == "") + section = "General"; + + manageSectionsMaps(section); + + sections_map.find(section)->second + .add_options() + (str.c_str(), po::value()->default_value(_values.first)->implicit_value(_values.second), _description.c_str()); + + saveInfo(_longName, _shortHand, _description, section, _position); + + return _values; +} + +template +void eoParserBoost::createParam(const std::string _longName, + const std::string _description, + const std::string _shortHand, + const std::string _section, + int _position) +{ + std::string str = checkIfExists(_longName, _shortHand); + + if (_position > 0) + addPositionalOption(_longName, _shortHand, static_cast(_position)); + + std::string section = _section; + if (section == "") + section = "General"; + + manageSectionsMaps(_section); + + sections_map.find(_section)->second + .add_options() + (str.c_str(), po::value()->required(), _description.c_str()); + + saveInfo(_longName, _shortHand, _description, section, -1); +} + +void eoParserBoost::printParsedOptions(po::parsed_options& _parsedOptions) +{ + std::stringstream msg; + msg << "\nPrinting parsed_options:\n"; + + unsigned n = 0; + for (opt_vect::iterator it = _parsedOptions.options.begin(); it != _parsedOptions.options.end(); it++) + { + ++n; + po::basic_option& opt = *it; + msg << "string_key[string]: " << opt.string_key << '\t' + << "position_key[int]: " << opt.position_key << '\t' + << "unregistered[bool]: " << opt.unregistered << '\t' + << "case_insensitive[bool]:" << opt.case_insensitive << '\t'; + + str_vect o_tokens = opt.original_tokens; + for (str_vect::iterator i = o_tokens.begin(); i != o_tokens.end(); i++) + { + const char* c = (*i).c_str(); + msg << "original_tokens: " << c << '\t'; + } + + str_vect val = opt.value; + for (str_vect::iterator j = val.begin(); j != val.end(); j++) + { + const char* cv = (*j).c_str(); + msg << "value: " << cv << '\t'; + } + + msg << '\n'; + } + + msg << "number of options: " << n << "\n\n"; + + #ifndef NDEBUG + eo::log << eo::setlevel(eo::debug) << msg.str(); // Reminder: this is only a test display function. + #endif +} + +po::parsed_options eoParserBoost::parseConfigFile() +{ + std::ifstream ifs(configFile_name); + ifs.peek(); + // Check if the file exists first: + if (!ifs) + { + std::string msg = std::string("Could not open configuration file: ") + configFile_name; + throw std::runtime_error(msg); + } + else + { + std::string str; + std::vector arguments; + while (ifs >> str) + { + while (str[0] == ' ') + str = str.substr(1, str.length()); // Ignore blanks at the beginning of the string. + if (str[0] == '#') + { // This part has been commented so skip the rest of the line. + std::string tempStr; + getline(ifs, tempStr); + } + else + arguments.push_back(str); + } + + return po::command_line_parser(arguments) + .options(desc) + #ifdef ALLOW_UNENREGISTERED + .allow_unregistered() // DANGER: allows unenregistered parameters! + // As a consequence if the flag is set to true and unenregistered parameters are found, + // these unenregistered parameters won't be noticed and the whole configuration file + // will still be treated without throwing exception. + #endif + .run(); + } + } + +void eoParserBoost::processParams(bool _configureHelpOption) +{ + if (_configureHelpOption) + createParam(std::pair< bool, bool > (false, true), "help", "Print this message.", "h", ""); + + for (std::map< std::string, po::options_description >::iterator it = sections_map.begin(); it != sections_map.end(); it++) + desc.add(it->second); // Add all derived sections to the root. + + try + { + if (configFile_name != NULL) // If a configuration file name has been given in command line... + { // ...it has to be processed first if we want command-line to have highest priority. + po::parsed_options parsed_options_from_file = parseConfigFile(); + //printParsedOptions(parsed_options_from_file); // test display function + po::store(parsed_options_from_file, vm); + } + + po::parsed_options parsed_options_from_cmd = po::command_line_parser(nb_args, args) + .options(desc) + .positional(pod) + #ifdef ALLOW_UNENREGISTERED + .allow_unregistered() // DANGER: allows unenregistered parameters! + // As a consequence if the flag is set to true and unenregistered parameters are found, + // these unenregistered parameters won't be noticed and the whole configuration file + // will still be treated without throwing exception. + #endif + .run(); + //printParsedOptions(parsed_options_from_cmd); // test display function + po::store(parsed_options_from_cmd, vm); + + po::notify(vm); + } + catch (const po::error &e) + { + if (vm.count("help") && (vm["help"].as())) + { // Display help if requested (by command-line) with '--help' or '-h'. + std::cout << "-help specified" << std::endl; + + printHelp(); // Print help before throwing exception ! + } + throw; // Throw exception even if help is requested because it can tell a little bit more to the user. + // But do not exit() : destructors won't be called! It has to be done directly into the source code of the program (see test file t-eoParserBoost.cpp). + } + if (vm.count("help") && (vm["help"].as())) + { // Display help if requested (by command-line) with '--help' or '-h'. + std::cout << "-help specified" << std::endl; + + printHelp(); + } +} + +void eoParserBoost::printHelp() +{ + std::cout << programName << std::endl; + std::cout << programDescription << std::endl; + std::cout << desc << std::endl; + std::string msg = positional_options_help_message.str(); + if (msg != "") + std::cout << "Positional options:\n" << msg << std::endl; + std::cout << "@param_file defines a file where the parameters are stored\n" << std::endl; + +} + +template +void eoParserBoost::getValue(const std::string _longName, ValueType& _val) +{ + if (vm.count(_longName)) + _val = vm[_longName].as(); + else + { // Throw an exception if the parameter doesn't exist or if it's an undeclared implicit parameter. + std::string msg = _longName + std::string(" does not exist or this implicit parameter has not been declared (see getValue())."); + throw std::invalid_argument(msg); + } +} + +template +ValueType eoParserBoost::getValue(const std::string _longName) +{ + if (vm.count(_longName)) + return vm[_longName].as(); + std::string msg = _longName + std::string(" does not exist or this implicit parameter has not been declared (see getValue())."); + throw std::invalid_argument(msg); // Throw an exception if the parameter doesn't exist or if it's an undeclared implicit parameter. +} + +std::pair eoParserBoost::valueCast(const boost::any& _val) +{ + if (_val.type() == typeid(int)) + return std::make_pair(true, boost::any_cast(_val)); + if (_val.type() == typeid(short)) + return std::make_pair(true, boost::any_cast(_val)); + if (_val.type() == typeid(long)) + return std::make_pair(true, boost::any_cast(_val)); + if (_val.type() == typeid(unsigned int)) + return std::make_pair(true, boost::any_cast(_val)); + if (_val.type() == typeid(unsigned short)) + return std::make_pair(true, boost::any_cast(_val)); + if (_val.type() == typeid(unsigned long)) + return std::make_pair(true, boost::any_cast(_val)); + if (_val.type() == typeid(char)) + return std::make_pair(true, boost::any_cast(_val)); + if (_val.type() == typeid(float)) + return std::make_pair(true, boost::any_cast(_val)); + if (_val.type() == typeid(double)) + return std::make_pair(true, boost::any_cast(_val)); + if (_val.type() == typeid(long double)) + return std::make_pair(true, boost::any_cast(_val)); + if (_val.type() == typeid(bool)) + return std::make_pair(true, boost::any_cast(_val)); + if (_val.type() == typeid(std::string)) + return std::make_pair(true, boost::any_cast(_val)); + if (_val.type() == typeid(char*)) + return std::make_pair(true, boost::any_cast(_val)); + /* + if (_val.type() == typeid(std::vector< int >)) + return std::make_pair(true, boost::any_cast< std::vector< int > >(_val)); + if (_val.type() == typeid(std::vector< short >)) + return std::make_pair(true, boost::any_cast< std::vector< short > >(_val)); + if (_val.type() == typeid(std::vector< long >)) + return std::make_pair(true, boost::any_cast< std::vector< long > >(_val)); + if (_val.type() == typeid(std::vector< unsigned int >)) + return std::make_pair(true, boost::any_cast< std::vector< unsigned int > >(_val)); + if (_val.type() == typeid(std::vector< unsigned short >)) + return std::make_pair(true, boost::any_cast< std::vector< unsigned short > >(_val)); + if (_val.type() == typeid(std::vector< unsigned long >)) + return std::make_pair(true, boost::any_cast< std::vector< unsigned long > >(_val)); + if (_val.type() == typeid(std::vector< char >)) + return std::make_pair(true, boost::any_cast< std::vector< char > >(_val)); + if (_val.type() == typeid(std::vector< float >)) + return std::make_pair(true, boost::any_cast< std::vector< float > >(_val)); + if (_val.type() == typeid(std::vector< double >)) + return std::make_pair(true, boost::any_cast< std::vector< double > >(_val)); + if (_val.type() == typeid(std::vector< long double >)) + return std::make_pair(true, boost::any_cast< std::vector< long double > >(_val)); + if (_val.type() == typeid(std::vector< bool >)) + return std::make_pair(true, boost::any_cast< std::vector< bool > >(_val)); + if (_val.type() == typeid(std::vector< str::string >)) + return std::make_pair(true, boost::any_cast< std::vector< std::string > >(_val)); + if (_val.type() == typeid(std::vector< char* >)) + return std::make_pair(true, boost::any_cast< std::vector< char* > >(_val)); + */ + else + return std::make_pair(false, "Unexpected type"); // Type is not referenced. Cast failed. +} + +void eoParserBoost::writeSettings(std::ofstream& _ofs) +{ + for (std::map::iterator it = info_map.begin(); it != info_map.end(); it++) + { // Print all parameters section by section. + + std::string section = it->first; + _ofs << "#### " << section << " ####\n"; + + my_map m_m = it->second; + for (my_map::iterator i = m_m.begin(); i != m_m.end(); i++) + { + std::string longName = i->first; + std::string shortHand = boost::get((i->second)[0]); + std::string description = boost::get((i->second)[1]); + int position = boost::get((i->second)[2]); + + const po::variable_value& var = vm.find(longName)->second; + +/********************************************************************************************************************************* + * writing convention for the parameter value : commented or not commented ? + * + * - default (commented == TRUE) + * | - not declared (commented == TRUE) WARNING: value has no type, cast will fail + * value -| - implicit | + * | | + declared in command-line or in configuration file (commented == FALSE) + * + not default -| + * | + * + not implicit => value has been changed by configuration file or in command-line (commented == FALSE) + * + *********************************************************************************************************************************/ + + if ( var.defaulted() || (!var.defaulted() && !vm.count(longName)) ) + _ofs << "# --" << longName; + else + _ofs << "--" << longName; + + if (vm.count(longName)) + { // Case where it is not an undeclared implicit parameter, e.g. we are sure that the value has a type + const boost::any& val = var.value(); + if (!val.empty()) + { + _ofs << "="; + _ofs << valueCast(val).second; + } + } + + if ( (shortHand != "") && (description == "") && (position <= 0) ) + _ofs << "\t" << "# -" << shortHand.substr(0,1); + if ( (shortHand != "") && (description != "") && (position <= 0) ) + _ofs << "\t" << "# -" << shortHand.substr(0,1) << ": " << description; + if ( (shortHand != "") && (description != "") && (position > 0) ) + _ofs << "\t" << "# -" << shortHand.substr(0,1) << ": " << description << ", position: " << position; + if ( (shortHand == "") && (description != "") && (position <= 0) ) + _ofs << "\t" << "# " << description; + if ( (shortHand == "") && (description == "") && (position > 0) ) + _ofs << "\t" << "# position: " << position;; + + _ofs << "\n"; + } + _ofs << "\n"; + } +} + +void eoParserBoost::writeSettings(const std::string _myFile) +{ + std::ofstream ofs(_myFile); + std::string msg; + // Check first if the output file exists : + if (!ofs.is_open()) + { + msg = std::string("Could not open the output file: ") + _myFile; + throw std::runtime_error(msg); + } + else + { + writeSettings(ofs); + + ofs.close(); + msg = std::string("Settings save in ") + _myFile; + } + #ifndef NDEBUG + eo::log << eo::setlevel(eo::debug) << msg; + #endif +} diff --git a/src/eo/utils/eoParserBoost.h b/src/eo/utils/eoParserBoost.h new file mode 100644 index 000000000..e8591d243 --- /dev/null +++ b/src/eo/utils/eoParserBoost.h @@ -0,0 +1,283 @@ +/* (c) Thales group + +This library is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free +Software Foundation; either version 2 of the License, or (at your option) any +later version. + +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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License along +with this library; if not, write to the Free Software Foundation, Inc., 59 +Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Contact: http://eodev.sourceforge.net +Authors: + +*/ + +#ifndef EO_PARSER_BOOST_H +#define EO_PARSER_BOOST_H + +#include "eoParam.h" + +#include +#include // std::bad_alloc() +#include +#include +#include +#include +#include // For operator typeid(). + +#include "eoLogger.h" // Required by eo::log (see eoParserBoost::printParsedOptions()). +#include "../eoObject.h" +//#include "../eoPersistent.h" + +#include +#include +#include +#include + +namespace po = boost::program_options; + +typedef std::vector< po::basic_option > opt_vect; // Used by eoParserBoost::printParsedOptions() ; in order to manipulate po::parsed_options easily. +typedef std::vector< std::basic_string > str_vect; // Used by eoParserBoost::printParsedOptions() ; in order to manipulate po::parsed_options easily. + +typedef boost::variant< int, + short, + long, + unsigned int, + unsigned short, + unsigned long, + char, + float, + double, + long double, + bool, + char*, + std::string > my_variant; // For output writing (value cast) + // and also for collecting all kind of information about the parameters (see "my_map") + +typedef std::map< std::string, std::vector< my_variant > > my_map; // In order to save basic information about an option + // and collect them easily at the end for a complete data serialization + // (see eoParserBoost::writeSettings()). + // Key value: parameter longname ; mapped value : parameter shorthand, description and position. + +/** + eoParserBoost: command line parser and configuration file reader/writer + This class is inspired by eoParser. Contrary to eoParser + this class respects the POSIX/GNU standards. + + Dependencies : this class uses the Boost Program Options library : + $> sudo apt-get install libboost-dev-all + this class also requires c++11 : compile with flag -std=gnu++11 +*/ +class eoParserBoost: public eoObject//, public eoPersistent +{ + +public: + + /** + * Constructor. + * A complete constructor that reads the command-line arguments. + * A configuration file can also be given for treatement, but it has to + * be specified as follows : + * $> ./myEo @param.rc will then load using the parameter file param.rc + * + * @param _argc command line arguments count + * @param _argv command line parameters + * @param _programDescription description of the work the program does + */ + eoParserBoost(unsigned _argc, char **_argv , std::string _programDescription = "") throw(std::bad_alloc); + + /** + * Destructor. + */ + ~eoParserBoost(); + + /** + * Construct a option and set its default OR implicit value. + * + * @param _defaultValue The value (default or implicit value) + * @param _longName Long name of the argument + * @param _description Description of the parameter. What is useful for. + * @param _shortHand Short name of the argument (Optional). + * By convention only one char (the 1st) will be considered. + * @param _section Name of the section to which the parameter belongs. + * Allows to improve the output file writing but also to organize + * the help indications which are printed on the terminal (--help). + * @param _implicit Tells if the value is a default value or an implicit value. + * @param _position The option POSITION + */ + template + ValueType createParam(ValueType _value, + const std::string _longName, + const std::string _description, + const std::string _shortHand, + const std::string _section, + bool _implicit, + int _position = -1); + + /** + * Construct a option and set its default AND implicit value. + * + * @param _values The combinaison of the default and implicit values. + * The first member is the default value, the second is the implicit value. + * @param _longName Long name of the argument + * @param _description Description of the parameter. What is useful for. + * @param _shortHand Short name of the argument (Optional). + * By convention only one char (the 1st) will be considered. + * @param _section Name of the section to which the parameter belongs. + * Allows to improve the output file writing but also to organize + * the help indications printed on the terminal (--help). + * @param _position The option POSITION + */ + template + std::pair< ValueType, ValueType > createParam(std::pair< ValueType, ValueType > _values, + const std::string _longName, + const std::string _description, + const std::string _shortHand, + const std::string _section, + int _position = -1); + + /** + * Construct a parameter whose value has to be given in command-line + * (or from a configuration file). + * + * @param _longName Long name of the argument + * @param _description Description of the parameter. What is useful for. + * @param _shortHand Short name of the argument (Optional). + * By convention only one char (the 1st) will be considered. + * @param _section Name of the section to which the parameter belongs. + * Allows to improve the output file writing but also to organize + * the help indications which are printed on the terminal (--help). + * @param _position The option POSITION + */ + template + void createParam(const std::string _longName, + const std::string _description, + const std::string _shortHand, + const std::string _section, + int _position = -1); + + /** + * Process all the parameter values (parameters created from the source code, + * and modified in the command line or by means of a configuration file). + * + * @param _configureHelpOption Allows to configure automatically the help option + * using the command-line specification --help or -h. + */ + void processParams(bool _configureHelpOption); + + /** + * Cast the parameter value and copy it into the argument given as a reference. + */ + template + void getValue(const std::string _longName, ValueType& _val); + + /** + * Cast the parameter value as given by the ValueType type. + */ + template + ValueType getValue(const std::string _longName); + + /** + * Write and save processed settings in a file (data serialization). + * Motivation: save settings given in command-line + configuration file + * N.B. This output file can also be reused as configuration file for the next program execution. + */ + void writeSettings(const std::string _myFile); + + std::string className(void) const { return "eoParserBoost"; } + +protected: + + std::string programName; + std::string programDescription; + + char* configFile_name; // In order to register the configuration file name (given in command line). + // N.B. The 'char*' type is required type by the Boost parser function. + unsigned nb_args; // In order to register argc (given in command line). + char** args; // In order to register argv (given in command line). + // N.B. The 'char**' type is required type by the Boost parser function. + + // The options decription component + // Describes the allowed options and what to do with the option values + po::options_description desc; + + // The positional options description component + po::positional_options_description pod; + + // The storage component + // Used to store all parameters that are processed + po::variables_map vm; + + // Contains all the options descriptions related to their own section. + // Key value : the section ; mapped value : the po::options_description object. + // For the moment: tree depth level = 2. + std::map< std::string, po::options_description > sections_map; + + // In order to save basic information (section, short- and long- names and description) that we can't access easily + // with po::options_description or with po::positional_options_description. + // Purpose: enable the complete data serialization by saving these settings in an output file (see function writeSettings()). + // Key value : section ; mapped value : information about the parameter (parameter longname, shorthand, description, and position). + std::map< std::string, my_map > info_map; + + // The help message for positional options has to be manually written. + std::stringstream positional_options_help_message; + + /** + * Throws an exception if the parameter longname already exists. + */ + std::string checkIfExists(const std::string _longName, const std::string _shortHand); + + /** + * Add a new key to the map related to the new section. + */ + void manageSectionsMaps(const std::string _section); + + /** + * Add a positional parameter into the positional options description. + */ + void addPositionalOption(const std::string _longName, const std::string _shortHand, unsigned _position); + + /** + * Save basic information about an parameter. + */ + void saveInfo(const std::string _longName, + const std::string _shortHand, + const std::string _description, + const std::string _section, + int _position); + + /** + * Parse the argument values which are contained into the configuration file. + */ + po::parsed_options parseConfigFile(); + + /** + * Print the parsed options - test display function + * In order to test the Boost parsing treatement. + */ + void printParsedOptions(po::parsed_options& _parsedOptions); + + /** + * Print information about all the processed parameters. + * This is the called function by the command-line option '--help' or '-h'. + */ + void printHelp(); + + /** + * Return the right value cast. + */ + std::pair valueCast(const boost::any& _val); + + /** + * Print settings on an output stream. + */ + void writeSettings(std::ofstream& ofs); +}; + +#endif // EO_PARSER_BOOST_H \ No newline at end of file diff --git a/test/eo/CMakeLists.txt b/test/eo/CMakeLists.txt index f4b03c406..acdf052c5 100755 --- a/test/eo/CMakeLists.txt +++ b/test/eo/CMakeLists.txt @@ -79,6 +79,11 @@ if(ENABLE_CXX11_RANDOM) endif(ENABLE_CXX11_RANDOM) +if(Boost_FOUND) + message("add t-eoParserBoost to TEST_LIST (see: /test/eo/CMakeLists.txt)") + set (TEST_LIST ${TEST_LIST} t-eoParserBoost) # test the new parser with Boost +endif(Boost_FOUND) + foreach (test ${TEST_LIST}) set ("T_${test}_SOURCES" "${test}.cpp") endforeach (test) diff --git a/test/eo/t-eoParserBoost.cpp b/test/eo/t-eoParserBoost.cpp new file mode 100644 index 000000000..321196a52 --- /dev/null +++ b/test/eo/t-eoParserBoost.cpp @@ -0,0 +1,69 @@ +#include +#include + +#include "../../src/eo/utils/eoParserBoost.cpp" + +int main(int ac, char** av) +{ + eoParserBoost parser(ac, av, "Test program."); + + unsigned int alpha1 = parser.createParam(10, "alpha1", "A default parameter", "a1", "Default values", false); // WARNING: "integer" is given and but type "unsigned int" is expected. + int alpha2 = parser.createParam(10, "alpha2", "A default parameter", "a2", "Default values", false); // N.B. allows the same string shorthand ! But an exception will be thrown when using it... + unsigned alpha3 = 10; + parser.createParam(alpha3, "alpha3", "A default parameter", "c", "Default values", false); + unsigned int alpha4 = parser.createParam(10, "alpha4", "A implicit parameter", "d", "Implicit values", true); + std::pair< unsigned, unsigned > alpha5 = parser.createParam(std::pair< unsigned, unsigned > (10, 20), "alpha5", "A implicit default parameter", "e", "Implicit and default values"); // Must return the implicit and default values. + parser.createParam(std::pair< std::string, std::string > ("", ""), "blank_option", "A implicit default parameter with empty values", "k", "Implicit and default options"); + + // Requested value : if no value is given in command-line or by means of a configuration file, an exception will be thrown. + parser.createParam("alpha6", "A parameter requested value", "f", "Requested values"); + + // Positional option + unsigned int alpha7 = parser.createParam((unsigned)10, "alpha7", "A positional default parameter", "g", "Positional options", false, 1); + //parser.createParam((unsigned)10, "alpha8", "A default parameter", "h", "Positional options", false, 1); // Get an exception: same position as the former parameter. + parser.createParam((unsigned)5, "gui.alpha9", "A positional implicit parameter", "i", "Positional options", true, 3); + parser.createParam(std::pair< std::string, std::string > ("abc", "defg"), "My_string", "A positional implicit default parameter", "j", "Positional options", 17); + + std::cout << "alpha1: " << alpha1 << std::endl; + std::cout << "alpha2: " << alpha2 << std::endl; + std::cout << "alpha3: " << alpha3 << std::endl; + std::cout << "alpha4: " << alpha4 << std::endl; + std::cout << "alpha5 [default value]: " << alpha5.first << std::endl; + std::cout << "alpha5 [implicit value]: " << alpha5.second << std::endl; + std::cout << "alpha7: " << alpha7 << std::endl; + + + parser.processParams(true); // Set boolean to true in order to require the help configuration. + + bool userNeedsHelp = false; + parser.getValue("help", userNeedsHelp); + if (userNeedsHelp) + exit(1); // Exit if help is requested. It has to be done here. + + alpha1 = 0; + try + { + parser.getValue(std::string("alpha1"), alpha1); // Get an exception: the registered type (with createParam()) is different from the one which is given as a reference. + std::cout << "alpha1: " << alpha1 << std::endl; + } + catch(std::exception& e) // Catch Boost exception. + { + std::cout << "Catched exception: " << e.what() << std::endl; + } + + alpha2 = 0; + parser.getValue("alpha2", alpha2); // default value + std::cout << "alpha2: " << alpha2 << std::endl; + + unsigned int alpha6; + parser.getValue("alpha6", alpha6); // requested value + std::cout << "alpha6: " << alpha6 << std::endl; + + alpha4 = parser.getValue("alpha4"); // implicit value + std::cout << "alpha4: " << alpha4 << std::endl; + + parser.writeSettings("o.txt"); + + + return 0; +} \ No newline at end of file