Merge branch 'master' of ssh://eodev.git.sourceforge.net/gitroot/eodev/eodev

This commit is contained in:
Caner Candan 2011-07-03 01:46:09 +02:00
commit 862bee9081
10 changed files with 92 additions and 34 deletions

View file

@ -1,3 +1,3 @@
today=`date --iso-8601` today=`date --iso-8601`
git archive --format zip master > eo_${today}.zip git archive --format zip master > EO-${today}.zip

View file

@ -43,7 +43,7 @@ ENABLE_LANGUAGE(C)
### 2) Include required modules / configuration files ### 2) Include required modules / configuration files
##################################################################################### #####################################################################################
FIND_PACKAGE(OpenMP REQUIRED) FIND_PACKAGE(OpenMP)
IF(OPENMP_FOUND) IF(OPENMP_FOUND)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")

View file

@ -1,7 +1,7 @@
In order to create a new release from the current repository, perform the In order to create a new release from the current repository, perform the
following steps: following steps:
- Create a branch named "eo_x.y.z" - If necessary, create a branch named "eo_x.y.z"
- Set version number in eo-conf.cmake - Set version number in eo-conf.cmake
- Check/update NEWS file, set release date and version in NEWS. - Check/update NEWS file, set release date and version in NEWS.
- use the "archive_current.sh" script to create the source archive - use the "archive_current.sh" script to create the source archive
@ -11,3 +11,35 @@ following steps:
- Send announcement to mailing lists - Send announcement to mailing lists
- Bump version number to next "x.y.z-edge" in eo-conf.cmake - Bump version number to next "x.y.z-edge" in eo-conf.cmake
When reaching stable versions:
- prepare a message with the following template:
-----8<-----
A new version of the "Evolving Objects" framework is available.
EO is a template-based, C++ evolutionary computation library which
helps you to write your own stochastic optimization algorithms
insanely fast.
Learn more about EO on the official website:
http://eodev.sourceforge.net/
You will find the release x.y.z at the following address:
https://sourceforge.net/projects/eodev/files/eo/
Here is a summary of the change log:
- XXXXX
- and more…
Do not hesitate to submit the bugs you will face:
https://sourceforge.net/apps/trac/eodev/wiki/WikiStart
Happy evolutionary hacking.
-----8<-----
- Post the message to:
- EO news https://sourceforge.net/news/?group_id=9775
- EO mailing list: eodev-main@lists.sourceforge.net
- ParadisEO mailing list: paradiseo-users@lists.gforge.inria.fr
- EC-digest maling list: ec-digest-l@listserv.gmu.edu
- JET mailing list: jet@inria.fr

View file

@ -74,7 +74,7 @@ Or go through the following steps:
2. call CPack specifying the desired package system: 2. call CPack specifying the desired package system:
cpack -G DEB cpack -G DEB
3. install the package: 3. install the package:
sudo apt-get install EO-1.1.1-Linux.deb sudo dpkg -i EO-1.1.1-Linux.deb
Basic installation Basic installation

View file

@ -1,5 +1,7 @@
* release 1.2 (10. May. 2011) * current version
- fixed the incremental allocation issue in the variation operator which were
* release 1.2 (16. May. 2011)
- fixed the incremental allocation issue in variation operators which were
taking too much time for big population sizes taking too much time for big population sizes
- new class eoParallel enabling parallelization in EO using OpenMP. At this - new class eoParallel enabling parallelization in EO using OpenMP. At this
time, it only concerns the evaluation operator, for advanced details go to time, it only concerns the evaluation operator, for advanced details go to
@ -9,6 +11,8 @@
- script installing EO manually in using symbolic links - script installing EO manually in using symbolic links
- evaluators that throw an exception if a maximum time has been reached - evaluators that throw an exception if a maximum time has been reached
(wallclock and CPU user time for POSIX systems), independently of the number of generations (wallclock and CPU user time for POSIX systems), independently of the number of generations
- merged parser and parser-logger
- some bugfixes for windows systems
* release 1.1 (8. Nov. 2010) * release 1.1 (8. Nov. 2010)
- provide cmake build system, remove the old autotools one - provide cmake build system, remove the old autotools one

4
eo/package_nsis.bat Normal file
View file

@ -0,0 +1,4 @@
cd release
cpack -G NSIS
cd ..
pause

View file

@ -85,35 +85,35 @@ void apply(eoUF<EOT&, void>& _proc, std::vector<EOT>& _pop)
@ingroup Utilities @ingroup Utilities
*/ */
template <class EOT> // template <class EOT>
void omp_apply(eoUF<EOT&, void>& _proc, std::vector<EOT>& _pop) // void omp_apply(eoUF<EOT&, void>& _proc, std::vector<EOT>& _pop)
{ // {
size_t size = _pop.size(); // size_t size = _pop.size();
#pragma omp parallel for if(eo::parallel.isEnabled()) // #pragma omp parallel for if(eo::parallel.isEnabled())
//doesnot work with gcc 4.1.2 // //doesnot work with gcc 4.1.2
//default(none) shared(_proc, _pop, size) // //default(none) shared(_proc, _pop, size)
for (size_t i = 0; i < size; ++i) // for (size_t i = 0; i < size; ++i)
{ // {
_proc(_pop[i]); // _proc(_pop[i]);
} // }
} // }
/** /**
And now we are using the dynamic scheduling. And now we are using the dynamic scheduling.
@ingroup Utilities @ingroup Utilities
*/ */
template <class EOT> // template <class EOT>
void omp_dynamic_apply(eoUF<EOT&, void>& _proc, std::vector<EOT>& _pop) // void omp_dynamic_apply(eoUF<EOT&, void>& _proc, std::vector<EOT>& _pop)
{ // {
size_t size = _pop.size(); // size_t size = _pop.size();
#pragma omp parallel for if(eo::parallel.isEnabled()) schedule(dynamic) // #pragma omp parallel for if(eo::parallel.isEnabled()) schedule(dynamic)
//doesnot work with gcc 4.1.2 // //doesnot work with gcc 4.1.2
//default(none) shared(_proc, _pop, size) // //default(none) shared(_proc, _pop, size)
for (size_t i = 0; i < size; ++i) // for (size_t i = 0; i < size; ++i)
{ // {
_proc(_pop[i]); // _proc(_pop[i]);
} // }
} // }
#endif #endif

View file

@ -48,6 +48,7 @@ SET(EO_SOURCES
# shared library # shared library
ADD_LIBRARY(PyEO MODULE ${SOURCES} ${EO_SOURCES}) ADD_LIBRARY(PyEO MODULE ${SOURCES} ${EO_SOURCES})
INSTALL(TARGETS PyEO LIBRARY DESTINATION lib COMPONENT libraries)
# python 2.5 must have pyd # python 2.5 must have pyd
IF(WIN32 AND NOT CYGWIN) IF(WIN32 AND NOT CYGWIN)

View file

@ -32,6 +32,7 @@
#include <algorithm> #include <algorithm>
#include <fstream> #include <fstream>
#include <iomanip> #include <iomanip>
#include <cctype>
#include <utils/compatibility.h> #include <utils/compatibility.h>
@ -49,7 +50,22 @@ std::ostream& printSectionHeader(std::ostream& os, std::string section)
if (section == "") if (section == "")
section = "General"; section = "General";
os << '\n' << setw(10) << "###### " << setw(20) << section << setw(10) << " ######\n"; // convert each character to upper case
std::transform( section.begin(), section.end(), section.begin(), ::toupper);
// the formating with setfill would not permits to add this extra space as
// one more call to stream operator, thus it is inserted here
section += ' ';
// pretty print so as to print the section, followed by as many # as
// necessary to fill the line until 80 characters
os << std::endl
<< "### "
<< std::left
<< std::setfill('#')
<< std::setw(80) // TODO do not hard code the width of the line
<< section
<< std::endl;
return os; return os;
} }
@ -331,11 +347,11 @@ void eoParser::printHelp(ostream& os)
if (p->second->shortName()) if (p->second->shortName())
os << "-" << p->second->shortName() << ", "; os << "-" << p->second->shortName() << ", ";
os << "--" <<p->second->longName() <<":\t" os << "--" <<p->second->longName() <<" :\t"
<< p->second->description() ; << p->second->description() ;
os << "\n" << setw(20) << ( (p->second->required())?"Required":"Optional" ); os << " (" << ( (p->second->required())?"required":"optional" );
os <<". By default: "<<p->second->defValue() << '\n'; os <<", default: "<< p->second->defValue() << ')' << std::endl;
} // for p } // for p
os << "\n@param_file \t defines a file where the parameters are stored\n"; os << "\n@param_file \t defines a file where the parameters are stored\n";

View file

@ -30,6 +30,7 @@
<ul> <ul>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=9775">Download</a></li> <li><a href="http://sourceforge.net/project/showfiles.php?group_id=9775">Download</a></li>
<li><a href="http://eodev.sourceforge.net/eo/tutorial/html/eoTutorial.html">Tutorial</a></li> <li><a href="http://eodev.sourceforge.net/eo/tutorial/html/eoTutorial.html">Tutorial</a></li>
<li><a href="https://sourceforge.net/apps/trac/eodev/wiki/faq">FAQ</a></li>
<li><a href="http://eodev.sourceforge.net/eo/doc/html/index.html">API documentation</a></li> <li><a href="http://eodev.sourceforge.net/eo/doc/html/index.html">API documentation</a></li>
<li><a href="http://sourceforge.net/project/?group_id=9775">Project page</a></li> <li><a href="http://sourceforge.net/project/?group_id=9775">Project page</a></li>
<li><a href="http://chat.jabberfr.org/muckl_int/index.php?room=eo">Chat with us</a></li> <li><a href="http://chat.jabberfr.org/muckl_int/index.php?room=eo">Chat with us</a></li>