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`
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
#####################################################################################
FIND_PACKAGE(OpenMP REQUIRED)
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}")

View file

@ -1,7 +1,7 @@
In order to create a new release from the current repository, perform the
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
- Check/update NEWS file, set release date and version in NEWS.
- use the "archive_current.sh" script to create the source archive
@ -11,3 +11,35 @@ following steps:
- Send announcement to mailing lists
- 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:
cpack -G DEB
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

View file

@ -1,5 +1,7 @@
* release 1.2 (10. May. 2011)
- fixed the incremental allocation issue in the variation operator which were
* current version
* release 1.2 (16. May. 2011)
- fixed the incremental allocation issue in variation operators which were
taking too much time for big population sizes
- new class eoParallel enabling parallelization in EO using OpenMP. At this
time, it only concerns the evaluation operator, for advanced details go to
@ -9,6 +11,8 @@
- script installing EO manually in using symbolic links
- 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
- merged parser and parser-logger
- some bugfixes for windows systems
* release 1.1 (8. Nov. 2010)
- 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
*/
template <class EOT>
void omp_apply(eoUF<EOT&, void>& _proc, std::vector<EOT>& _pop)
{
size_t size = _pop.size();
#pragma omp parallel for if(eo::parallel.isEnabled())
//doesnot work with gcc 4.1.2
//default(none) shared(_proc, _pop, size)
for (size_t i = 0; i < size; ++i)
{
_proc(_pop[i]);
}
}
// template <class EOT>
// void omp_apply(eoUF<EOT&, void>& _proc, std::vector<EOT>& _pop)
// {
// size_t size = _pop.size();
// #pragma omp parallel for if(eo::parallel.isEnabled())
// //doesnot work with gcc 4.1.2
// //default(none) shared(_proc, _pop, size)
// for (size_t i = 0; i < size; ++i)
// {
// _proc(_pop[i]);
// }
// }
/**
And now we are using the dynamic scheduling.
@ingroup Utilities
*/
template <class EOT>
void omp_dynamic_apply(eoUF<EOT&, void>& _proc, std::vector<EOT>& _pop)
{
size_t size = _pop.size();
#pragma omp parallel for if(eo::parallel.isEnabled()) schedule(dynamic)
//doesnot work with gcc 4.1.2
//default(none) shared(_proc, _pop, size)
for (size_t i = 0; i < size; ++i)
{
_proc(_pop[i]);
}
}
// template <class EOT>
// void omp_dynamic_apply(eoUF<EOT&, void>& _proc, std::vector<EOT>& _pop)
// {
// size_t size = _pop.size();
// #pragma omp parallel for if(eo::parallel.isEnabled()) schedule(dynamic)
// //doesnot work with gcc 4.1.2
// //default(none) shared(_proc, _pop, size)
// for (size_t i = 0; i < size; ++i)
// {
// _proc(_pop[i]);
// }
// }
#endif

View file

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

View file

@ -32,6 +32,7 @@
#include <algorithm>
#include <fstream>
#include <iomanip>
#include <cctype>
#include <utils/compatibility.h>
@ -49,7 +50,22 @@ std::ostream& printSectionHeader(std::ostream& os, std::string section)
if (section == "")
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;
}
@ -331,11 +347,11 @@ void eoParser::printHelp(ostream& os)
if (p->second->shortName())
os << "-" << p->second->shortName() << ", ";
os << "--" <<p->second->longName() <<":\t"
os << "--" <<p->second->longName() <<" :\t"
<< p->second->description() ;
os << "\n" << setw(20) << ( (p->second->required())?"Required":"Optional" );
os <<". By default: "<<p->second->defValue() << '\n';
os << " (" << ( (p->second->required())?"required":"optional" );
os <<", default: "<< p->second->defValue() << ')' << std::endl;
} // for p
os << "\n@param_file \t defines a file where the parameters are stored\n";

View file

@ -30,6 +30,7 @@
<ul>
<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="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://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>