dummy merge
This commit is contained in:
commit
4e0a6fdeff
4 changed files with 373 additions and 329 deletions
|
|
@ -21,8 +21,8 @@
|
|||
Contact: http://eodev.sourceforge.net
|
||||
|
||||
Authors:
|
||||
Johann Dréo <johann.dreo@thalesgroup.com>
|
||||
Caner Candan <caner.candan@thalesgroup.com>
|
||||
Johann Dréo <johann.dreo@thalesgroup.com>
|
||||
Caner Candan <caner.candan@thalesgroup.com>
|
||||
|
||||
*/
|
||||
|
||||
|
|
@ -40,17 +40,7 @@ Authors:
|
|||
|
||||
#include "eoLogger.h"
|
||||
|
||||
eoLogger::eoLogger() :
|
||||
std::ostream(&_obuf),
|
||||
|
||||
_verbose("quiet", "verbose", "Set the verbose level", 'v'),
|
||||
_printVerboseLevels(false, "print-verbose-levels", "Print verbose levels", 'l'),
|
||||
_output("", "output", "Redirect a standard output to a file", 'o'),
|
||||
|
||||
_selectedLevel(eo::progress),
|
||||
_contextLevel(eo::quiet),
|
||||
_fd(2),
|
||||
_obuf(_fd, _contextLevel, _selectedLevel)
|
||||
void eoLogger::_init()
|
||||
{
|
||||
_standard_io_streams[&std::cout] = 1;
|
||||
_standard_io_streams[&std::clog] = 2;
|
||||
|
|
@ -67,6 +57,37 @@ eoLogger::eoLogger() :
|
|||
addLevel("xdebug", eo::xdebug);
|
||||
}
|
||||
|
||||
eoLogger::eoLogger() :
|
||||
std::ostream(&_obuf),
|
||||
|
||||
_verbose("quiet", "verbose", "Set the verbose level", 'v'),
|
||||
_printVerboseLevels(false, "print-verbose-levels", "Print verbose levels", 'l'),
|
||||
_output("", "output", "Redirect a standard output to a file", 'o'),
|
||||
|
||||
_selectedLevel(eo::progress),
|
||||
_contextLevel(eo::quiet),
|
||||
_fd(2),
|
||||
_obuf(_fd, _contextLevel, _selectedLevel)
|
||||
{
|
||||
_init();
|
||||
}
|
||||
|
||||
eoLogger::eoLogger(eo::file file) :
|
||||
std::ostream(&_obuf),
|
||||
|
||||
_verbose("quiet", "verbose", "Set the verbose level", 'v'),
|
||||
_printVerboseLevels(false, "print-verbose-levels", "Print verbose levels", 'l'),
|
||||
_output("", "output", "Redirect a standard output to a file", 'o'),
|
||||
|
||||
_selectedLevel(eo::progress),
|
||||
_contextLevel(eo::quiet),
|
||||
_fd(2),
|
||||
_obuf(_fd, _contextLevel, _selectedLevel)
|
||||
{
|
||||
_init();
|
||||
*this << file;
|
||||
}
|
||||
|
||||
eoLogger::~eoLogger()
|
||||
{
|
||||
if (_fd > 2) { ::close(_fd); }
|
||||
|
|
@ -99,7 +120,7 @@ void eoLogger::_createParameters( eoParser& parser )
|
|||
|
||||
|
||||
//------------------------------------------------------------------
|
||||
// // we're gonna print the list of levels if -l parameter is used.
|
||||
// we're gonna print the list of levels if -l parameter is used.
|
||||
//------------------------------------------------------------------
|
||||
|
||||
if ( _printVerboseLevels.value() )
|
||||
|
|
@ -195,7 +216,6 @@ namespace eo
|
|||
{}
|
||||
}
|
||||
|
||||
//! make_verbose gets level of verbose and sets it in eoLogger
|
||||
void make_verbose(eoParser& parser)
|
||||
{
|
||||
eo::log._createParameters( parser );
|
||||
|
|
|
|||
|
|
@ -142,12 +142,20 @@ class eoLogger : public eoObject,
|
|||
public std::ostream
|
||||
{
|
||||
public:
|
||||
//! default ctor
|
||||
eoLogger();
|
||||
|
||||
//! overidded ctor in order to instanciate a logger with a file define in parameter
|
||||
eoLogger(eo::file file);
|
||||
|
||||
//! dtor
|
||||
~eoLogger();
|
||||
|
||||
//! common function for all eo objects
|
||||
virtual std::string className() const;
|
||||
|
||||
//! Print the available levels on the standard output
|
||||
//! enablable with the option -l
|
||||
void printLevels() const;
|
||||
|
||||
/*! Returns the selected levels, that is the one asked by the user
|
||||
|
|
@ -163,11 +171,16 @@ public:
|
|||
inline eo::Levels getLevelContext() const { return _contextLevel; }
|
||||
|
||||
protected:
|
||||
//! in order to add a level of verbosity
|
||||
void addLevel(std::string name, eo::Levels level);
|
||||
|
||||
private:
|
||||
//! used by the function make_verbose in order to add options to specify the verbose level
|
||||
void _createParameters( eoParser& );
|
||||
|
||||
//! used by the set of ctors to initiate some useful variables
|
||||
void _init();
|
||||
|
||||
private:
|
||||
/**
|
||||
* outbuf
|
||||
|
|
@ -195,21 +208,26 @@ public:
|
|||
/**
|
||||
* operator<< used there to set a verbose mode.
|
||||
*/
|
||||
//! in order to use stream style to define the context verbose level where the following logs will be saved
|
||||
friend eoLogger& operator<<(eoLogger&, const eo::Levels);
|
||||
|
||||
/**
|
||||
* operator<< used there to set a filename through the class file.
|
||||
*/
|
||||
//! in order to use stream style to define a file to dump instead the standart output
|
||||
friend eoLogger& operator<<(eoLogger&, eo::file);
|
||||
|
||||
/**
|
||||
* operator<< used there to set a verbose level through the class setlevel.
|
||||
*/
|
||||
//! in order to use stream style to define manually the verbose level instead using options
|
||||
friend eoLogger& operator<<(eoLogger&, eo::setlevel);
|
||||
|
||||
/**
|
||||
* operator<< used there to be able to use std::cout to say that we wish to redirect back the buffer to a standard output.
|
||||
*/
|
||||
//! in order to use stream style to go back to a standart output defined by STL
|
||||
//! and to get retro-compatibility
|
||||
friend eoLogger& operator<<(eoLogger&, std::ostream&);
|
||||
|
||||
private:
|
||||
|
|
@ -254,6 +272,7 @@ private:
|
|||
/** @example t-eoLogger.cpp
|
||||
*/
|
||||
|
||||
//! make_verbose gets level of verbose and sets it in eoLogger
|
||||
void make_verbose(eoParser&);
|
||||
|
||||
namespace eo
|
||||
|
|
|
|||
|
|
@ -1,25 +1,36 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
||||
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<head>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/HTML; charset=utf-8" />
|
||||
<meta name=" robot" content="follow, index, all" />
|
||||
<meta name="author" content="EO development team">
|
||||
<meta name="keywords" content="Class libraries, evolutionary computation, evolution strategies, genetic algorithms, genetic programming, simulated annealing, C++">
|
||||
<meta name="resource-type" content="document">
|
||||
<meta name="distribution" content="Global">
|
||||
<meta name="author" content="EO development team" />
|
||||
<meta name="keywords" content="Class libraries, evolutionary computation, evolution strategies, genetic algorithms, genetic programming, simulated annealing, C++" />
|
||||
<meta name="resource-type" content="document" />
|
||||
<meta name="distribution" content="Global" />
|
||||
|
||||
<link rel="icon" type="image/png" href="eo_ico.png" />
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="lightblue.css" title="Default" />
|
||||
|
||||
<title>Evolving Objects (EO): Evolutionary Computation Framework</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="https://static.jappix.com/php/get.php?l=fr&t=js&g=mini.xml"></script>
|
||||
|
||||
<div id="alt">
|
||||
<script type="text/javascript">
|
||||
jQuery(document).ready(function() {
|
||||
MINI_GROUPCHATS = ["eo@chat.jabberfr.org"];
|
||||
MINI_ANIMATE = true;
|
||||
launchMini(false, true, "anonymous.jappix.com");
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="alt">
|
||||
<img style="clear:left;" src="eo_logo.png" alt="Evolving Objects logo" />
|
||||
<div id="menu">
|
||||
<p>C++ evolutionary computation components framework</p>
|
||||
|
|
@ -63,7 +74,7 @@
|
|||
</li>
|
||||
<li>
|
||||
<ol>
|
||||
<a href="#Development">Development</a></li>
|
||||
<lh><a href="#Development">Development</a></lh>
|
||||
<li><a href="#Mailing-lists">Mailing-lists</a></li>
|
||||
<li><a href="#Get-involved">Get involved</a></li>
|
||||
<li><a href="#Related-software">Related software</a></li>
|
||||
|
|
@ -184,10 +195,7 @@
|
|||
<br />
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
|
||||
<h1><a name="Features"></a>Features <a href="#Plan">⤒</a></h1>
|
||||
<h1><a name="Features"></a>Features <a href="#Plan">⤒</a></h1>
|
||||
|
||||
<h2><a name="Component-based"></a>Component-based framework</h2>
|
||||
|
||||
|
|
@ -245,9 +253,9 @@
|
|||
</li>
|
||||
<li>Ready-to-use variations operators:
|
||||
<ul>
|
||||
<li>uniform initializer,
|
||||
<li>gaussian mutation,
|
||||
<li>subtree crossover,
|
||||
<li>uniform initializer,</li>
|
||||
<li>gaussian mutation,</li>
|
||||
<li>subtree crossover,</li>
|
||||
<li>…</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
|
@ -287,7 +295,7 @@
|
|||
<li>Linux x86_64 with GCC 3.x and GCC 4.x</li>
|
||||
<li>MacOS X/Darwin PowerPC with GCC 3.x</li>
|
||||
<li>MacOS X/Darwin x86 with GCC 4.x</li>
|
||||
<li>Microsoft Windows using Cygwin's GCC 3.x (cygming special).
|
||||
<li>Microsoft Windows using Cygwin's GCC 3.x (cygming special).</li>
|
||||
<li>Microsoft Windows using Visual Studio 2003/2005; projects files
|
||||
are provided.</li>
|
||||
<li>Solaris SPARC with GCC 3.x</li>
|
||||
|
|
@ -296,8 +304,7 @@
|
|||
|
||||
<p>Recent versions of EO uses the <a href="http://www.cmake.org">CMake</a> portable build system, that permits to easily generate a build chain for your environment.</p>
|
||||
|
||||
<p> If you have tested EO on a system not listed here, please <a
|
||||
href="mailto:eodev-main@lists.sourceforge.net?subject=test-report">let
|
||||
<p> If you have tested EO on a system not listed here, please <a href="mailto:eodev-main@lists.sourceforge.net?subject=test-report">let
|
||||
us know</a>. </p>
|
||||
|
||||
<p> If you are working on a system with an older C++ compiler there
|
||||
|
|
@ -307,14 +314,12 @@
|
|||
|
||||
<h2><a name="Presentations"></a>Presentations</h2>
|
||||
|
||||
<p> A functional and "philosophical" overview of EO was presented at <a
|
||||
href="http://www.cmap.polytechnique.fr/%7Eea01/">EA'01 conference</a>.
|
||||
You can download <a
|
||||
href="http://eodev.sourceforge.net/eo/doc/EO_EA2001.pdf">the paper</a>
|
||||
<p> A functional and "philosophical" overview of EO was presented at <a href="http://www.cmap.polytechnique.fr/%7Eea01/">EA'01 conference</a>.
|
||||
You can download <a href="http://eodev.sourceforge.net/eo/doc/EO_EA2001.pdf">the paper</a>
|
||||
or <a href="http://eodev.sourceforge.net/eo/doc/LeCreusot.pdf">the
|
||||
slides</a>, or browse them right here:</p>
|
||||
|
||||
<div style="text-align:center;" id="__ss_4878872"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/nojhan/evolving-objects-yet-another-evolutionary-computation-library" title="Evolving Objects: Yet Another Evolutionary Computation Library?">Evolving Objects: Yet Another Evolutionary Computation Library?</a></strong><object id="__sse4878872" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=lecreusot-100731121355-phpapp01&stripped_title=evolving-objects-yet-another-evolutionary-computation-library" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse4878872" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=lecreusot-100731121355-phpapp01&stripped_title=evolving-objects-yet-another-evolutionary-computation-library" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></div>
|
||||
<div style="text-align:center;" id="__ss_4878872"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/nojhan/evolving-objects-yet-another-evolutionary-computation-library" title="Evolving Objects: Yet Another Evolutionary Computation Library?">Evolving Objects: Yet Another Evolutionary Computation Library?</a></strong><object id="__sse4878872" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=lecreusot-100731121355-phpapp01&stripped_title=evolving-objects-yet-another-evolutionary-computation-library" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse4878872" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=lecreusot-100731121355-phpapp01&stripped_title=evolving-objects-yet-another-evolutionary-computation-library" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></div>
|
||||
|
||||
|
||||
<p>You can also read this <a href="http://geneura.ugr.es/~jmerelo/GAPPT/index.html">
|
||||
|
|
@ -329,28 +334,28 @@
|
|||
library",</a> <i>Artificial Evolution</i>, <b>2310</b>, 829--888 (2002).</blockquote>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<font face="monospace">
|
||||
@<font color="#0000ff">Article</font>{<font color="#ff00ff">Keijzer2001</font>,<br>
|
||||
<font color="#a52a2a">title</font> = "Evolving Objects: A General Purpose Evolutionary Computation Library ",<br>
|
||||
<font color="#a52a2a">author</font> = "Maarten Keijzer and J. J. Merelo and G. Romero and M. Schoenauer",<br>
|
||||
<font color="#a52a2a">journal</font> = "Artificial Evolution",<br>
|
||||
<font color="#a52a2a">year</font> = "2002",<br>
|
||||
<font color="#a52a2a">volume</font> = "2310",<br>
|
||||
<font color="#a52a2a">pages</font> = "829--888",<br>
|
||||
<font color="#a020f0">keywords</font> = "genetic algorithms, genetic programming, evolutionary computation, metaheuristic, computational intelligence, optimization",<br>
|
||||
<font color="#a020f0">URL</font> = "<a href="http://www.lri.fr/~marc/EO/EO-EA01.ps.gz">http://www.lri.fr/~marc/EO/EO-EA01.ps.gz</a>",<br>
|
||||
<font color="#ff00ff">size</font> = "12 pages",<br>
|
||||
<font color="#a020f0">abstract</font> = "This paper presents the evolving objects library<br>
|
||||
(EOlib), an object-oriented framework for evolutionary<br>
|
||||
computation (EC) that aims to provide a flexible set of<br>
|
||||
classes to build EC applications. EOlib design<br>
|
||||
objective is to be able to evolve any object in which<br>
|
||||
fitness makes sense.",<br>
|
||||
}<br>
|
||||
<br>
|
||||
</font>
|
||||
</p>
|
||||
<p>
|
||||
<font face="monospace">
|
||||
@<font color="#0000ff">Article</font>{<font color="#ff00ff">Keijzer2001</font>,<br/>
|
||||
<font color="#a52a2a">title</font> = "Evolving Objects: A General Purpose Evolutionary Computation Library ",<br/>
|
||||
<font color="#a52a2a">author</font> = "Maarten Keijzer and J. J. Merelo and G. Romero and M. Schoenauer",<br/>
|
||||
<font color="#a52a2a">journal</font> = "Artificial Evolution",<br/>
|
||||
<font color="#a52a2a">year</font> = "2002",<br/>
|
||||
<font color="#a52a2a">volume</font> = "2310",<br/>
|
||||
<font color="#a52a2a">pages</font> = "829--888",<br/>
|
||||
<font color="#a020f0">keywords</font> = "genetic algorithms, genetic programming, evolutionary computation, metaheuristic, computational intelligence, optimization",<br/>
|
||||
<font color="#a020f0">URL</font> = "<a href="http://www.lri.fr/~marc/EO/EO-EA01.ps.gz">http://www.lri.fr/~marc/EO/EO-EA01.ps.gz</a>",<br/>
|
||||
<font color="#ff00ff">size</font> = "12 pages",<br/>
|
||||
<font color="#a020f0">abstract</font> = "This paper presents the evolving objects library<br/>
|
||||
(EOlib), an object-oriented framework for evolutionary<br/>
|
||||
computation (EC) that aims to provide a flexible set of<br/>
|
||||
classes to build EC applications. EOlib design<br/>
|
||||
objective is to be able to evolve any object in which<br/>
|
||||
fitness makes sense.",<br/>
|
||||
}<br/>
|
||||
<br/>
|
||||
</font>
|
||||
</p>
|
||||
|
||||
<p>Here is a list of some known publications that used EO:</p>
|
||||
<ul class="publications">
|
||||
|
|
@ -367,7 +372,7 @@
|
|||
|
||||
|
||||
|
||||
<h1><a name="Code"></a>Code <a href="#Plan">⤒</a></h1>
|
||||
<h1><a name="Code"></a>Code <a href="#Plan">⤒</a></h1>
|
||||
|
||||
<h2><a name="Download"></a>Download</h2>
|
||||
|
||||
|
|
@ -443,7 +448,7 @@
|
|||
detail.</p>
|
||||
|
||||
|
||||
<h1><a name="Development"></a>Development <a href="#Plan">⤒</a></h1>
|
||||
<h1><a name="Development"></a>Development <a href="#Plan">⤒</a></h1>
|
||||
|
||||
<h2><a name="Mailing-lists"></a>Mailing-lists</h2>
|
||||
|
||||
|
|
@ -461,10 +466,10 @@
|
|||
<li> <a href="http://sourceforge.net/project/?group_id=9775">EO
|
||||
SourceForge Project Page</a></li>
|
||||
<li><a href="http://eodev.sourceforge.net/eo/doc/html/index.html">EO
|
||||
automatic documentation page at SF</a><br>
|
||||
automatic documentation page at SF</a><br/>
|
||||
</li>
|
||||
<li><a href="http://eodev.sourceforge.net/eo/tutorial/html/eoTutorial.html">EO
|
||||
tutorial page at SF</a><br>
|
||||
tutorial page at SF</a><br/>
|
||||
</li>
|
||||
<li> <a href="https://sourceforge.net/project/showfiles.php?group_id=9775">Releases</a></li>
|
||||
<li> <a href="http://sourceforge.net/mail/?group_id=9775">Mailing Lists</a></li>
|
||||
|
|
@ -537,19 +542,19 @@
|
|||
</div> <!-- id=main -->
|
||||
|
||||
|
||||
<!-- Piwik -->
|
||||
<script type="text/javascript">
|
||||
var pkBaseURL = (("https:" == document.location.protocol) ? "https://sourceforge.net/apps/piwik/eodev/" : "http://sourceforge.net/apps/piwik/eodev/");
|
||||
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
|
||||
</script><script type="text/javascript">
|
||||
try {
|
||||
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 1);
|
||||
piwikTracker.trackPageView();
|
||||
piwikTracker.enableLinkTracking();
|
||||
} catch( err ) {}
|
||||
</script><noscript><p><img src="http://sourceforge.net/apps/piwik/eodev/piwik.php?idsite=1" style="border:0" alt=""/></p></noscript>
|
||||
<!-- End Piwik Tag -->
|
||||
<!-- Piwik -->
|
||||
<script type="text/javascript">
|
||||
var pkBaseURL = (("https:" == document.location.protocol) ? "https://sourceforge.net/apps/piwik/eodev/" : "http://sourceforge.net/apps/piwik/eodev/");
|
||||
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
|
||||
</script><script type="text/javascript">
|
||||
try {
|
||||
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 1);
|
||||
piwikTracker.trackPageView();
|
||||
piwikTracker.enableLinkTracking();
|
||||
} catch( err ) {}
|
||||
</script><noscript><p><img src="http://sourceforge.net/apps/piwik/eodev/piwik.php?idsite=1" style="border:0" alt=""/></p></noscript>
|
||||
<!-- End Piwik Tag -->
|
||||
|
||||
|
||||
</body>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
/***************************************************************************
|
||||
* *
|
||||
* contented3 - An open source xhtml/css website template by Contented *
|
||||
* Designs. You're free to modify it and use it for any purpose without *
|
||||
* cost or obligation. We'd prefer that you leave the link to our website *
|
||||
* in the footer but it's not required. *
|
||||
* *
|
||||
* If you have comments or questions, please contact us at *
|
||||
* http://www.ContentedDesigns.com. Thanks! *
|
||||
* *
|
||||
***************************************************************************/
|
||||
/****************************************************************************
|
||||
* *
|
||||
* contented3 - An open source xhtml/css website template by Contented *
|
||||
* Designs. You're free to modify it and use it for any purpose without *
|
||||
* cost or obligation. We'd prefer that you leave the link to our website *
|
||||
* in the footer but it's not required. *
|
||||
* *
|
||||
* If you have comments or questions, please contact us at *
|
||||
* http://www.ContentedDesigns.com. Thanks! *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
* {
|
||||
padding:0px;
|
||||
|
|
@ -170,7 +170,7 @@ ul#menu {
|
|||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
/*width:650px;*/
|
||||
/*width:650px;*/
|
||||
}
|
||||
|
||||
ul#menu li {
|
||||
|
|
@ -248,10 +248,10 @@ ul#menu a.selected:visited { background: #3366CC; color: #FFFFFF; }
|
|||
font-weight:bold;
|
||||
}
|
||||
|
||||
.table_form_label {
|
||||
.table_form_label {
|
||||
text-align:right;
|
||||
padding-right:1em;
|
||||
}
|
||||
}
|
||||
|
||||
.table_form_submit {
|
||||
text-align:center;
|
||||
|
|
|
|||
Reference in a new issue