//-----------------------------------------------------------------------------
// 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_

// some defines to make things easier to get at first sight

// tunigni the amount of output using a boolean argument: 
// true should always mean more output
#define eo_verbose true
#define eo_no_verbose false
// to be used in selection / replacement procedures to indicate whether 
// the argument (rate, a double) shoudl be treated as a rate (number=rate*popSize)
// or as an absolute integer (number=rate regardless of popsize).
// the default value shoudl ALWAYS be true (eo_as_a_rate).
//
// this construct is mandatory because in some cases you might not know the 
// population size that will enter the replacement for instance - so you 
// cannot simply have a pre-computed (double) rate of 1/popSize
#define eo_is_a_rate true
#define eo_is_an_integer false
//-----------------------------------------------------------------------------

#include <utils/eoData.h>
#include <eoObject.h>
#include <eoPrintable.h>
#include <eoPersistent.h>
#include <eoScalarFitness.h>
#include <EO.h>

#include <utils/rnd_generators.h>
#include <eoFunctor.h>
#include <apply.h>

// eo's
#include <eoVector.h>

#include <other/eoString.h>

#include <utils/eoRndGenerators.h>
#include <eoInit.h>

#include <eoOp.h>

#include <eoPop.h>

// Evaluation functions
#include <eoEvalFunc.h>
#include <eoEvalFuncPtr.h>

// Continuators - all include eoContinue.h
#include <eoCombinedContinue.h>
#include <eoGenContinue.h>
#include <eoSteadyFitContinue.h>
#include <eoFitContinue.h>

// Selection 
// the eoSelectOne's
#include <eoRandomSelect.h>	// also contains the eoSequentialSelect
#include <eoDetTournamentSelect.h>
#include <eoProportionalSelect.h>
#include <eoFitnessScalingSelect.h>
#include <eoRankingSelect.h>
#include <eoStochTournamentSelect.h>
// the batch selection - from an eoSelectOne
#include <eoSelectPerc.h>
#include <eoSelectNumber.h>
#include <eoSelectMany.h>
// other batch selections 
// DetSelect probably shoudl be turned into an eoSelectOne 
// (using setup and an index)
#include <eoDetSelect.h>


// Replacement
// #include <eoReplacement.h>
#include <eoMergeReduce.h>
#include <eoReduceMerge.h>
#include <eoSurviveAndDie.h>

// Variation
#include <eoProportionalCombinedOp.h>

// a simple transformer
#include <eoSGATransform.h>

// Algorithms
#include <eoEasyEA.h>
#include <eoSGA.h>
// #include <eoEvolutionStrategy.h>   removed for a while - until eoGenOp is done

// Utils
#include <utils/checkpointing>

// aliens
#include <eoCounter.h>

//-----------------------------------------------------------------------------
// to be continued ...
//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------

#endif _eo_

// Local Variables:
// mode: C++
// End:
