From 39cd826ea3d2153e458f11dc7e712b06e20df0d4 Mon Sep 17 00:00:00 2001 From: legrand Date: Mon, 8 Oct 2007 09:26:25 +0000 Subject: [PATCH] new design for the doc and the sources: licence ... git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@661 331e1502-861f-0410-8da2-ba01fb791d7f --- trunk/paradiseo-peo/README | 7 +- trunk/paradiseo-peo/doc/html/annotated.html | 23 +- .../doc/html/classCommunicable-members.html | 4 +- .../doc/html/classCommunicable.html | 32 +- .../doc/html/classCommunicable.png | Bin 3267 -> 4386 bytes .../doc/html/classCommunicator-members.html | 4 +- .../doc/html/classCommunicator.html | 6 +- .../doc/html/classCooperative-members.html | 4 +- .../doc/html/classCooperative.html | 6 +- .../doc/html/classReactiveThread-members.html | 4 +- .../doc/html/classReactiveThread.html | 6 +- .../doc/html/classRingTopology-members.html | 4 +- .../doc/html/classRingTopology.html | 6 +- .../doc/html/classRunner-members.html | 4 +- trunk/paradiseo-peo/doc/html/classRunner.html | 13 +- trunk/paradiseo-peo/doc/html/classRunner.png | Bin 649 -> 996 bytes .../doc/html/classService-members.html | 4 +- .../paradiseo-peo/doc/html/classService.html | 23 +- trunk/paradiseo-peo/doc/html/classService.png | Bin 2032 -> 2743 bytes .../doc/html/classThread-members.html | 4 +- trunk/paradiseo-peo/doc/html/classThread.html | 17 +- trunk/paradiseo-peo/doc/html/classThread.png | Bin 982 -> 1445 bytes .../doc/html/classTopology-members.html | 4 +- .../paradiseo-peo/doc/html/classTopology.html | 6 +- .../doc/html/classWorker-members.html | 4 +- trunk/paradiseo-peo/doc/html/classWorker.html | 6 +- trunk/paradiseo-peo/doc/html/classes.html | 26 +- .../doc/html/classpeoAggEvalFunc-members.html | 12 +- .../doc/html/classpeoAggEvalFunc.html | 13 +- .../doc/html/classpeoAggEvalFunc.png | Bin 965 -> 1346 bytes .../html/classpeoAsyncIslandMig-members.html | 17 +- .../doc/html/classpeoAsyncIslandMig.html | 56 +- .../doc/html/classpeoEA-members.html | 4 +- trunk/paradiseo-peo/doc/html/classpeoEA.html | 42 +- .../html/classpeoNoAggEvalFunc-members.html | 12 +- .../doc/html/classpeoNoAggEvalFunc.html | 10 +- .../doc/html/classpeoParaPopEval-members.html | 4 +- .../doc/html/classpeoParaPopEval.html | 56 +- .../classpeoParaSGATransform-members.html | 12 +- .../doc/html/classpeoParaSGATransform.html | 22 +- .../doc/html/classpeoPopEval-members.html | 4 +- .../doc/html/classpeoPopEval.html | 10 +- .../doc/html/classpeoSeqPopEval-members.html | 4 +- .../doc/html/classpeoSeqPopEval.html | 24 +- .../html/classpeoSeqTransform-members.html | 12 +- .../doc/html/classpeoSeqTransform.html | 32 +- .../html/classpeoSyncIslandMig-members.html | 17 +- .../doc/html/classpeoSyncIslandMig.html | 54 +- .../html/classpeoSyncMultiStart-members.html | 17 +- .../doc/html/classpeoSyncMultiStart.html | 72 +-- .../doc/html/classpeoTransform-members.html | 12 +- .../doc/html/classpeoTransform.html | 12 +- .../doc/html/comm_8cpp-source.html | 164 +++--- .../doc/html/comm_8h-source.html | 94 ++-- .../doc/html/communicable_8cpp-source.html | 162 +++--- .../doc/html/communicable_8h-source.html | 126 +++-- .../doc/html/coop_8cpp-source.html | 114 ++-- .../doc/html/cooperative_8h-source.html | 112 ++-- .../doc/html/core_2runner_8cpp-source.html | 226 ++++---- .../doc/html/core_2service_8cpp-source.html | 140 +++-- .../doc/html/eoPop__comm_8h-source.html | 96 ++-- .../doc/html/eoVector__comm_8h-source.html | 108 ++-- trunk/paradiseo-peo/doc/html/files.html | 71 ++- trunk/paradiseo-peo/doc/html/functions.html | 81 ++- .../doc/html/functions_func.html | 52 +- .../doc/html/functions_vars.html | 36 +- trunk/paradiseo-peo/doc/html/hierarchy.html | 42 +- trunk/paradiseo-peo/doc/html/index.html | 2 +- trunk/paradiseo-peo/doc/html/main.html | 15 +- .../doc/html/mess_8cpp-source.html | 494 +++++++++--------- .../doc/html/mess_8h-source.html | 94 ++-- .../doc/html/messaging_8h-source.html | 238 +++++---- .../doc/html/namespacemembers.html | 4 +- .../doc/html/namespacemembers_func.html | 4 +- .../doc/html/namespacemembers_vars.html | 4 +- .../paradiseo-peo/doc/html/namespacepeo.html | 4 +- trunk/paradiseo-peo/doc/html/namespaces.html | 6 +- .../doc/html/peoAggEvalFunc_8h-source.html | 72 ++- .../doc/html/peoAsyncIslandMig_8h-source.html | 340 ++++++------ .../doc/html/peoEA_8h-source.html | 222 ++++---- .../doc/html/peoNoAggEvalFunc_8h-source.html | 90 ++-- .../doc/html/peoParaPopEval_8h-source.html | 402 +++++++------- .../html/peoParaSGATransform_8h-source.html | 310 ++++++----- .../doc/html/peoPopEval_8h-source.html | 78 ++- .../doc/html/peoSeqPopEval_8h-source.html | 112 ++-- .../doc/html/peoSeqTransform_8h-source.html | 130 +++-- .../doc/html/peoSyncIslandMig_8h-source.html | 388 +++++++------- .../doc/html/peoSyncMultiStart_8h-source.html | 304 ++++++----- .../doc/html/peoTransform_8h-source.html | 76 ++- .../doc/html/peo__debug_8cpp-source.html | 176 ++++--- .../doc/html/peo__debug_8h-source.html | 76 ++- .../doc/html/peo__fin_8cpp-source.html | 80 ++- .../doc/html/peo__fin_8h-source.html | 66 ++- .../doc/html/peo__init_8cpp-source.html | 106 ++-- .../doc/html/peo__init_8h-source.html | 74 ++- .../doc/html/peo__param_8cpp-source.html | 82 ++- .../doc/html/peo__param_8h-source.html | 66 ++- .../doc/html/peo__run_8cpp-source.html | 70 ++- .../doc/html/peo__run_8h-source.html | 66 ++- .../doc/html/reac__thread_8cpp-source.html | 104 ++-- .../doc/html/reac__thread_8h-source.html | 102 ++-- .../doc/html/recv_8cpp-source.html | 256 +++++---- .../doc/html/recv_8h-source.html | 60 ++- .../doc/html/ring__topo_8cpp-source.html | 82 ++- .../doc/html/ring__topo_8h-source.html | 80 ++- .../html/rmc_2mpi_2runner_8cpp-source.html | 98 ++-- .../html/rmc_2mpi_2service_8cpp-source.html | 92 ++-- .../doc/html/rmc_8cpp-source.html | 122 +++-- .../paradiseo-peo/doc/html/rmc_8h-source.html | 68 ++- .../doc/html/runner_8h-source.html | 144 +++-- .../doc/html/scheduler_8cpp-source.html | 186 ++++--- .../doc/html/scheduler_8h-source.html | 96 ++-- .../doc/html/schema_8cpp-source.html | 292 ++++++----- .../doc/html/schema_8h-source.html | 108 ++-- trunk/paradiseo-peo/doc/html/search.idx | Bin 376206 -> 422353 bytes trunk/paradiseo-peo/doc/html/search.php | 2 +- .../doc/html/send_8cpp-source.html | 256 +++++---- .../doc/html/send_8h-source.html | 76 ++- .../doc/html/service_8h-source.html | 132 +++-- .../doc/html/structSEND__REQUEST-members.html | 4 +- .../doc/html/structSEND__REQUEST.html | 6 +- .../doc/html/tags_8h-source.html | 80 ++- .../doc/html/thread_8cpp-source.html | 182 ++++--- .../doc/html/thread_8h-source.html | 124 +++-- .../doc/html/topology_8cpp-source.html | 72 ++- .../doc/html/topology_8h-source.html | 98 ++-- trunk/paradiseo-peo/doc/html/tree.html | 144 ++++- .../doc/html/worker_8cpp-source.html | 216 ++++---- .../doc/html/worker_8h-source.html | 128 +++-- .../doc/html/xml__parser_8cpp-source.html | 180 ++++--- .../doc/html/xml__parser_8h-source.html | 76 ++- trunk/paradiseo-peo/doc/latex/annotated.tex | 17 +- .../doc/latex/classCommunicable.eps | 94 ++-- .../doc/latex/classCommunicable.tex | 4 +- .../doc/latex/classCommunicator.tex | 2 +- .../doc/latex/classCooperative.tex | 2 +- .../doc/latex/classReactiveThread.tex | 2 +- .../doc/latex/classRingTopology.tex | 2 +- trunk/paradiseo-peo/doc/latex/classRunner.eps | 14 +- trunk/paradiseo-peo/doc/latex/classRunner.tex | 2 +- .../paradiseo-peo/doc/latex/classService.eps | 38 +- .../paradiseo-peo/doc/latex/classService.tex | 4 +- trunk/paradiseo-peo/doc/latex/classThread.eps | 24 +- trunk/paradiseo-peo/doc/latex/classThread.tex | 4 +- .../paradiseo-peo/doc/latex/classTopology.tex | 2 +- trunk/paradiseo-peo/doc/latex/classWorker.tex | 2 +- .../doc/latex/classpeoAggEvalFunc.eps | 30 +- .../doc/latex/classpeoAggEvalFunc.tex | 2 +- .../doc/latex/classpeoAsyncIslandMig.tex | 6 +- trunk/paradiseo-peo/doc/latex/classpeoEA.tex | 6 +- .../doc/latex/classpeoNoAggEvalFunc.tex | 2 +- .../doc/latex/classpeoParaPopEval.tex | 20 +- .../doc/latex/classpeoParaSGATransform.tex | 2 +- .../doc/latex/classpeoPopEval.tex | 2 +- .../doc/latex/classpeoSeqPopEval.tex | 6 +- .../doc/latex/classpeoSeqTransform.tex | 6 +- .../doc/latex/classpeoSyncIslandMig.tex | 6 +- .../doc/latex/classpeoSyncMultiStart.tex | 20 +- .../doc/latex/classpeoTransform.tex | 2 +- trunk/paradiseo-peo/doc/latex/doxygen.sty | 4 +- trunk/paradiseo-peo/doc/latex/hierarchy.tex | 26 +- trunk/paradiseo-peo/doc/latex/main.tex | 9 +- trunk/paradiseo-peo/doc/latex/namespaces.tex | 2 +- trunk/paradiseo-peo/doc/latex/refman.tex | 29 +- .../doc/latex/structSEND__REQUEST.tex | 2 +- .../paradiseo-peo/doc/man/man3/Communicable.3 | 6 +- .../paradiseo-peo/doc/man/man3/Communicator.3 | 6 +- .../paradiseo-peo/doc/man/man3/Cooperative.3 | 6 +- .../doc/man/man3/ReactiveThread.3 | 6 +- .../paradiseo-peo/doc/man/man3/RingTopology.3 | 6 +- trunk/paradiseo-peo/doc/man/man3/Runner.3 | 8 +- .../paradiseo-peo/doc/man/man3/SEND_REQUEST.3 | 6 +- trunk/paradiseo-peo/doc/man/man3/Service.3 | 8 +- trunk/paradiseo-peo/doc/man/man3/Thread.3 | 6 +- trunk/paradiseo-peo/doc/man/man3/Topology.3 | 6 +- trunk/paradiseo-peo/doc/man/man3/Worker.3 | 6 +- trunk/paradiseo-peo/doc/man/man3/peo.3 | 4 +- .../doc/man/man3/peoAggEvalFunc.3 | 8 +- .../doc/man/man3/peoAsyncIslandMig.3 | 10 +- trunk/paradiseo-peo/doc/man/man3/peoEA.3 | 10 +- .../doc/man/man3/peoNoAggEvalFunc.3 | 6 +- .../doc/man/man3/peoParaPopEval.3 | 24 +- .../doc/man/man3/peoParaSGATransform.3 | 6 +- trunk/paradiseo-peo/doc/man/man3/peoPopEval.3 | 6 +- .../doc/man/man3/peoSeqPopEval.3 | 10 +- .../doc/man/man3/peoSeqTransform.3 | 10 +- .../doc/man/man3/peoSyncIslandMig.3 | 10 +- .../doc/man/man3/peoSyncMultiStart.3 | 24 +- .../paradiseo-peo/doc/man/man3/peoTransform.3 | 6 +- trunk/paradiseo-peo/src/peo | 38 +- trunk/paradiseo-peo/src/peo.h | 71 ++- trunk/paradiseo-peo/src/peoAggEvalFunc.h | 38 +- trunk/paradiseo-peo/src/peoAsyncIslandMig.h | 38 +- trunk/paradiseo-peo/src/peoEA.h | 38 +- trunk/paradiseo-peo/src/peoNoAggEvalFunc.h | 38 +- trunk/paradiseo-peo/src/peoParaPopEval.h | 38 +- trunk/paradiseo-peo/src/peoParaSGATransform.h | 38 +- .../src/peoParallelAlgorithmWrapper.h | 38 +- trunk/paradiseo-peo/src/peoPopEval.h | 38 +- trunk/paradiseo-peo/src/peoSeqPopEval.h | 38 +- trunk/paradiseo-peo/src/peoSeqTransform.h | 38 +- trunk/paradiseo-peo/src/peoSyncIslandMig.h | 38 +- trunk/paradiseo-peo/src/peoSyncMultiStart.h | 38 +- .../src/peoSynchronousMultiStart.h | 35 ++ trunk/paradiseo-peo/src/peoTransform.h | 38 +- trunk/paradiseo-peo/src/rmc/mpi/comm.cpp | 38 +- trunk/paradiseo-peo/src/rmc/mpi/comm.h | 38 +- trunk/paradiseo-peo/src/rmc/mpi/coop.cpp | 38 +- trunk/paradiseo-peo/src/rmc/mpi/mess.cpp | 38 +- trunk/paradiseo-peo/src/rmc/mpi/mess.h | 38 +- trunk/paradiseo-peo/src/rmc/mpi/node.cpp | 38 +- trunk/paradiseo-peo/src/rmc/mpi/node.h | 38 +- trunk/paradiseo-peo/src/rmc/mpi/param.cpp | 38 +- trunk/paradiseo-peo/src/rmc/mpi/param.h | 38 +- trunk/paradiseo-peo/src/rmc/mpi/recv.cpp | 38 +- trunk/paradiseo-peo/src/rmc/mpi/recv.h | 38 +- trunk/paradiseo-peo/src/rmc/mpi/rmc.cpp | 38 +- trunk/paradiseo-peo/src/rmc/mpi/runner.cpp | 38 +- trunk/paradiseo-peo/src/rmc/mpi/scheduler.cpp | 38 +- trunk/paradiseo-peo/src/rmc/mpi/scheduler.h | 38 +- trunk/paradiseo-peo/src/rmc/mpi/schema.cpp | 38 +- trunk/paradiseo-peo/src/rmc/mpi/schema.h | 38 +- trunk/paradiseo-peo/src/rmc/mpi/send.cpp | 38 +- trunk/paradiseo-peo/src/rmc/mpi/send.h | 38 +- trunk/paradiseo-peo/src/rmc/mpi/service.cpp | 38 +- trunk/paradiseo-peo/src/rmc/mpi/tags.h | 38 +- trunk/paradiseo-peo/src/rmc/mpi/worker.cpp | 38 +- trunk/paradiseo-peo/src/rmc/mpi/worker.h | 38 +- .../paradiseo-peo/src/rmc/mpi/xml_parser.cpp | 38 +- trunk/paradiseo-peo/src/rmc/mpi/xml_parser.h | 38 +- trunk/paradiseo-peo/test/t-peo.cpp | 35 ++ trunk/paradiseo-peo/tutorial/CMakeLists.txt | 2 +- trunk/paradiseo-peo/tutorial/Lesson1/main.cpp | 38 +- trunk/paradiseo-peo/tutorial/Lesson2/main.cpp | 38 +- trunk/paradiseo-peo/tutorial/Lesson3/main.cpp | 38 +- .../tutorial/Walkthrough/exampleA.cpp | 35 ++ .../tutorial/Walkthrough/exampleB.cpp | 35 ++ .../tutorial/Walkthrough/exampleC.cpp | 35 ++ .../tutorial/Walkthrough/exampleD.cpp | 35 ++ .../tutorial/Walkthrough/exampleE.cpp | 35 ++ .../tutorial/examples/tsp/city_swap.cpp | 38 +- .../tutorial/examples/tsp/city_swap.h | 38 +- .../tutorial/examples/tsp/data.cpp | 38 +- .../tutorial/examples/tsp/data.h | 38 +- .../tutorial/examples/tsp/display.cpp | 38 +- .../tutorial/examples/tsp/display.h | 38 +- .../examples/tsp/display_best_route.cpp | 38 +- .../examples/tsp/display_best_route.h | 38 +- .../tutorial/examples/tsp/edge_xover.cpp | 38 +- .../tutorial/examples/tsp/edge_xover.h | 38 +- .../examples/tsp/merge_route_eval.cpp | 38 +- .../tutorial/examples/tsp/merge_route_eval.h | 38 +- .../paradiseo-peo/tutorial/examples/tsp/mix.h | 39 +- .../tutorial/examples/tsp/node.cpp | 38 +- .../tutorial/examples/tsp/node.h | 38 +- .../tutorial/examples/tsp/opt_route.cpp | 38 +- .../tutorial/examples/tsp/opt_route.h | 38 +- .../tutorial/examples/tsp/order_xover.cpp | 38 +- .../tutorial/examples/tsp/order_xover.h | 38 +- .../tutorial/examples/tsp/param.cpp | 38 +- .../tutorial/examples/tsp/param.h | 38 +- .../tutorial/examples/tsp/part_route_eval.cpp | 38 +- .../tutorial/examples/tsp/part_route_eval.h | 38 +- .../examples/tsp/partial_mapped_xover.cpp | 38 +- .../examples/tsp/partial_mapped_xover.h | 38 +- .../tutorial/examples/tsp/route.cpp | 38 +- .../tutorial/examples/tsp/route.h | 38 +- .../tutorial/examples/tsp/route_eval.cpp | 38 +- .../tutorial/examples/tsp/route_eval.h | 38 +- .../tutorial/examples/tsp/route_init.cpp | 38 +- .../tutorial/examples/tsp/route_init.h | 38 +- .../tutorial/examples/tsp/two_opt.cpp | 38 +- .../tutorial/examples/tsp/two_opt.h | 38 +- .../examples/tsp/two_opt_incr_eval.cpp | 38 +- .../tutorial/examples/tsp/two_opt_incr_eval.h | 38 +- .../tutorial/examples/tsp/two_opt_init.cpp | 38 +- .../tutorial/examples/tsp/two_opt_init.h | 38 +- .../tutorial/examples/tsp/two_opt_next.cpp | 38 +- .../tutorial/examples/tsp/two_opt_next.h | 38 +- .../tutorial/examples/tsp/two_opt_rand.cpp | 38 +- .../tutorial/examples/tsp/two_opt_rand.h | 38 +- 281 files changed, 9521 insertions(+), 4839 deletions(-) diff --git a/trunk/paradiseo-peo/README b/trunk/paradiseo-peo/README index 5ff232eba..b5e081161 100755 --- a/trunk/paradiseo-peo/README +++ b/trunk/paradiseo-peo/README @@ -17,7 +17,7 @@ The basic installation procedure goes the following. To compile paradiseo-peo in the default directory, go to paradiseo-peo/build/ and run: - > cmake ../ -DEOdir=$(EO_SRC) -DMOdir=$(MO_SRC) + > cmake ../ -Dconfig= > make // for an easy-use of the provided lessons > make install @@ -25,16 +25,13 @@ go to paradiseo-peo/build/ and run: > make doc To compile paradiseo-peo anywhere else, simply run: - > cmake $(PEO) -DEOdir=$(EO_SRC) -DMOdir=$(MO_SRC) + > cmake $(PEO) -Dconfig= > make // for an easy-use of the provided lessons > make install // optional (if the documentation is not already available) > make doc -where $(EO_SRC) is the top-level source directory of PARADISEO-EO, -and $(MO) is the top-level directory of PARADISEO-MO. - To clean everything, simply run > make clean diff --git a/trunk/paradiseo-peo/doc/html/annotated.html b/trunk/paradiseo-peo/doc/html/annotated.html index e51f0fa90..8bbde05d0 100644 --- a/trunk/paradiseo-peo/doc/html/annotated.html +++ b/trunk/paradiseo-peo/doc/html/annotated.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: Class List +ParadisEO-PEOMovingObjects: Class List @@ -29,22 +29,37 @@
  • Class Hierarchy
  • Class Members
  • -

    ParadisEO-PEO Class List

    Here are the classes, structs, unions and interfaces with brief descriptions: +

    ParadisEO-PEOMovingObjects Class List

    Here are the classes, structs, unions and interfaces with brief descriptions:
    + + + + + + - + + + + + + + + + + @@ -54,7 +69,7 @@
    Communicable
    Communicator
    Cooperative
    DisplayBestRoute
    MergeRouteEval
    peoAggEvalFunc< EOT >The peoAggEvalFunc class offers only the interface for creating aggregate evaluation functions - there are no direct internal functions provided
    peoAsyncIslandMig< EOT >The peoAsyncIslandMig class offers the elementary basis for implementating an asynchronous island migration model - requires the specification of several basic parameters, i.e
    peoEA< EOT >The peoEA class offers an elementary evolutionary algorithm implementation
    peoNoAggEvalFunc< EOT >The peoNoAggEvalFunc class does nothing more than an association between a fitness value and a specified individual
    peoParallelAlgorithmWrapper
    peoParallelAlgorithmWrapper::AbstractAlgorithm
    peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType >
    peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void >
    peoParaPopEval< EOT >The peoParaPopEval represents a wrapper for creating a functor capable of applying in parallel an EO-derived evaluation functor
    peoParaSGATransform< EOT >
    peoPopEval< EOT >The peoPopEval class provides the interface for constructing ParadisEO specific evaluation functors
    peoSeqPopEval< EOT >The peoSeqPopEval class acts only as a ParadisEO specific sequential evaluation functor - a wrapper for incorporating an eoEvalFunc< EOT >-derived class as evaluation functor
    peoSeqTransform< EOT >The peoSeqTransform represent a wrapper for offering the possibility of using EO derived transform operators along with the ParadisEO evolutionary algorithms
    peoSeqTransform< EOT >The peoSeqTransform represent a wrapper for offering the possibility of using EO derived transform operators along with the ParadisEO evolutionary algorithms
    peoSynchronousMultiStart< EntityType >
    peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm
    peoSynchronousMultiStart< EntityType >::AbstractAlgorithm
    peoSynchronousMultiStart< EntityType >::AbstractDataType
    peoSynchronousMultiStart< EntityType >::AggregationAlgorithm< AggregationAlgorithmType >
    peoSynchronousMultiStart< EntityType >::Algorithm< AlgorithmType >
    peoSynchronousMultiStart< EntityType >::DataType< Type >
    peoSynchronousMultiStart< EntityType >::NoAggregationFunction
    peoSyncIslandMig< EOT >The peoSyncIslandMig class offers the elementary basis for implementating a synchronous island migration model - requires the specification of several basic parameters, i.e
    peoSyncMultiStart< EOT >The peoSyncMultiStart class provides the basis for implementing the synchronous multi-start model, for launching several solution-based algorithms in parallel on a specified initial population
    peoTransform< EOT >The peoTransform class acts only as an interface for creating transform operators - for an example please refer to the peoSeqTransform and the peoParaSGATransform classes
    RandomExplorationAlgorithm
    ReactiveThread
    RingTopology
    Runner
    Topology
    Worker
    -
    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +
    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classCommunicable-members.html b/trunk/paradiseo-peo/doc/html/classCommunicable-members.html index d9acf5532..09c8fb595 100644 --- a/trunk/paradiseo-peo/doc/html/classCommunicable-members.html +++ b/trunk/paradiseo-peo/doc/html/classCommunicable-members.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: Member List +ParadisEO-PEOMovingObjects: Member List @@ -41,7 +41,7 @@ stop()Communicable unlock()Communicable ~Communicable()Communicable [virtual] -
    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +
    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classCommunicable.html b/trunk/paradiseo-peo/doc/html/classCommunicable.html index 541d9bc60..a9090f07e 100644 --- a/trunk/paradiseo-peo/doc/html/classCommunicable.html +++ b/trunk/paradiseo-peo/doc/html/classCommunicable.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: Communicable Class Reference +ParadisEO-PEOMovingObjects: Communicable Class Reference @@ -32,20 +32,18 @@

    Communicable Class Reference

    Inheritance diagram for Communicable:

    -Cooperative -Runner -Service -Worker -peoAsyncIslandMig< EOT > -peoSyncIslandMig< EOT > -peoEA< EOT > -peoPopEval< EOT > -peoSyncMultiStart< EOT > -peoTransform< EOT > -peoParaPopEval< EOT > -peoSeqPopEval< EOT > -peoParaSGATransform< EOT > -peoSeqTransform< EOT > +Cooperative +Runner +Service +Worker +peoAsyncIslandMig< EOT > +peoSyncIslandMig< EOT > +peoEA< EOT > +peoParallelAlgorithmWrapper +peoPopEval< EOT > +peoSynchronousMultiStart< EntityType > +peoSyncMultiStart< EOT > +peoTransform< EOT > List of all members. @@ -91,9 +89,9 @@ static unsigned  -

    -Definition at line 16 of file communicable.h.


    The documentation for this class was generated from the following files:
      +Definition at line 44 of file communicable.h.
      The documentation for this class was generated from the following files: -
      Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +
      Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
      diff --git a/trunk/paradiseo-peo/doc/html/classCommunicable.png b/trunk/paradiseo-peo/doc/html/classCommunicable.png index a229e70683d27503207a292738306eb52e3be16e..d4c0f0893b73ef916ef74b93c1494b9d479c6ab6 100644 GIT binary patch literal 4386 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 literal 3267 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 T{-LAbjRT^qV~8r#c8LB5pGN^H diff --git a/trunk/paradiseo-peo/doc/html/classCommunicator-members.html b/trunk/paradiseo-peo/doc/html/classCommunicator-members.html index 997ea5e08..5fe11b6d9 100644 --- a/trunk/paradiseo-peo/doc/html/classCommunicator-members.html +++ b/trunk/paradiseo-peo/doc/html/classCommunicator-members.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: Member List +ParadisEO-PEOMovingObjects: Member List @@ -39,7 +39,7 @@
    Thread()Thread
    wakeUp()ReactiveThread
    ~Thread()Thread [virtual]

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +
    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classCommunicator.html b/trunk/paradiseo-peo/doc/html/classCommunicator.html index 2a223b44c..466885c2b 100644 --- a/trunk/paradiseo-peo/doc/html/classCommunicator.html +++ b/trunk/paradiseo-peo/doc/html/classCommunicator.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: Communicator Class Reference +ParadisEO-PEOMovingObjects: Communicator Class Reference @@ -50,9 +50,9 @@ void 15 of file comm.h.
    The documentation for this class was generated from the following files:
      +Definition at line 43 of file comm.h.
      The documentation for this class was generated from the following files: -
      Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +
      Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
      diff --git a/trunk/paradiseo-peo/doc/html/classCooperative-members.html b/trunk/paradiseo-peo/doc/html/classCooperative-members.html index 37d0a7b7b..a3bcc111d 100644 --- a/trunk/paradiseo-peo/doc/html/classCooperative-members.html +++ b/trunk/paradiseo-peo/doc/html/classCooperative-members.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: Member List +ParadisEO-PEOMovingObjects: Member List @@ -46,7 +46,7 @@ stop()Communicable unlock()Communicable ~Communicable()Communicable [virtual] -
      Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +
      Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
      diff --git a/trunk/paradiseo-peo/doc/html/classCooperative.html b/trunk/paradiseo-peo/doc/html/classCooperative.html index a52bd0cd9..12e67471f 100644 --- a/trunk/paradiseo-peo/doc/html/classCooperative.html +++ b/trunk/paradiseo-peo/doc/html/classCooperative.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: Cooperative Class Reference +ParadisEO-PEOMovingObjects: Cooperative Class Reference @@ -61,9 +61,9 @@ virtual void 

      -Definition at line 17 of file cooperative.h.


      The documentation for this class was generated from the following files:
        +Definition at line 45 of file cooperative.h.
        The documentation for this class was generated from the following files: -
        Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +
        Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
        diff --git a/trunk/paradiseo-peo/doc/html/classReactiveThread-members.html b/trunk/paradiseo-peo/doc/html/classReactiveThread-members.html index 579cb4bdf..efc2b058b 100644 --- a/trunk/paradiseo-peo/doc/html/classReactiveThread-members.html +++ b/trunk/paradiseo-peo/doc/html/classReactiveThread-members.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: Member List +ParadisEO-PEOMovingObjects: Member List @@ -38,7 +38,7 @@ Thread()Thread wakeUp()ReactiveThread ~Thread()Thread [virtual] -
        Generated on Thu Jul 5 13:43:31 2007 for ParadisEO-PEO by  +
        Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
        diff --git a/trunk/paradiseo-peo/doc/html/classReactiveThread.html b/trunk/paradiseo-peo/doc/html/classReactiveThread.html index ce0530bc2..9a1793083 100644 --- a/trunk/paradiseo-peo/doc/html/classReactiveThread.html +++ b/trunk/paradiseo-peo/doc/html/classReactiveThread.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: ReactiveThread Class Reference +ParadisEO-PEOMovingObjects: ReactiveThread Class Reference @@ -58,9 +58,9 @@ sem_t 16 of file reac_thread.h.
        The documentation for this class was generated from the following files: -

        comm.h

        00001 // "comm.h"
        -00002 
        -00003 // (c) OPAC Team, LIFL, August 2005
        -00004 
        -00005 /* 
        -00006    Contact: paradiseo-help@lists.gforge.inria.fr
        -00007 */
        -00008 
        -00009 #ifndef __comm_mpi_h
        -00010 #define __comm_mpi_h
        -00011 
        -00012 #include "../../core/communicable.h"
        -00013 #include "../../core/reac_thread.h"
        -00014 
        -00015 class Communicator : public ReactiveThread {
        -00016 
        -00017 public :
        -00018   
        -00019   /* Ctor */
        -00020   Communicator (int * __argc, char * * * __argv);
        -00021 
        -00022   void start ();
        -00023 };
        -00024 
        -00025 extern void initCommunication ();
        -00026 
        -00027 extern void waitNodeInitialization ();
        -00028 
        -00029 extern void wakeUpCommunicator ();
        -00030 
        -00031 #endif
        -

        Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

        comm.h

        00001 /* 
        +00002 * <comm.h>
        +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
        +00004 * (C) OPAC Team, LIFL, 2002-2007
        +00005 *
        +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
        +00007 *
        +00008 * This software is governed by the CeCILL license under French law and
        +00009 * abiding by the rules of distribution of free software.  You can  use,
        +00010 * modify and/ or redistribute the software under the terms of the CeCILL
        +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
        +00012 * "http://www.cecill.info".
        +00013 *
        +00014 * As a counterpart to the access to the source code and  rights to copy,
        +00015 * modify and redistribute granted by the license, users are provided only
        +00016 * with a limited warranty  and the software's author,  the holder of the
        +00017 * economic rights,  and the successive licensors  have only  limited liability.
        +00018 *
        +00019 * In this respect, the user's attention is drawn to the risks associated
        +00020 * with loading,  using,  modifying and/or developing or reproducing the
        +00021 * software by the user in light of its specific status of free software,
        +00022 * that may mean  that it is complicated to manipulate,  and  that  also
        +00023 * therefore means  that it is reserved for developers  and  experienced
        +00024 * professionals having in-depth computer knowledge. Users are therefore
        +00025 * encouraged to load and test the software's suitability as regards their
        +00026 * requirements in conditions enabling the security of their systems and/or
        +00027 * data to be ensured and,  more generally, to use and operate it in the
        +00028 * same conditions as regards security.
        +00029 * The fact that you are presently reading this means that you have had
        +00030 * knowledge of the CeCILL license and that you accept its terms.
        +00031 *
        +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
        +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
        +00034 *
        +00035 */
        +00036 
        +00037 #ifndef __comm_mpi_h
        +00038 #define __comm_mpi_h
        +00039 
        +00040 #include "../../core/communicable.h"
        +00041 #include "../../core/reac_thread.h"
        +00042 
        +00043 class Communicator : public ReactiveThread {
        +00044 
        +00045 public :
        +00046   
        +00047   /* Ctor */
        +00048   Communicator (int * __argc, char * * * __argv);
        +00049 
        +00050   void start ();
        +00051 };
        +00052 
        +00053 extern void initCommunication ();
        +00054 
        +00055 extern void waitNodeInitialization ();
        +00056 
        +00057 extern void wakeUpCommunicator ();
        +00058 
        +00059 #endif
        +

        Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
        diff --git a/trunk/paradiseo-peo/doc/html/communicable_8cpp-source.html b/trunk/paradiseo-peo/doc/html/communicable_8cpp-source.html index 133b8367d..3aa2cf96a 100644 --- a/trunk/paradiseo-peo/doc/html/communicable_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/communicable_8cpp-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: communicable.cpp Source File +ParadisEO-PEOMovingObjects: communicable.cpp Source File @@ -22,77 +22,105 @@
      -

      communicable.cpp

      00001 // "comm.cpp"
      -00002 
      -00003 // (c) OPAC Team, LIFL, August 2005
      -00004 
      -00005 /* 
      -00006    Contact: paradiseo-help@lists.gforge.inria.fr
      -00007 */
      -00008 
      -00009 #include <vector>
      -00010 #include <map>
      -00011 #include <cassert>
      -00012 
      -00013 #include "communicable.h"
      -00014 
      -00015 static std :: vector <Communicable *> key_to_comm (1); /* Vector of registered cooperators */
      -00016 
      -00017 static std :: map <const Communicable *, unsigned> comm_to_key; /* Map of registered cooperators */
      -00018 
      -00019 unsigned Communicable :: num_comm = 0;
      -00020 
      -00021 Communicable :: Communicable () {
      -00022 
      -00023   comm_to_key [this] = key = ++ num_comm;
      -00024   key_to_comm.push_back (this);
      -00025   sem_init (& sem_lock, 0, 1);
      -00026   sem_init (& sem_stop, 0, 0);
      -00027 }
      -00028 
      -00029 Communicable :: ~ Communicable () {
      -00030 
      -00031 }
      -00032 
      -00033 COMM_ID Communicable :: getKey () {
      -00034 
      -00035   return key;
      -00036 }
      -00037 
      -00038 Communicable * getCommunicable (COMM_ID __key) {
      -00039 
      -00040   assert (__key < key_to_comm.size ());
      -00041   return key_to_comm [__key];  
      -00042 }
      -00043 
      -00044 COMM_ID getKey (const Communicable * __comm) {
      -00045   
      -00046   return comm_to_key [__comm];
      -00047 }
      +

      communicable.cpp

      00001 /* 
      +00002 * <communicable.cpp>
      +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
      +00004 * (C) OPAC Team, LIFL, 2002-2007
      +00005 *
      +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
      +00007 *
      +00008 * This software is governed by the CeCILL license under French law and
      +00009 * abiding by the rules of distribution of free software.  You can  use,
      +00010 * modify and/ or redistribute the software under the terms of the CeCILL
      +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
      +00012 * "http://www.cecill.info".
      +00013 *
      +00014 * As a counterpart to the access to the source code and  rights to copy,
      +00015 * modify and redistribute granted by the license, users are provided only
      +00016 * with a limited warranty  and the software's author,  the holder of the
      +00017 * economic rights,  and the successive licensors  have only  limited liability.
      +00018 *
      +00019 * In this respect, the user's attention is drawn to the risks associated
      +00020 * with loading,  using,  modifying and/or developing or reproducing the
      +00021 * software by the user in light of its specific status of free software,
      +00022 * that may mean  that it is complicated to manipulate,  and  that  also
      +00023 * therefore means  that it is reserved for developers  and  experienced
      +00024 * professionals having in-depth computer knowledge. Users are therefore
      +00025 * encouraged to load and test the software's suitability as regards their
      +00026 * requirements in conditions enabling the security of their systems and/or
      +00027 * data to be ensured and,  more generally, to use and operate it in the
      +00028 * same conditions as regards security.
      +00029 * The fact that you are presently reading this means that you have had
      +00030 * knowledge of the CeCILL license and that you accept its terms.
      +00031 *
      +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
      +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
      +00034 *
      +00035 */
      +00036 
      +00037 #include <vector>
      +00038 #include <map>
      +00039 #include <cassert>
      +00040 
      +00041 #include "communicable.h"
      +00042 
      +00043 static std :: vector <Communicable *> key_to_comm (1); /* Vector of registered cooperators */
      +00044 
      +00045 static std :: map <const Communicable *, unsigned> comm_to_key; /* Map of registered cooperators */
      +00046 
      +00047 unsigned Communicable :: num_comm = 0;
       00048 
      -00049 void Communicable :: lock () {
      +00049 Communicable :: Communicable () {
       00050 
      -00051   sem_wait (& sem_lock);
      -00052 }
      -00053 
      -00054 void Communicable :: unlock () {
      -00055 
      -00056   sem_post (& sem_lock);
      -00057 }
      +00051   comm_to_key [this] = key = ++ num_comm;
      +00052   key_to_comm.push_back (this);
      +00053   sem_init (& sem_lock, 0, 1);
      +00054   sem_init (& sem_stop, 0, 0);
      +00055 }
      +00056 
      +00057 Communicable :: ~ Communicable () {
       00058 
      -00059 void Communicable :: stop () {
      +00059 }
       00060 
      -00061   sem_wait (& sem_stop);
      -00062 }
      -00063 
      -00064 void Communicable :: resume () {
      +00061 COMM_ID Communicable :: getKey () {
      +00062 
      +00063   return key;
      +00064 }
       00065 
      -00066   sem_post (& sem_stop);
      -00067 }
      -00068 
      -00069 
      -00070 
      -

      Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00066 Communicable * getCommunicable (COMM_ID __key) { +00067 +00068 assert (__key < key_to_comm.size ()); +00069 return key_to_comm [__key]; +00070 } +00071 +00072 COMM_ID getKey (const Communicable * __comm) { +00073 +00074 return comm_to_key [__comm]; +00075 } +00076 +00077 void Communicable :: lock () { +00078 +00079 sem_wait (& sem_lock); +00080 } +00081 +00082 void Communicable :: unlock () { +00083 +00084 sem_post (& sem_lock); +00085 } +00086 +00087 void Communicable :: stop () { +00088 +00089 sem_wait (& sem_stop); +00090 } +00091 +00092 void Communicable :: resume () { +00093 +00094 sem_post (& sem_stop); +00095 } +00096 +00097 +00098 +

      Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
      diff --git a/trunk/paradiseo-peo/doc/html/communicable_8h-source.html b/trunk/paradiseo-peo/doc/html/communicable_8h-source.html index 5fb98576c..f625215d2 100644 --- a/trunk/paradiseo-peo/doc/html/communicable_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/communicable_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: communicable.h Source File +ParadisEO-PEOMovingObjects: communicable.h Source File @@ -22,54 +22,82 @@
    -

    communicable.h

    00001 // "communicable.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __communicable_h
    -00010 #define __communicable_h
    -00011 
    -00012 #include <semaphore.h>
    -00013 
    -00014 typedef unsigned COMM_ID;
    -00015 
    -00016 class Communicable {
    -00017 
    -00018 public :
    -00019 
    -00020   Communicable ();
    -00021   
    -00022   virtual ~ Communicable ();
    -00023 
    -00024   COMM_ID getKey ();  
    -00025 
    -00026   void lock (); /* It suspends the current process if the semaphore is locked */
    -00027   void unlock (); /* It unlocks the shared semaphore */
    -00028 
    -00029   void stop (); /* It suspends the current process */
    -00030   void resume (); /* It resumes ___________ */
    -00031   
    -00032 protected :
    -00033 
    -00034   COMM_ID key;
    -00035 
    -00036   sem_t sem_lock;
    -00037   
    -00038   sem_t sem_stop;
    -00039 
    -00040   static unsigned num_comm;
    -00041 };
    -00042 
    -00043 extern Communicable * getCommunicable (COMM_ID __key); 
    -00044 
    -00045 //extern COMM_ID getKey (const Communicable * __comm);
    -00046 
    -00047 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    communicable.h

    00001 /* 
    +00002 * <communicable.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __communicable_h
    +00038 #define __communicable_h
    +00039 
    +00040 #include <semaphore.h>
    +00041 
    +00042 typedef unsigned COMM_ID;
    +00043 
    +00044 class Communicable {
    +00045 
    +00046 public :
    +00047 
    +00048   Communicable ();
    +00049   
    +00050   virtual ~ Communicable ();
    +00051 
    +00052   COMM_ID getKey ();  
    +00053 
    +00054   void lock (); /* It suspends the current process if the semaphore is locked */
    +00055   void unlock (); /* It unlocks the shared semaphore */
    +00056 
    +00057   void stop (); /* It suspends the current process */
    +00058   void resume (); /* It resumes ___________ */
    +00059   
    +00060 protected :
    +00061 
    +00062   COMM_ID key;
    +00063 
    +00064   sem_t sem_lock;
    +00065   
    +00066   sem_t sem_stop;
    +00067 
    +00068   static unsigned num_comm;
    +00069 };
    +00070 
    +00071 extern Communicable * getCommunicable (COMM_ID __key); 
    +00072 
    +00073 //extern COMM_ID getKey (const Communicable * __comm);
    +00074 
    +00075 #endif
    +

    Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/coop_8cpp-source.html b/trunk/paradiseo-peo/doc/html/coop_8cpp-source.html index 4e9b4a9af..0c17572a4 100644 --- a/trunk/paradiseo-peo/doc/html/coop_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/coop_8cpp-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: coop.cpp Source File +ParadisEO-PEOMovingObjects: coop.cpp Source File @@ -22,49 +22,77 @@ -

    coop.cpp

    00001 // "coop.cpp"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #include "../../core/cooperative.h"
    -00010 #include "send.h"
    -00011 #include "tags.h"
    -00012 #include "schema.h"
    -00013 #include "mess.h"
    -00014 #include "../../core/peo_debug.h"
    -00015 
    -00016 Runner * Cooperative :: getOwner () {
    -00017 
    -00018   return owner;
    -00019 }
    -00020 
    -00021 void Cooperative :: setOwner (Runner & __runner) {
    -00022 
    -00023   owner = & __runner;
    -00024 }
    -00025 
    -00026 void Cooperative :: send (Cooperative * __coop) {
    -00027 
    -00028   :: send (this, getRankOfRunner (__coop -> getOwner () -> getID ()), COOP_TAG);   
    -00029   //  stop ();
    -00030 }
    -00031 
    -00032 Cooperative * getCooperative (COOP_ID __key) {
    -00033 
    -00034   return dynamic_cast <Cooperative *> (getCommunicable (__key));
    -00035 }
    +

    coop.cpp

    00001 /* 
    +00002 * <coop.cpp>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
     00036 
    -00037 void Cooperative :: notifySending () {
    -00038 
    -00039   //getOwner -> setPassive ();
    -00040   //  resume ();
    -00041   //  printDebugMessage (b);
    -00042 }
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00037 #include "../../core/cooperative.h" +00038 #include "send.h" +00039 #include "tags.h" +00040 #include "schema.h" +00041 #include "mess.h" +00042 #include "../../core/peo_debug.h" +00043 +00044 Runner * Cooperative :: getOwner () { +00045 +00046 return owner; +00047 } +00048 +00049 void Cooperative :: setOwner (Runner & __runner) { +00050 +00051 owner = & __runner; +00052 } +00053 +00054 void Cooperative :: send (Cooperative * __coop) { +00055 +00056 :: send (this, getRankOfRunner (__coop -> getOwner () -> getID ()), COOP_TAG); +00057 // stop (); +00058 } +00059 +00060 Cooperative * getCooperative (COOP_ID __key) { +00061 +00062 return dynamic_cast <Cooperative *> (getCommunicable (__key)); +00063 } +00064 +00065 void Cooperative :: notifySending () { +00066 +00067 //getOwner -> setPassive (); +00068 // resume (); +00069 // printDebugMessage (b); +00070 } +

    Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/cooperative_8h-source.html b/trunk/paradiseo-peo/doc/html/cooperative_8h-source.html index 0b89e4f74..aedb3ed27 100644 --- a/trunk/paradiseo-peo/doc/html/cooperative_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/cooperative_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: cooperative.h Source File +ParadisEO-PEOMovingObjects: cooperative.h Source File @@ -22,48 +22,76 @@ -

    cooperative.h

    00001 // "cooperative.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __cooperative_h
    -00010 #define __cooperative_h
    -00011 
    -00012 #include "communicable.h"
    -00013 #include "runner.h"
    -00014 
    -00015 typedef unsigned COOP_ID;
    -00016 
    -00017 class Cooperative : public Communicable {
    -00018 
    -00019 public :
    -00020 
    -00021   Runner * getOwner ();
    -00022 
    -00023   void setOwner (Runner & __runner);
    -00024 
    -00025   virtual void pack () = 0;
    -00026   
    -00027   virtual void unpack () = 0;
    -00028 
    -00029   void send (Cooperative * __coop); 
    -00030 
    -00031   virtual void notifySending ();
    -00032 
    -00033 private :
    -00034 
    -00035   Runner * owner;
    +

    cooperative.h

    00001 /* 
    +00002 * <cooperative.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
     00036 
    -00037 };
    -00038 
    -00039 extern Cooperative * getCooperative (COOP_ID __key); 
    -00040 
    -00041 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00037 #ifndef __cooperative_h +00038 #define __cooperative_h +00039 +00040 #include "communicable.h" +00041 #include "runner.h" +00042 +00043 typedef unsigned COOP_ID; +00044 +00045 class Cooperative : public Communicable { +00046 +00047 public : +00048 +00049 Runner * getOwner (); +00050 +00051 void setOwner (Runner & __runner); +00052 +00053 virtual void pack () = 0; +00054 +00055 virtual void unpack () = 0; +00056 +00057 void send (Cooperative * __coop); +00058 +00059 virtual void notifySending (); +00060 +00061 private : +00062 +00063 Runner * owner; +00064 +00065 }; +00066 +00067 extern Cooperative * getCooperative (COOP_ID __key); +00068 +00069 #endif +

    Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/core_2runner_8cpp-source.html b/trunk/paradiseo-peo/doc/html/core_2runner_8cpp-source.html index 4a87691af..5cc7127ca 100644 --- a/trunk/paradiseo-peo/doc/html/core_2runner_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/core_2runner_8cpp-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: runner.cpp Source File +ParadisEO-PEOMovingObjects: runner.cpp Source File @@ -22,111 +22,139 @@ -

    runner.cpp

    00001 // "runner.cpp"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #include <vector>
    -00010 
    -00011 #include "runner.h"
    -00012 #include "reac_thread.h"
    -00013 #include "peo_debug.h"
    -00014 #include "messaging.h"
    -00015 
    -00016 static unsigned num_act = 0; /* Number of active runners */
    -00017 
    -00018 static std :: vector <pthread_t *> ll_threads; /* Low-level runner threads */ 
    -00019 
    -00020 static std :: vector <Runner *> the_runners;
    -00021 
    -00022 static unsigned num_runners = 0;
    -00023 
    -00024 Runner :: Runner () {
    -00025 
    -00026   id = ++ num_runners;
    -00027   the_runners.push_back (this);
    -00028   sem_init (& sem_start, 0, 0);
    -00029   num_act ++;  
    -00030 }
    -00031 
    -00032 extern int getNodeRank ();
    -00033 
    -00034 extern int getNumberOfNodes ();
    -00035 
    -00036 void unpackTerminationOfRunner () {
    -00037   
    -00038   RUNNER_ID id;
    -00039   unpack (id);    
    -00040   num_act --;
    -00041   printDebugMessage ("I'm noticed of the termination of a runner");
    -00042   if (! num_act) {
    -00043     printDebugMessage ("all the runners have terminated. Now stopping the reactive threads.");
    -00044     stopReactiveThreads ();
    -00045   }
    -00046 }
    +

    runner.cpp

    00001 /* 
    +00002 * <runner.cpp>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #include <vector>
    +00038 
    +00039 #include "runner.h"
    +00040 #include "reac_thread.h"
    +00041 #include "peo_debug.h"
    +00042 #include "messaging.h"
    +00043 
    +00044 static unsigned num_act = 0; /* Number of active runners */
    +00045 
    +00046 static std :: vector <pthread_t *> ll_threads; /* Low-level runner threads */ 
     00047 
    -00048 bool atLeastOneActiveRunner () {
    +00048 static std :: vector <Runner *> the_runners;
     00049 
    -00050   return num_act;
    -00051 }
    -00052 
    -00053 RUNNER_ID Runner :: getID () {
    -00054 
    -00055   return id;
    -00056 }
    -00057 
    -00058 void Runner :: start () {
    +00050 static unsigned num_runners = 0;
    +00051 
    +00052 Runner :: Runner () {
    +00053 
    +00054   id = ++ num_runners;
    +00055   the_runners.push_back (this);
    +00056   sem_init (& sem_start, 0, 0);
    +00057   num_act ++;  
    +00058 }
     00059 
    -00060   setActive ();
    -00061   sem_post (& sem_start);
    -00062   run ();
    -00063   terminate ();
    -00064 }
    -00065 
    -00066 void Runner :: notifySendingTermination () {
    -00067 
    -00068   /*
    -00069   char b [1000];
    -00070   sprintf (b, "Il reste encore %d !!!!!!!!!!!!", n);
    -00071   printDebugMessage (b);
    -00072   */
    -00073   printDebugMessage ("je suis informe que tout le monde a recu ma terminaison");
    -00074   setPassive ();
    -00075   
    -00076 }
    +00060 extern int getNodeRank ();
    +00061 
    +00062 extern int getNumberOfNodes ();
    +00063 
    +00064 void unpackTerminationOfRunner () {
    +00065   
    +00066   RUNNER_ID id;
    +00067   unpack (id);    
    +00068   num_act --;
    +00069   printDebugMessage ("I'm noticed of the termination of a runner");
    +00070   if (! num_act) {
    +00071     printDebugMessage ("all the runners have terminated. Now stopping the reactive threads.");
    +00072     stopReactiveThreads ();
    +00073   }
    +00074 }
    +00075 
    +00076 bool atLeastOneActiveRunner () {
     00077 
    -00078 void Runner :: waitStarting () {
    -00079 
    -00080   sem_wait (& sem_start);
    -00081 }
    +00078   return num_act;
    +00079 }
    +00080 
    +00081 RUNNER_ID Runner :: getID () {
     00082 
    -00083 Runner * getRunner (RUNNER_ID __key) {
    -00084 
    -00085   return dynamic_cast <Runner *> (getCommunicable (__key));
    -00086 }
    +00083   return id;
    +00084 }
    +00085 
    +00086 void Runner :: start () {
     00087 
    -00088 void startRunners () {
    -00089   
    -00090   /* Runners */
    -00091   for (unsigned i = 0; i < the_runners.size (); i ++)
    -00092     if (the_runners [i] -> isLocal ()) {
    -00093       addThread (the_runners [i], ll_threads);
    -00094       the_runners [i] -> waitStarting ();
    -00095     }
    -00096   printDebugMessage ("launched the parallel runners");
    -00097 }
    -00098 
    -00099 
    -00100 void joinRunners () {
    -00101 
    -00102 
    -00103   joinThreads (ll_threads);
    +00088   setActive ();
    +00089   sem_post (& sem_start);
    +00090   run ();
    +00091   terminate ();
    +00092 }
    +00093 
    +00094 void Runner :: notifySendingTermination () {
    +00095 
    +00096   /*
    +00097   char b [1000];
    +00098   sprintf (b, "Il reste encore %d !!!!!!!!!!!!", n);
    +00099   printDebugMessage (b);
    +00100   */
    +00101   printDebugMessage ("je suis informe que tout le monde a recu ma terminaison");
    +00102   setPassive ();
    +00103   
     00104 }
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00105 +00106 void Runner :: waitStarting () { +00107 +00108 sem_wait (& sem_start); +00109 } +00110 +00111 Runner * getRunner (RUNNER_ID __key) { +00112 +00113 return dynamic_cast <Runner *> (getCommunicable (__key)); +00114 } +00115 +00116 void startRunners () { +00117 +00118 /* Runners */ +00119 for (unsigned i = 0; i < the_runners.size (); i ++) +00120 if (the_runners [i] -> isLocal ()) { +00121 addThread (the_runners [i], ll_threads); +00122 the_runners [i] -> waitStarting (); +00123 } +00124 printDebugMessage ("launched the parallel runners"); +00125 } +00126 +00127 +00128 void joinRunners () { +00129 +00130 +00131 joinThreads (ll_threads); +00132 } +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/core_2service_8cpp-source.html b/trunk/paradiseo-peo/doc/html/core_2service_8cpp-source.html index 5a0cff6c4..f9385b2e8 100644 --- a/trunk/paradiseo-peo/doc/html/core_2service_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/core_2service_8cpp-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: service.cpp Source File +ParadisEO-PEOMovingObjects: service.cpp Source File @@ -22,65 +22,93 @@ -

    service.cpp

    00001 // "service.cpp"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #include "service.h"
    -00010 
    -00011 void Service :: setOwner (Thread & __owner) {
    -00012 
    -00013   owner = & __owner;
    -00014 }
    -00015   
    -00016 Thread * Service :: getOwner () {
    -00017 
    -00018   return owner;
    -00019 }
    -00020 
    -00021 Service * getService (SERVICE_ID __key) {
    -00022 
    -00023   return dynamic_cast <Service *> (getCommunicable (__key));
    -00024 }
    -00025 
    -00026 void Service :: notifySendingData () {
    -00027 
    -00028 }
    -00029 void Service :: notifySendingResourceRequest () {
    -00030 
    -00031   num_sent_rr --;
    -00032   if (! num_sent_rr)
    -00033     notifySendingAllResourceRequests ();
    -00034 }
    -00035 
    -00036 void Service :: notifySendingAllResourceRequests () {
    -00037 
    -00038 }
    -00039 
    -00040 void Service :: packData () {
    -00041 
    +

    service.cpp

    00001 /* 
    +00002 * <service.cpp>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #include "service.h"
    +00038 
    +00039 void Service :: setOwner (Thread & __owner) {
    +00040 
    +00041   owner = & __owner;
     00042 }
    -00043 
    -00044 void Service :: unpackData () {
    +00043   
    +00044 Thread * Service :: getOwner () {
     00045 
    -00046 }
    -00047 
    -00048 void Service :: execute () {
    -00049 
    -00050 }
    -00051   
    -00052 void Service :: packResult () {
    +00046   return owner;
    +00047 }
    +00048 
    +00049 Service * getService (SERVICE_ID __key) {
    +00050 
    +00051   return dynamic_cast <Service *> (getCommunicable (__key));
    +00052 }
     00053 
    -00054 }
    +00054 void Service :: notifySendingData () {
     00055 
    -00056 void Service :: unpackResult () {
    -00057 
    -00058 }
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00056 } +00057 void Service :: notifySendingResourceRequest () { +00058 +00059 num_sent_rr --; +00060 if (! num_sent_rr) +00061 notifySendingAllResourceRequests (); +00062 } +00063 +00064 void Service :: notifySendingAllResourceRequests () { +00065 +00066 } +00067 +00068 void Service :: packData () { +00069 +00070 } +00071 +00072 void Service :: unpackData () { +00073 +00074 } +00075 +00076 void Service :: execute () { +00077 +00078 } +00079 +00080 void Service :: packResult () { +00081 +00082 } +00083 +00084 void Service :: unpackResult () { +00085 +00086 } +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/eoPop__comm_8h-source.html b/trunk/paradiseo-peo/doc/html/eoPop__comm_8h-source.html index 196d1cd23..967a4a442 100644 --- a/trunk/paradiseo-peo/doc/html/eoPop__comm_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/eoPop__comm_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: eoPop_comm.h Source File +ParadisEO-PEOMovingObjects: eoPop_comm.h Source File @@ -22,39 +22,67 @@ -

    eoPop_comm.h

    00001 // "eoPop_comm.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __eoPop_comm_h
    -00010 #define __eoPop_comm_h
    -00011 
    -00012 #include <eoPop.h>
    -00013 
    -00014 #include "messaging.h"
    -00015 
    -00016 template <class EOT> void pack (const eoPop <EOT> & __pop) {
    -00017 
    -00018   pack ((unsigned) __pop.size ());
    -00019   for (unsigned i = 0; i < __pop.size (); i ++)
    -00020     pack (__pop [i]);
    -00021 }
    -00022 
    -00023 template <class EOT> void unpack (eoPop <EOT> & __pop) {
    -00024 
    -00025   unsigned n;
    -00026   
    -00027   unpack (n);
    -00028   __pop.resize (n);
    -00029   for (unsigned i = 0; i < n; i ++)
    -00030     unpack (__pop [i]);
    -00031 }
    -00032 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    eoPop_comm.h

    00001 /* 
    +00002 * <eoPop_comm.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __eoPop_comm_h
    +00038 #define __eoPop_comm_h
    +00039 
    +00040 #include <eoPop.h>
    +00041 
    +00042 #include "messaging.h"
    +00043 
    +00044 template <class EOT> void pack (const eoPop <EOT> & __pop) {
    +00045 
    +00046   pack ((unsigned) __pop.size ());
    +00047   for (unsigned i = 0; i < __pop.size (); i ++)
    +00048     pack (__pop [i]);
    +00049 }
    +00050 
    +00051 template <class EOT> void unpack (eoPop <EOT> & __pop) {
    +00052 
    +00053   unsigned n;
    +00054   
    +00055   unpack (n);
    +00056   __pop.resize (n);
    +00057   for (unsigned i = 0; i < n; i ++)
    +00058     unpack (__pop [i]);
    +00059 }
    +00060 #endif
    +

    Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/eoVector__comm_8h-source.html b/trunk/paradiseo-peo/doc/html/eoVector__comm_8h-source.html index 00aedb035..d3bc66666 100644 --- a/trunk/paradiseo-peo/doc/html/eoVector__comm_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/eoVector__comm_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: eoVector_comm.h Source File +ParadisEO-PEOMovingObjects: eoVector_comm.h Source File @@ -22,45 +22,73 @@ -

    eoVector_comm.h

    00001 // "eoVector_comm.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __eoVector_comm_h
    -00010 #define __eoVector_comm_h
    -00011 
    -00012 #include <eoVector.h>
    -00013 
    -00014 #include "messaging.h"
    -00015 
    -00016 template <class F, class T> void pack (const eoVector <F, T> & __v) {
    -00017 
    -00018   pack (__v.fitness ()) ;
    -00019   unsigned len = __v.size ();
    -00020   pack (len);
    -00021   for (unsigned i = 0 ; i < len; i ++)
    -00022     pack (__v [i]);  
    -00023 }
    -00024 
    -00025 template <class F, class T> void unpack (eoVector <F, T> & __v) {
    -00026 
    -00027   F fit; 
    -00028   unpack (fit);
    -00029   __v.fitness (fit);
    -00030 
    -00031   unsigned len;
    -00032   unpack (len);
    -00033   __v.resize (len);
    -00034   for (unsigned i = 0 ; i < len; i ++)
    -00035     unpack (__v [i]);
    -00036 }
    -00037 
    -00038 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    eoVector_comm.h

    00001 /* 
    +00002 * <eoVector_comm.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __eoVector_comm_h
    +00038 #define __eoVector_comm_h
    +00039 
    +00040 #include <eoVector.h>
    +00041 
    +00042 #include "messaging.h"
    +00043 
    +00044 template <class F, class T> void pack (const eoVector <F, T> & __v) {
    +00045 
    +00046   pack (__v.fitness ()) ;
    +00047   unsigned len = __v.size ();
    +00048   pack (len);
    +00049   for (unsigned i = 0 ; i < len; i ++)
    +00050     pack (__v [i]);  
    +00051 }
    +00052 
    +00053 template <class F, class T> void unpack (eoVector <F, T> & __v) {
    +00054 
    +00055   F fit; 
    +00056   unpack (fit);
    +00057   __v.fitness (fit);
    +00058 
    +00059   unsigned len;
    +00060   unpack (len);
    +00061   __v.resize (len);
    +00062   for (unsigned i = 0 ; i < len; i ++)
    +00063     unpack (__v [i]);
    +00064 }
    +00065 
    +00066 #endif
    +

    Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/files.html b/trunk/paradiseo-peo/doc/html/files.html index 043f498b3..dcdc3a4dd 100644 --- a/trunk/paradiseo-peo/doc/html/files.html +++ b/trunk/paradiseo-peo/doc/html/files.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: File Index +ParadisEO-PEOMovingObjects: File Index @@ -22,23 +22,58 @@ -

    ParadisEO-PEO File List

    Here is a list of all documented files with brief descriptions: +

    ParadisEO-PEOMovingObjects File List

    Here is a list of all documented files with brief descriptions:
    + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + @@ -53,22 +88,31 @@ + + + + + + + + + @@ -81,17 +125,28 @@ + + + + + + + + + + +
    city_swap.cpp [code]
    city_swap.h [code]
    comm.cpp [code]
    comm.h [code]
    communicable.cpp [code]
    communicable.h [code]
    coop.cpp [code]
    cooperative.h [code]
    data.cpp [code]
    data.h [code]
    display.cpp [code]
    display.h [code]
    display_best_route.cpp [code]
    display_best_route.h [code]
    doclsn.h [code]
    edge_xover.cpp [code]
    edge_xover.h [code]
    eoPop_comm.h [code]
    eoVector_comm.h [code]
    exampleA.cpp [code]
    exampleB.cpp [code]
    exampleC.cpp [code]
    exampleD.cpp [code]
    exampleE.cpp [code]
    Lesson1/main.cpp [code]
    Lesson2/main.cpp [code]
    Lesson3/main.cpp [code]
    LessonParallelAlgorithm/main.cpp [code]
    merge_route_eval.cpp [code]
    merge_route_eval.h [code]
    mess.cpp [code]
    mess.h [code]
    messaging.h [code]
    node.cpp [code]
    node.h [code]
    paradiseo.h [code]
    param.cpp [code]
    param.h [code]
    mix.h [code]
    src/rmc/mpi/node.cpp [code]
    tutorial/examples/tsp/node.cpp [code]
    src/rmc/mpi/node.h [code]
    tutorial/examples/tsp/node.h [code]
    opt_route.cpp [code]
    opt_route.h [code]
    order_xover.cpp [code]
    order_xover.h [code]
    src/rmc/mpi/param.cpp [code]
    tutorial/examples/tsp/param.cpp [code]
    src/rmc/mpi/param.h [code]
    tutorial/examples/tsp/param.h [code]
    part_route_eval.cpp [code]
    part_route_eval.h [code]
    partial_mapped_xover.cpp [code]
    partial_mapped_xover.h [code]
    peo.h [code]
    peo_debug.cpp [code]
    peo_debug.h [code]
    peo_fin.cpp [code]
    peoAsyncIslandMig.h [code]
    peoEA.h [code]
    peoNoAggEvalFunc.h [code]
    peoParallelAlgorithmWrapper.h [code]
    peoParaPopEval.h [code]
    peoParaSGATransform.h [code]
    peoPopEval.h [code]
    peoSeqPopEval.h [code]
    peoSeqTransform.h [code]
    peoSynchronousMultiStart.h [code]
    peoSyncIslandMig.h [code]
    peoSyncMultiStart.h [code]
    peoTransform.h [code]
    reac_thread.cpp [code]
    reac_thread.h [code]
    README [code]
    recv.cpp [code]
    recv.h [code]
    ring_topo.cpp [code]
    ring_topo.h [code]
    rmc.cpp [code]
    rmc.h [code]
    route.cpp [code]
    route.h [code]
    route_eval.cpp [code]
    route_eval.h [code]
    route_init.cpp [code]
    route_init.h [code]
    core/runner.cpp [code]
    rmc/mpi/runner.cpp [code]
    runner.h [code]
    core/service.cpp [code]
    rmc/mpi/service.cpp [code]
    service.h [code]
    t-peo.cpp [code]
    tags.h [code]
    thread.cpp [code]
    thread.h [code]
    topology.cpp [code]
    topology.h [code]
    two_opt.cpp [code]
    two_opt.h [code]
    two_opt_incr_eval.cpp [code]
    two_opt_incr_eval.h [code]
    two_opt_init.cpp [code]
    two_opt_init.h [code]
    two_opt_next.cpp [code]
    two_opt_next.h [code]
    two_opt_rand.cpp [code]
    two_opt_rand.h [code]
    worker.cpp [code]
    worker.h [code]
    xml_parser.cpp [code]
    xml_parser.h [code]
    -
    Generated on Thu Jul 5 13:43:31 2007 for ParadisEO-PEO by  +
    Generated on Mon Oct 8 11:16:50 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/functions.html b/trunk/paradiseo-peo/doc/html/functions.html index 24a2160f9..2173748ff 100644 --- a/trunk/paradiseo-peo/doc/html/functions.html +++ b/trunk/paradiseo-peo/doc/html/functions.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: Class Members +ParadisEO-PEOMovingObjects: Class Members @@ -67,7 +67,14 @@ Here is a list of all documented class members with links to the class documenta
  • act : Thread
  • ad_sol : peoParaPopEval< EOT >
  • add() -: Topology +: Topology
  • aggregationAlgorithm +: peoSynchronousMultiStart< EntityType >::AggregationAlgorithm< AggregationAlgorithmType >
  • AggregationAlgorithm() +: peoSynchronousMultiStart< EntityType >::AggregationAlgorithm< AggregationAlgorithmType >
  • aggregationFunction +: peoSynchronousMultiStart< EntityType >
  • algorithm +: peoSynchronousMultiStart< EntityType >::Algorithm< AlgorithmType >, peoParallelAlgorithmWrapper, peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void >, peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType >
  • Algorithm() +: peoSynchronousMultiStart< EntityType >::Algorithm< AlgorithmType >, peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void >, peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType >
  • algorithmData +: peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType >
  • algorithms +: peoSynchronousMultiStart< EntityType >

    - c -

    - d -

    +
  • data +: peoSynchronousMultiStart< EntityType >, peoSynchronousMultiStart< EntityType >::DataType< Type >
  • dataIndex +: peoSynchronousMultiStart< EntityType >
  • DataType() +: peoSynchronousMultiStart< EntityType >::DataType< Type >
  • destination +: peoSyncIslandMig< EOT >, peoAsyncIslandMig< EOT >
  • DisplayBestRoute() +: DisplayBestRoute

    - e -

    +: peoSyncMultiStart< EOT >, peoSynchronousMultiStart< EntityType >, peoSeqTransform< EOT >, peoParaSGATransform< EOT >, peoParaPopEval< EOT >, Service

    - f -

    +: peoParaPopEval< EOT >
  • functionIndex +: peoSynchronousMultiStart< EntityType >

    - g -

    - o -

    - p -

    - r -

    - s -

    +: Worker, peoSyncMultiStart< EOT >, peoSynchronousMultiStart< EntityType >, peoSeqTransform< EOT >, peoParaSGATransform< EOT >, peoParaPopEval< EOT >, Service
  • unpackResult() +: peoSyncMultiStart< EOT >, peoSynchronousMultiStart< EntityType >, peoSeqTransform< EOT >, peoParaSGATransform< EOT >, peoParaPopEval< EOT >, Service

    - w -

    - ~ -

    -
    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +
    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/functions_func.html b/trunk/paradiseo-peo/doc/html/functions_func.html index 8a8d8f228..988196720 100644 --- a/trunk/paradiseo-peo/doc/html/functions_func.html +++ b/trunk/paradiseo-peo/doc/html/functions_func.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: Class Members - Functions +ParadisEO-PEOMovingObjects: Class Members - Functions @@ -40,6 +40,7 @@

    - c -

    +

    - d -

    - e -

    +: peoSyncMultiStart< EOT >, peoSynchronousMultiStart< EntityType >, peoSeqTransform< EOT >, peoParaSGATransform< EOT >, peoParaPopEval< EOT >, Service

    - g -

    - p -

    - r -

    - s -

    +: Worker, peoSyncMultiStart< EOT >, peoSynchronousMultiStart< EntityType >, peoSeqTransform< EOT >, peoParaSGATransform< EOT >, peoParaPopEval< EOT >, Service
  • unpackResult() +: peoSyncMultiStart< EOT >, peoSynchronousMultiStart< EntityType >, peoSeqTransform< EOT >, peoParaSGATransform< EOT >, peoParaPopEval< EOT >, Service

    - w -

    - ~ -

    -
    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +
    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/functions_vars.html b/trunk/paradiseo-peo/doc/html/functions_vars.html index bb6e20426..a99036961 100644 --- a/trunk/paradiseo-peo/doc/html/functions_vars.html +++ b/trunk/paradiseo-peo/doc/html/functions_vars.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: Class Members - Variables +ParadisEO-PEOMovingObjects: Class Members - Variables @@ -62,7 +62,12 @@

    - a -

    +: peoParaPopEval< EOT >
  • aggregationAlgorithm +: peoSynchronousMultiStart< EntityType >::AggregationAlgorithm< AggregationAlgorithmType >
  • aggregationFunction +: peoSynchronousMultiStart< EntityType >
  • algorithm +: peoSynchronousMultiStart< EntityType >::Algorithm< AlgorithmType >, peoParallelAlgorithmWrapper, peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void >, peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType >
  • algorithmData +: peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType >
  • algorithms +: peoSynchronousMultiStart< EntityType >

    - c -

    - d -

    - e -

    - f -

    +: peoParaPopEval< EOT >
  • functionIndex +: peoSynchronousMultiStart< EntityType >

    - i -

    - k -

    +: peoSyncMultiStart< EOT >, peoSynchronousMultiStart< EntityType >, peoParaSGATransform< EOT >

    - o -

    - p -

    - r -

    -
    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +
    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/hierarchy.html b/trunk/paradiseo-peo/doc/html/hierarchy.html index a6a9172ad..dc125554e 100644 --- a/trunk/paradiseo-peo/doc/html/hierarchy.html +++ b/trunk/paradiseo-peo/doc/html/hierarchy.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: Hierarchical Index +ParadisEO-PEOMovingObjects: Hierarchical Index @@ -29,7 +29,7 @@
  • Class Hierarchy
  • Class Members
  • -

    ParadisEO-PEO Class Hierarchy

    This inheritance list is sorted roughly, but not completely, alphabetically:

    The ParadisEO-PEO Framework

    -

    0.1

    -Introduction

    +

    1.0

    +intro

    ParadisEO is a white-box object-oriented framework dedicated to the reusable design of parallel and distributed metaheuristics (PDM). ParadisEO provides a broad range of features including evolutionary algorithms (EA), local searches (LS), the most common parallel and distributed models and hybridization mechanisms, etc. This high content and utility encourages its use at European level. ParadisEO is based on a clear conceptual separation of the solution methods from the problems they are intended to solve. This separation confers to the user a maximum code and design reuse. Furthermore, the fine-grained nature of the classes provided by the framework allow a higher flexibility compared to other frameworks. ParadisEO is one of the rare frameworks that provide the most common parallel and distributed models. Their implementation is portable on distributed-memory machines as well as on shared-memory multiprocessors, as it uses standard libraries such as MPI, PVM and PThreads. The models can be exploited in a transparent way, one has just to instantiate their associated provided classes. Their experimentation on the radio network design real-world application demonstrate their efficiency.

    In practice, combinatorial optimization problems are often NP-hard, CPU time-consuming, and evolve over time. Unlike exact methods, metaheuristics allow to tackle large-size problems instances by delivering satisfactory solutions in a reasonable time. Metaheuristics are general-purpose heuristics that split in two categories: evolutionary algorithms (EA) and local search methods (LS). These two families have complementary characteristics: EA allow a better exploration of the search space, while LS have the power to intensify the search in promising regions. Their hybridization allows to deliver robust and better solutions

    Although serial metaheuristics have a polynomial temporal complexity, they remain unsatisfactory for industrial problems. Parallel and distributed computing is a powerful way to deal with the performance issue of these problems. Numerous parallel and distributed metaheuristics (PDM) and their implementations have been proposed, and are available on theWeb. They can be reused and adapted to his/her own problems. However, the user has to deeply examine the code and rewrite its problem-specific sections. The task is tedious, errorprone, takes along time and makes harder the produced code maintenance. A better way to reuse the code of existing PDM is the reuse through libraries. These are often more reliable as they are more tested and documented. They allow a better maintainability and efficiency. However, libraries do not allow the reuse of design.

    @@ -60,7 +60,7 @@ Two parallel distributed models are commonly used in the literature: the paralle Hybridization

    Recently, hybrid metaheuristics have gained a considerable interest. For many practical or academic optimization problems, the best found solutions are obtained by hybrid algorithms. Combinations of different metaheuristics have provided very powerful search methods. Two levels and two modes of hybridization have been distinguished: Low and High levels, and Relay and Cooperative modes. The low-level hybridization addresses the functional composition of a single optimization method. A function of a given metaheuristic is replaced by another metaheuristic. On the contrary, for high-level hybrid algorithms the different metaheuristics are self-containing, meaning no direct relationship to their internal working is considered. On the other hand, relay hybridization means a set of metaheuristics is applied in a pipeline way. The output of a metaheuristic (except the last) is the input of the following one (except the first). Conversely, co-evolutionist hybridization is a cooperative optimization model. Each metaheuristic performs a search in a solution space, and exchange solutions with others.

    Paradiseo goals and architecture

    -The "EO" part of ParadisEO means Evolving Objects. EO is a C++ LGPL open source framework and includes a paradigm-free Evolutionary Computation library (EOlib) dedicated to the flexible design of EA through evolving objects superseding the most common dialects (Genetic Algorithms, Evolution Strategies, Evolutionary Programming and Genetic Programming). Furthermore, EO integrates several services including visualization facilities, on-line definition of parameters, application check-pointing, etc. ParadisEO is an extended version of the EO framework. The extensions include local search methods, hybridization mechanisms, parallelism and distribution mechanisms, and other features that are not addressed in this paper such as multi-objective optimization and grid computing. In the next sections, we present the motivations and goals of ParadisEO, its architecture and some of its main implementation details and issues.

    +The "EO" part of ParadisEO means Evolving Objects. EO is a C++ LGPL open source framework and includes a paradigm-free Evolutionary Computation library (EOlib) dedicated to the flexible design of EA through evolving objects superseding the most common dialects (Genetic Algorithms, Evolution Strategies, Evolutionary Programming and Genetic Programming). Furthermore, EO integrates several services including visualization facilities, on-line definition of parameters, application check-pointing, etc. ParadisEO is an extended version of the EO framework. The extensions include local search methods, hybridization mechanisms, parallelism and distribution mechanisms, and other features that are not addressed in this paper such as multi-objective optimization and grid computing. In the next sections, we present the motivations and goals of ParadisEO, its architecture and some of its main implementation details and issues.

    Motivations and goals

    A framework is normally intended to be exploited by as many users as possible. Therefore, its exploitation could be successful only if some important user criteria are satisfied. The following criteria are the major of them and constitute the main objectives of the ParadisEO framework:

    -All the presented examples have as case study the traveling salesman problem (TSP). Different operators and auxiliary objects were designed, standing as a common shared source code base. While not being part of the ParadisEO-PEO framework, it may represent a startpoint for a better understanding of the presented tutorials.
    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +All the presented examples have as case study the traveling salesman problem (TSP). Different operators and auxiliary objects were designed, standing as a common shared source code base. While not being part of the ParadisEO-PEO framework, it may represent a startpoint for a better understanding of the presented tutorials.

    +LICENCE

    +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


    Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/mess_8cpp-source.html b/trunk/paradiseo-peo/doc/html/mess_8cpp-source.html index d7fa3e9ea..c7f5446d0 100644 --- a/trunk/paradiseo-peo/doc/html/mess_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/mess_8cpp-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: mess.cpp Source File +ParadisEO-PEOMovingObjects: mess.cpp Source File @@ -22,244 +22,272 @@ -

    mess.cpp

    00001 // "mess.cpp"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #include <mpi.h>
    -00010 #include <vector>
    -00011 
    -00012 #include "mess.h"
    -00013 #include "../../core/peo_debug.h"
    -00014 #include "node.h"
    -00015 
    -00016 #define MPI_BUF_SIZE 1024*64
    -00017         
    -00018 static char mpi_buf [MPI_BUF_SIZE];
    -00019         
    -00020 static int pos_buf ;
    -00021 
    -00022 static std :: vector <char *> act_buf; /* Active buffers */
    -00023 
    -00024 static std :: vector <MPI_Request *> act_req; /* Active requests */
    -00025 
    -00026 void cleanBuffers () {
    -00027 
    -00028   for (unsigned i = 0; i < act_req.size ();) {
    -00029        
    -00030     MPI_Status stat ;
    -00031     int flag ;
    -00032     MPI_Test (act_req [i], & flag, & stat) ;
    -00033     if (flag) {
    -00034       
    -00035       delete act_buf [i] ;
    -00036       delete act_req [i] ;
    -00037         
    -00038       act_buf [i] = act_buf.back () ;
    -00039       act_buf.pop_back () ;
    -00040       
    -00041       act_req [i] = act_req.back () ;
    -00042       act_req.pop_back () ;
    -00043     }
    -00044     else
    -00045       i ++;
    -00046   } 
    -00047 }
    -00048 
    -00049 void waitBuffers () {
    -00050 
    -00051   printDebugMessage ("waiting the termination of the asynchronous operations to complete");
    -00052 
    -00053   for (unsigned i = 0; i < act_req.size (); i ++) {
    -00054        
    -00055     MPI_Status stat ;
    -00056 
    -00057     MPI_Wait (act_req [i], & stat) ;
    -00058       
    -00059     delete act_buf [i] ;
    -00060     delete act_req [i] ;
    -00061   } 
    -00062 }
    -00063 
    -00064 bool probeMessage (int & __src, int & __tag) {
    -00065 
    -00066   int flag;
    -00067 
    -00068   MPI_Status stat;
    -00069 
    -00070   MPI_Iprobe (MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, & flag, & stat);
    -00071 
    -00072   __src = stat.MPI_SOURCE;
    -00073   __tag = stat.MPI_TAG;
    -00074 
    -00075   return flag;
    -00076 }
    -00077 
    -00078 void waitMessage () {
    -00079 
    -00080   MPI_Status stat;  
    -00081 
    -00082   MPI_Probe (MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, & stat);
    -00083 }
    +

    mess.cpp

    00001 /* 
    +00002 * <mess.cpp>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #include <mpi.h>
    +00038 #include <vector>
    +00039 
    +00040 #include "mess.h"
    +00041 #include "../../core/peo_debug.h"
    +00042 #include "node.h"
    +00043 
    +00044 #define MPI_BUF_SIZE 1024*64
    +00045         
    +00046 static char mpi_buf [MPI_BUF_SIZE];
    +00047         
    +00048 static int pos_buf ;
    +00049 
    +00050 static std :: vector <char *> act_buf; /* Active buffers */
    +00051 
    +00052 static std :: vector <MPI_Request *> act_req; /* Active requests */
    +00053 
    +00054 void cleanBuffers () {
    +00055 
    +00056   for (unsigned i = 0; i < act_req.size ();) {
    +00057        
    +00058     MPI_Status stat ;
    +00059     int flag ;
    +00060     MPI_Test (act_req [i], & flag, & stat) ;
    +00061     if (flag) {
    +00062       
    +00063       delete act_buf [i] ;
    +00064       delete act_req [i] ;
    +00065         
    +00066       act_buf [i] = act_buf.back () ;
    +00067       act_buf.pop_back () ;
    +00068       
    +00069       act_req [i] = act_req.back () ;
    +00070       act_req.pop_back () ;
    +00071     }
    +00072     else
    +00073       i ++;
    +00074   } 
    +00075 }
    +00076 
    +00077 void waitBuffers () {
    +00078 
    +00079   printDebugMessage ("waiting the termination of the asynchronous operations to complete");
    +00080 
    +00081   for (unsigned i = 0; i < act_req.size (); i ++) {
    +00082        
    +00083     MPI_Status stat ;
     00084 
    -00085 void initMessage () {
    -00086   
    -00087   pos_buf = 0;
    -00088 }
    -00089 
    -00090 void sendMessage (int __to, int __tag) {
    +00085     MPI_Wait (act_req [i], & stat) ;
    +00086       
    +00087     delete act_buf [i] ;
    +00088     delete act_req [i] ;
    +00089   } 
    +00090 }
     00091 
    -00092   cleanBuffers ();  
    -00093   act_buf.push_back (new char [pos_buf]);
    -00094   act_req.push_back (new MPI_Request);  
    -00095   memcpy (act_buf.back (), mpi_buf, pos_buf);  
    -00096   MPI_Isend (act_buf.back (), pos_buf, MPI_PACKED, __to, __tag, MPI_COMM_WORLD, act_req.back ()); 
    -00097 }
    -00098 
    -00099 void sendMessageToAll (int __tag) {
    -00100 
    -00101   for (int i = 0; i < getNumberOfNodes (); i ++)
    -00102     sendMessage (i, __tag);
    -00103 }
    -00104 
    -00105 void receiveMessage (int __from, int __tag) {
    -00106   
    -00107   MPI_Status stat;  
    -00108   MPI_Request req;
    +00092 bool probeMessage (int & __src, int & __tag) {
    +00093 
    +00094   int flag;
    +00095 
    +00096   MPI_Status stat;
    +00097 
    +00098   MPI_Iprobe (MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, & flag, & stat);
    +00099 
    +00100   __src = stat.MPI_SOURCE;
    +00101   __tag = stat.MPI_TAG;
    +00102 
    +00103   return flag;
    +00104 }
    +00105 
    +00106 void waitMessage () {
    +00107 
    +00108   MPI_Status stat;  
     00109 
    -00110   MPI_Irecv (mpi_buf, MPI_BUF_SIZE, MPI_PACKED, __from, __tag, MPI_COMM_WORLD, & req) ;
    -00111   MPI_Wait (& req, & stat) ;
    -00112 }
    -00113 
    -00114 /* Char */
    -00115 void pack (const char & __c) {
    -00116 
    -00117   MPI_Pack ((void *) & __c, 1, MPI_CHAR, mpi_buf, MPI_BUF_SIZE, & pos_buf, MPI_COMM_WORLD);
    -00118 }
    +00110   MPI_Probe (MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, & stat);
    +00111 }
    +00112 
    +00113 void initMessage () {
    +00114   
    +00115   pos_buf = 0;
    +00116 }
    +00117 
    +00118 void sendMessage (int __to, int __tag) {
     00119 
    -00120 /* Float */
    -00121 void pack (const float & __f, int __nitem) {
    -00122 
    -00123   MPI_Pack ((void *) & __f, __nitem, MPI_FLOAT, mpi_buf, MPI_BUF_SIZE, & pos_buf, MPI_COMM_WORLD);
    -00124 }
    -00125 
    -00126 /* Double */
    -00127 void pack (const double & __d, int __nitem) {
    +00120   cleanBuffers ();  
    +00121   act_buf.push_back (new char [pos_buf]);
    +00122   act_req.push_back (new MPI_Request);  
    +00123   memcpy (act_buf.back (), mpi_buf, pos_buf);  
    +00124   MPI_Isend (act_buf.back (), pos_buf, MPI_PACKED, __to, __tag, MPI_COMM_WORLD, act_req.back ()); 
    +00125 }
    +00126 
    +00127 void sendMessageToAll (int __tag) {
     00128 
    -00129   MPI_Pack ((void *) & __d, __nitem, MPI_DOUBLE, mpi_buf, MPI_BUF_SIZE, & pos_buf, MPI_COMM_WORLD);
    -00130 }
    -00131 
    -00132 /* Integer */
    -00133 void pack (const int & __i, int __nitem) {
    -00134 
    -00135   MPI_Pack ((void *) & __i, __nitem, MPI_INT, mpi_buf, MPI_BUF_SIZE, & pos_buf, MPI_COMM_WORLD);
    -00136 }
    +00129   for (int i = 0; i < getNumberOfNodes (); i ++)
    +00130     sendMessage (i, __tag);
    +00131 }
    +00132 
    +00133 void receiveMessage (int __from, int __tag) {
    +00134   
    +00135   MPI_Status stat;  
    +00136   MPI_Request req;
     00137 
    -00138 /* Unsigned int. */
    -00139 void pack (const unsigned int & __ui, int __nitem) {
    -00140 
    -00141   MPI_Pack ((void *) & __ui, __nitem, MPI_UNSIGNED, mpi_buf, MPI_BUF_SIZE, & pos_buf, MPI_COMM_WORLD);
    -00142 }
    -00143 
    -00144 /* Short int. */
    -00145 void pack (const short & __sh, int __nitem) {
    -00146 
    -00147   MPI_Pack ((void *) & __sh, __nitem, MPI_SHORT, mpi_buf, MPI_BUF_SIZE, & pos_buf, MPI_COMM_WORLD);
    -00148 }
    -00149 
    -00150 /* Unsigned short */
    -00151 void pack (const unsigned short & __ush, int __nitem) {
    -00152 
    -00153   MPI_Pack ((void *) & __ush, __nitem, MPI_UNSIGNED_SHORT, mpi_buf, MPI_BUF_SIZE, & pos_buf, MPI_COMM_WORLD);
    -00154 }
    -00155 
    -00156 /* Long */
    -00157 void pack (const long & __l, int __nitem) {
    -00158 
    -00159   MPI_Pack ((void *) & __l, __nitem, MPI_LONG, mpi_buf, MPI_BUF_SIZE, & pos_buf, MPI_COMM_WORLD);
    -00160 }
    -00161 
    -00162 /* Unsigned long */
    -00163 void pack (const unsigned long & __ul, int __nitem) {
    -00164 
    -00165   MPI_Pack ((void *) & __ul, __nitem, MPI_UNSIGNED_LONG, mpi_buf, MPI_BUF_SIZE, & pos_buf, MPI_COMM_WORLD);
    -00166 }
    -00167 
    -00168 /* String */
    -00169 void pack (const char * __str) {
    -00170   
    -00171   int len = strlen (__str) + 1;
    -00172   MPI_Pack (& len, 1, MPI_INT, mpi_buf, MPI_BUF_SIZE, & pos_buf, MPI_COMM_WORLD);
    -00173   MPI_Pack ((void *) __str, len, MPI_CHAR, mpi_buf, MPI_BUF_SIZE, & pos_buf, MPI_COMM_WORLD);
    -00174 }
    -00175 
    -00176 /* Char */
    -00177 void unpack (char & __c) {
    -00178 
    -00179   MPI_Unpack (mpi_buf, MPI_BUF_SIZE, & pos_buf, & __c, 1, MPI_CHAR, MPI_COMM_WORLD);
    -00180 }
    -00181 
    -00182 /* Float */
    -00183 void unpack (float & __f, int __nitem) {
    -00184 
    -00185   MPI_Unpack (mpi_buf, MPI_BUF_SIZE, & pos_buf, & __f, __nitem, MPI_FLOAT, MPI_COMM_WORLD);
    -00186 }
    -00187 
    -00188 /* Double */
    -00189 void unpack (double & __d, int __nitem) {
    -00190 
    -00191   MPI_Unpack (mpi_buf, MPI_BUF_SIZE, & pos_buf, & __d, __nitem, MPI_DOUBLE, MPI_COMM_WORLD);
    -00192 }
    -00193 
    -00194 /* Integer */
    -00195 void unpack (int & __i, int __nitem) {
    -00196 
    -00197   MPI_Unpack (mpi_buf, MPI_BUF_SIZE, & pos_buf, & __i, __nitem, MPI_INT, MPI_COMM_WORLD);
    -00198 }
    -00199 
    -00200 /* Unsigned int. */
    -00201 void unpack (unsigned int & __ui, int __nitem) {
    -00202 
    -00203   MPI_Unpack (mpi_buf, MPI_BUF_SIZE, & pos_buf, & __ui, __nitem, MPI_UNSIGNED, MPI_COMM_WORLD);
    -00204 }
    -00205 
    -00206 /* Short int. */
    -00207 void unpack (short & __sh, int __nitem) {
    -00208 
    -00209   MPI_Unpack (mpi_buf, MPI_BUF_SIZE, & pos_buf, & __sh, __nitem, MPI_SHORT, MPI_COMM_WORLD);
    -00210 }
    -00211 
    -00212 /* Unsigned short */
    -00213 void unpack (unsigned short & __ush, int __nitem) {
    -00214 
    -00215   MPI_Unpack (mpi_buf, MPI_BUF_SIZE, & pos_buf, & __ush, __nitem, MPI_UNSIGNED_SHORT, MPI_COMM_WORLD);
    -00216 }
    -00217 
    -00218 /* Long */
    -00219 void unpack (long & __l, int __nitem) {
    -00220 
    -00221   MPI_Unpack (mpi_buf, MPI_BUF_SIZE, & pos_buf, & __l, __nitem, MPI_LONG, MPI_COMM_WORLD);
    -00222 }
    -00223 
    -00224 /* Unsigned long */
    -00225 void unpack (unsigned long & __ul, int __nitem) {
    -00226 
    -00227   MPI_Unpack (mpi_buf, MPI_BUF_SIZE, & pos_buf, & __ul, __nitem, MPI_UNSIGNED_LONG, MPI_COMM_WORLD);
    -00228 }
    -00229 
    -00230 /* String */
    -00231 void unpack (char * __str) {
    -00232 
    -00233   int len;
    -00234   MPI_Unpack (mpi_buf, MPI_BUF_SIZE, & pos_buf, & len, 1, MPI_INT, MPI_COMM_WORLD);
    -00235   MPI_Unpack (mpi_buf, MPI_BUF_SIZE, & pos_buf, __str, len, MPI_CHAR, MPI_COMM_WORLD);    
    -00236 }
    -00237 
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00138 MPI_Irecv (mpi_buf, MPI_BUF_SIZE, MPI_PACKED, __from, __tag, MPI_COMM_WORLD, & req) ; +00139 MPI_Wait (& req, & stat) ; +00140 } +00141 +00142 /* Char */ +00143 void pack (const char & __c) { +00144 +00145 MPI_Pack ((void *) & __c, 1, MPI_CHAR, mpi_buf, MPI_BUF_SIZE, & pos_buf, MPI_COMM_WORLD); +00146 } +00147 +00148 /* Float */ +00149 void pack (const float & __f, int __nitem) { +00150 +00151 MPI_Pack ((void *) & __f, __nitem, MPI_FLOAT, mpi_buf, MPI_BUF_SIZE, & pos_buf, MPI_COMM_WORLD); +00152 } +00153 +00154 /* Double */ +00155 void pack (const double & __d, int __nitem) { +00156 +00157 MPI_Pack ((void *) & __d, __nitem, MPI_DOUBLE, mpi_buf, MPI_BUF_SIZE, & pos_buf, MPI_COMM_WORLD); +00158 } +00159 +00160 /* Integer */ +00161 void pack (const int & __i, int __nitem) { +00162 +00163 MPI_Pack ((void *) & __i, __nitem, MPI_INT, mpi_buf, MPI_BUF_SIZE, & pos_buf, MPI_COMM_WORLD); +00164 } +00165 +00166 /* Unsigned int. */ +00167 void pack (const unsigned int & __ui, int __nitem) { +00168 +00169 MPI_Pack ((void *) & __ui, __nitem, MPI_UNSIGNED, mpi_buf, MPI_BUF_SIZE, & pos_buf, MPI_COMM_WORLD); +00170 } +00171 +00172 /* Short int. */ +00173 void pack (const short & __sh, int __nitem) { +00174 +00175 MPI_Pack ((void *) & __sh, __nitem, MPI_SHORT, mpi_buf, MPI_BUF_SIZE, & pos_buf, MPI_COMM_WORLD); +00176 } +00177 +00178 /* Unsigned short */ +00179 void pack (const unsigned short & __ush, int __nitem) { +00180 +00181 MPI_Pack ((void *) & __ush, __nitem, MPI_UNSIGNED_SHORT, mpi_buf, MPI_BUF_SIZE, & pos_buf, MPI_COMM_WORLD); +00182 } +00183 +00184 /* Long */ +00185 void pack (const long & __l, int __nitem) { +00186 +00187 MPI_Pack ((void *) & __l, __nitem, MPI_LONG, mpi_buf, MPI_BUF_SIZE, & pos_buf, MPI_COMM_WORLD); +00188 } +00189 +00190 /* Unsigned long */ +00191 void pack (const unsigned long & __ul, int __nitem) { +00192 +00193 MPI_Pack ((void *) & __ul, __nitem, MPI_UNSIGNED_LONG, mpi_buf, MPI_BUF_SIZE, & pos_buf, MPI_COMM_WORLD); +00194 } +00195 +00196 /* String */ +00197 void pack (const char * __str) { +00198 +00199 int len = strlen (__str) + 1; +00200 MPI_Pack (& len, 1, MPI_INT, mpi_buf, MPI_BUF_SIZE, & pos_buf, MPI_COMM_WORLD); +00201 MPI_Pack ((void *) __str, len, MPI_CHAR, mpi_buf, MPI_BUF_SIZE, & pos_buf, MPI_COMM_WORLD); +00202 } +00203 +00204 /* Char */ +00205 void unpack (char & __c) { +00206 +00207 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, & pos_buf, & __c, 1, MPI_CHAR, MPI_COMM_WORLD); +00208 } +00209 +00210 /* Float */ +00211 void unpack (float & __f, int __nitem) { +00212 +00213 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, & pos_buf, & __f, __nitem, MPI_FLOAT, MPI_COMM_WORLD); +00214 } +00215 +00216 /* Double */ +00217 void unpack (double & __d, int __nitem) { +00218 +00219 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, & pos_buf, & __d, __nitem, MPI_DOUBLE, MPI_COMM_WORLD); +00220 } +00221 +00222 /* Integer */ +00223 void unpack (int & __i, int __nitem) { +00224 +00225 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, & pos_buf, & __i, __nitem, MPI_INT, MPI_COMM_WORLD); +00226 } +00227 +00228 /* Unsigned int. */ +00229 void unpack (unsigned int & __ui, int __nitem) { +00230 +00231 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, & pos_buf, & __ui, __nitem, MPI_UNSIGNED, MPI_COMM_WORLD); +00232 } +00233 +00234 /* Short int. */ +00235 void unpack (short & __sh, int __nitem) { +00236 +00237 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, & pos_buf, & __sh, __nitem, MPI_SHORT, MPI_COMM_WORLD); +00238 } +00239 +00240 /* Unsigned short */ +00241 void unpack (unsigned short & __ush, int __nitem) { +00242 +00243 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, & pos_buf, & __ush, __nitem, MPI_UNSIGNED_SHORT, MPI_COMM_WORLD); +00244 } +00245 +00246 /* Long */ +00247 void unpack (long & __l, int __nitem) { +00248 +00249 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, & pos_buf, & __l, __nitem, MPI_LONG, MPI_COMM_WORLD); +00250 } +00251 +00252 /* Unsigned long */ +00253 void unpack (unsigned long & __ul, int __nitem) { +00254 +00255 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, & pos_buf, & __ul, __nitem, MPI_UNSIGNED_LONG, MPI_COMM_WORLD); +00256 } +00257 +00258 /* String */ +00259 void unpack (char * __str) { +00260 +00261 int len; +00262 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, & pos_buf, & len, 1, MPI_INT, MPI_COMM_WORLD); +00263 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, & pos_buf, __str, len, MPI_CHAR, MPI_COMM_WORLD); +00264 } +00265 +

    Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/mess_8h-source.html b/trunk/paradiseo-peo/doc/html/mess_8h-source.html index 5ea857a68..533c566e8 100644 --- a/trunk/paradiseo-peo/doc/html/mess_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/mess_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: mess.h Source File +ParadisEO-PEOMovingObjects: mess.h Source File @@ -22,38 +22,66 @@ -

    mess.h

    00001 // "mess.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __mess_rmc_h
    -00010 #define __mess_rmc_h
    -00011 
    -00012 #include "../../core/messaging.h"
    -00013 
    -00014 extern void initMessage ();
    -00015 
    -00016 extern void sendMessage (int __to, int __tag);
    -00017 
    -00018 extern void sendMessageToAll (int __tag);
    -00019 
    -00020 extern void receiveMessage (int __from, int __tag);
    -00021 
    -00022 extern void cleanBuffers ();
    -00023 
    -00024 extern void waitBuffers ();
    -00025 
    -00026 extern bool probeMessage (int & __src, int & __tag);
    -00027 
    -00028 extern void waitMessage ();
    -00029 
    -00030 #endif
    -00031 
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    mess.h

    00001 /* 
    +00002 * <mess.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __mess_rmc_h
    +00038 #define __mess_rmc_h
    +00039 
    +00040 #include "../../core/messaging.h"
    +00041 
    +00042 extern void initMessage ();
    +00043 
    +00044 extern void sendMessage (int __to, int __tag);
    +00045 
    +00046 extern void sendMessageToAll (int __tag);
    +00047 
    +00048 extern void receiveMessage (int __from, int __tag);
    +00049 
    +00050 extern void cleanBuffers ();
    +00051 
    +00052 extern void waitBuffers ();
    +00053 
    +00054 extern bool probeMessage (int & __src, int & __tag);
    +00055 
    +00056 extern void waitMessage ();
    +00057 
    +00058 #endif
    +00059 
    +

    Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/messaging_8h-source.html b/trunk/paradiseo-peo/doc/html/messaging_8h-source.html index 7ddd053fc..2aef19eda 100644 --- a/trunk/paradiseo-peo/doc/html/messaging_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/messaging_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: messaging.h Source File +ParadisEO-PEOMovingObjects: messaging.h Source File @@ -22,111 +22,139 @@ -

    messaging.h

    00001 // "messaging.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __mess_h
    -00010 #define __mess_h
    -00011 
    -00012 #include <utility>
    -00013 
    -00014 /* Char */
    -00015 extern void pack (const char & __c); 
    -00016 
    -00017 /* Float */
    -00018 extern void pack (const float & __f, int __nitem = 1); 
    -00019 
    -00020 /* Double */
    -00021 extern void pack (const double & __d, int __nitem = 1); 
    -00022 
    -00023 /* Integer */
    -00024 extern void pack (const int & __i, int __nitem = 1); 
    -00025 
    -00026 /* Unsigned int. */
    -00027 extern void pack (const unsigned int & __ui, int __nitem = 1); 
    -00028 
    -00029 /* Short int. */
    -00030 extern void pack (const short & __sh, int __nitem = 1); 
    -00031 
    -00032 /* Unsigned short */
    -00033 extern void pack (const unsigned short & __ush, int __nitem = 1);
    -00034 
    -00035 /* Long */
    -00036 extern void pack (const long & __l, int __nitem = 1); 
    -00037 
    -00038 /* Unsigned long */
    -00039 extern void pack (const unsigned long & __ul, int __nitem = 1); 
    -00040 
    -00041 /* String */
    -00042 extern void pack (const char * __str); 
    -00043 
    -00044 /* Pointer */
    -00045 template <class T> void pack (const T * __ptr) {
    -00046   
    -00047   pack ((unsigned long) __ptr); 
    -00048 }
    -00049 
    -00050 /* Pair */
    -00051 template <class U, class V> void pack (const std :: pair <U, V> & __pair) {
    -00052   
    -00053   pack (__pair.first);
    -00054   pack (__pair.second);
    -00055 }
    +

    messaging.h

    00001 /* 
    +00002 * <messaging.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __mess_h
    +00038 #define __mess_h
    +00039 
    +00040 #include <utility>
    +00041 
    +00042 /* Char */
    +00043 extern void pack (const char & __c); 
    +00044 
    +00045 /* Float */
    +00046 extern void pack (const float & __f, int __nitem = 1); 
    +00047 
    +00048 /* Double */
    +00049 extern void pack (const double & __d, int __nitem = 1); 
    +00050 
    +00051 /* Integer */
    +00052 extern void pack (const int & __i, int __nitem = 1); 
    +00053 
    +00054 /* Unsigned int. */
    +00055 extern void pack (const unsigned int & __ui, int __nitem = 1); 
     00056 
    -00057 //
    -00058 
    -00059 /* Float */
    -00060 extern void unpack (char & __c); 
    -00061 
    -00062 /* Float */
    -00063 extern void unpack (float & __f, int __nitem = 1); 
    -00064 
    -00065 /* Double */
    -00066 extern void unpack (double & __d, int __nitem = 1); 
    -00067 
    -00068 /* Integer */
    -00069 extern void unpack (int & __i, int __nitem = 1); 
    -00070 
    -00071 /* Unsigned int. */
    -00072 extern void unpack (unsigned int & __ui, int __nitem = 1); 
    -00073 
    -00074 /* Short int. */
    -00075 extern void unpack (short & __sh, int __nitem = 1); 
    -00076 
    -00077 /* Unsigned short */
    -00078 extern void unpack (unsigned short & __ush, int __nitem = 1);
    -00079 
    -00080 /* Long */
    -00081 extern void unpack (long & __l, int __nitem = 1); 
    -00082 
    -00083 /* Unsigned long */
    -00084 extern void unpack (unsigned long & __ul, int __nitem = 1); 
    -00085 
    -00086 /* String */
    -00087 extern void unpack (char * __str); 
    -00088 
    -00089 /* Pointer */
    -00090 template <class T> void unpack (T * & __ptr) {
    -00091   
    -00092   unsigned long p;
    -00093   unpack (p);
    -00094   __ptr = (T *) p;
    -00095 }
    -00096 
    -00097 /* Pair */
    -00098 template <class U, class V> void unpack (std :: pair <U, V> & __pair) {
    -00099   
    -00100   unpack (__pair.first);
    -00101   unpack (__pair.second);
    -00102 }
    -00103 
    -00104 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00057 /* Short int. */ +00058 extern void pack (const short & __sh, int __nitem = 1); +00059 +00060 /* Unsigned short */ +00061 extern void pack (const unsigned short & __ush, int __nitem = 1); +00062 +00063 /* Long */ +00064 extern void pack (const long & __l, int __nitem = 1); +00065 +00066 /* Unsigned long */ +00067 extern void pack (const unsigned long & __ul, int __nitem = 1); +00068 +00069 /* String */ +00070 extern void pack (const char * __str); +00071 +00072 /* Pointer */ +00073 template <class T> void pack (const T * __ptr) { +00074 +00075 pack ((unsigned long) __ptr); +00076 } +00077 +00078 /* Pair */ +00079 template <class U, class V> void pack (const std :: pair <U, V> & __pair) { +00080 +00081 pack (__pair.first); +00082 pack (__pair.second); +00083 } +00084 +00085 // +00086 +00087 /* Float */ +00088 extern void unpack (char & __c); +00089 +00090 /* Float */ +00091 extern void unpack (float & __f, int __nitem = 1); +00092 +00093 /* Double */ +00094 extern void unpack (double & __d, int __nitem = 1); +00095 +00096 /* Integer */ +00097 extern void unpack (int & __i, int __nitem = 1); +00098 +00099 /* Unsigned int. */ +00100 extern void unpack (unsigned int & __ui, int __nitem = 1); +00101 +00102 /* Short int. */ +00103 extern void unpack (short & __sh, int __nitem = 1); +00104 +00105 /* Unsigned short */ +00106 extern void unpack (unsigned short & __ush, int __nitem = 1); +00107 +00108 /* Long */ +00109 extern void unpack (long & __l, int __nitem = 1); +00110 +00111 /* Unsigned long */ +00112 extern void unpack (unsigned long & __ul, int __nitem = 1); +00113 +00114 /* String */ +00115 extern void unpack (char * __str); +00116 +00117 /* Pointer */ +00118 template <class T> void unpack (T * & __ptr) { +00119 +00120 unsigned long p; +00121 unpack (p); +00122 __ptr = (T *) p; +00123 } +00124 +00125 /* Pair */ +00126 template <class U, class V> void unpack (std :: pair <U, V> & __pair) { +00127 +00128 unpack (__pair.first); +00129 unpack (__pair.second); +00130 } +00131 +00132 #endif +

    Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/namespacemembers.html b/trunk/paradiseo-peo/doc/html/namespacemembers.html index 109c93d9e..8c60760fa 100644 --- a/trunk/paradiseo-peo/doc/html/namespacemembers.html +++ b/trunk/paradiseo-peo/doc/html/namespacemembers.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: Class Members +ParadisEO-PEOMovingObjects: Class Members @@ -44,7 +44,7 @@ Here is a list of all documented namespace members with links to the namespaces : peo
  • loadParameters() : peo
  • run() : peo -
    Generated on Thu Jul 5 13:43:31 2007 for ParadisEO-PEO by  +
    Generated on Mon Oct 8 11:16:50 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/namespacemembers_func.html b/trunk/paradiseo-peo/doc/html/namespacemembers_func.html index 0d0d5cb4a..66dbca22c 100644 --- a/trunk/paradiseo-peo/doc/html/namespacemembers_func.html +++ b/trunk/paradiseo-peo/doc/html/namespacemembers_func.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: Class Members +ParadisEO-PEOMovingObjects: Class Members @@ -42,7 +42,7 @@ : peo
  • loadParameters() : peo
  • run() : peo -
    Generated on Thu Jul 5 13:43:31 2007 for ParadisEO-PEO by  +
    Generated on Mon Oct 8 11:16:50 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/namespacemembers_vars.html b/trunk/paradiseo-peo/doc/html/namespacemembers_vars.html index 07a05bdb4..d4063dec2 100644 --- a/trunk/paradiseo-peo/doc/html/namespacemembers_vars.html +++ b/trunk/paradiseo-peo/doc/html/namespacemembers_vars.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: Class Members +ParadisEO-PEOMovingObjects: Class Members @@ -40,7 +40,7 @@
  • argc : peo
  • argv : peo -
    Generated on Thu Jul 5 13:43:31 2007 for ParadisEO-PEO by  +
    Generated on Mon Oct 8 11:16:50 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/namespacepeo.html b/trunk/paradiseo-peo/doc/html/namespacepeo.html index 6d21f01fe..a694168dc 100644 --- a/trunk/paradiseo-peo/doc/html/namespacepeo.html +++ b/trunk/paradiseo-peo/doc/html/namespacepeo.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: peo Namespace Reference +ParadisEO-PEOMovingObjects: peo Namespace Reference @@ -58,7 +58,7 @@ int * argv -
    Generated on Thu Jul 5 13:43:31 2007 for ParadisEO-PEO by  +
    Generated on Mon Oct 8 11:16:50 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/namespaces.html b/trunk/paradiseo-peo/doc/html/namespaces.html index 4bc5709b7..29be8b450 100644 --- a/trunk/paradiseo-peo/doc/html/namespaces.html +++ b/trunk/paradiseo-peo/doc/html/namespaces.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: Namespace Index +ParadisEO-PEOMovingObjects: Namespace Index @@ -27,10 +27,10 @@
  • Namespace List
  • Namespace Members
  • -

    ParadisEO-PEO Namespace List

    Here is a list of all documented namespaces with brief descriptions: +

    ParadisEO-PEOMovingObjects Namespace List

    Here is a list of all documented namespaces with brief descriptions:
    peo
    -
    Generated on Thu Jul 5 13:43:31 2007 for ParadisEO-PEO by  +
    Generated on Mon Oct 8 11:16:50 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peoAggEvalFunc_8h-source.html b/trunk/paradiseo-peo/doc/html/peoAggEvalFunc_8h-source.html index 4f975e5c3..d3c30f0b8 100644 --- a/trunk/paradiseo-peo/doc/html/peoAggEvalFunc_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peoAggEvalFunc_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: peoAggEvalFunc.h Source File +ParadisEO-PEOMovingObjects: peoAggEvalFunc.h Source File @@ -22,27 +22,55 @@ -

    peoAggEvalFunc.h

    00001 // "peoAggEvalFunc.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __peoAggEvalFunc_h
    -00010 #define __peoAggEvalFunc_h
    -00011 
    -00012 #include <eoFunctor.h>
    -00013 
    -00015 
    -00025 template< class EOT > class peoAggEvalFunc : public eoBF< EOT&, const typename EOT :: Fitness&, void > {
    -00026 
    -00027 };
    -00028 
    -00029 
    -00030 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    peoAggEvalFunc.h

    00001 /* 
    +00002 * <peoAggEvalFunc.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __peoAggEvalFunc_h
    +00038 #define __peoAggEvalFunc_h
    +00039 
    +00040 #include <eoFunctor.h>
    +00041 
    +00043 
    +00053 template< class EOT > class peoAggEvalFunc : public eoBF< EOT&, const typename EOT :: Fitness&, void > {
    +00054 
    +00055 };
    +00056 
    +00057 
    +00058 #endif
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peoAsyncIslandMig_8h-source.html b/trunk/paradiseo-peo/doc/html/peoAsyncIslandMig_8h-source.html index 5fd95a748..221bda745 100644 --- a/trunk/paradiseo-peo/doc/html/peoAsyncIslandMig_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peoAsyncIslandMig_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: peoAsyncIslandMig.h Source File +ParadisEO-PEOMovingObjects: peoAsyncIslandMig.h Source File @@ -22,167 +22,195 @@ -

    peoAsyncIslandMig.h

    00001 // "peoAsyncIslandMig.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __peoAsyncIslandMig_h
    -00010 #define __peoAsyncIslandMig_h
    -00011 
    -00012 
    -00013 #include <queue>
    -00014 
    -00015 #include <utils/eoUpdater.h>
    -00016 
    -00017 #include <eoContinue.h>
    -00018 #include <eoSelect.h>
    -00019 #include <eoReplacement.h>
    -00020 #include <eoPop.h>
    -00021 
    -00022 #include "core/topology.h"
    -00023 #include "core/cooperative.h"
    -00024 #include "core/eoPop_comm.h"
    -00025 #include "core/peo_debug.h"
    -00026 
    -00027 
    -00029 
    -00112 template< class EOT > class peoAsyncIslandMig : public Cooperative, public eoUpdater {
    -00113 
    -00114 public:
    -00115 
    -00125         peoAsyncIslandMig( 
    -00126                                 eoContinue< EOT >& __cont,
    -00127                                 eoSelect< EOT >& __select,
    -00128                                 eoReplacement< EOT >& __replace,
    -00129                                 Topology& __topology,
    -00130                                 eoPop< EOT >& __source,
    -00131                                 eoPop< EOT >& __destination 
    -00132         );
    -00133 
    -00138         void operator()();
    -00139         
    -00141         void pack();
    -00143         void unpack();
    -00144 
    -00145 
    -00146 private:
    -00147 
    -00148         void emigrate();
    -00149         void immigrate();
    -00150 
    -00151 
    -00152 private:
    -00153 
    -00154         eoContinue< EOT >& cont;        // continuator
    -00155         eoSelect< EOT >& select;        // the selection strategy
    -00156         eoReplacement< EOT >& replace;  // the replacement strategy
    -00157         Topology& topology;             // the neighboring topology
    -00158         
    -00159         // source and destination populations
    -00160         eoPop< EOT >& source;
    -00161         eoPop< EOT >& destination;
    -00162         
    -00163         // immigrants & emigrants in the queue
    -00164         std :: queue< eoPop< EOT > > imm;
    -00165         std :: queue< eoPop< EOT > > em;
    -00166         
    -00167         std :: queue< Cooperative* > coop_em;
    -00168 };
    -00169 
    -00170 
    -00171 template< class EOT > peoAsyncIslandMig< EOT > :: peoAsyncIslandMig(
    +

    peoAsyncIslandMig.h

    00001 /* 
    +00002 * <peoAsyncIslandMig.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __peoAsyncIslandMig_h
    +00038 #define __peoAsyncIslandMig_h
    +00039 
    +00040 
    +00041 #include <queue>
    +00042 
    +00043 #include <utils/eoUpdater.h>
    +00044 
    +00045 #include <eoContinue.h>
    +00046 #include <eoSelect.h>
    +00047 #include <eoReplacement.h>
    +00048 #include <eoPop.h>
    +00049 
    +00050 #include "core/topology.h"
    +00051 #include "core/cooperative.h"
    +00052 #include "core/eoPop_comm.h"
    +00053 #include "core/peo_debug.h"
    +00054 
    +00055 
    +00057 
    +00140 template< class EOT > class peoAsyncIslandMig : public Cooperative, public eoUpdater {
    +00141 
    +00142 public:
    +00143 
    +00153         peoAsyncIslandMig( 
    +00154                                 eoContinue< EOT >& __cont,
    +00155                                 eoSelect< EOT >& __select,
    +00156                                 eoReplacement< EOT >& __replace,
    +00157                                 Topology& __topology,
    +00158                                 eoPop< EOT >& __source,
    +00159                                 eoPop< EOT >& __destination 
    +00160         );
    +00161 
    +00166         void operator()();
    +00167         
    +00169         void pack();
    +00171         void unpack();
     00172 
    -00173                 eoContinue< EOT >& __cont,
    -00174                 eoSelect< EOT >& __select,
    -00175                 eoReplacement< EOT >& __replace,
    -00176                 Topology& __topology,
    -00177                 eoPop< EOT >& __source,
    -00178                 eoPop< EOT >& __destination
    +00173 
    +00174 private:
    +00175 
    +00176         void emigrate();
    +00177         void immigrate();
    +00178 
     00179 
    -00180         ) : cont( __cont ), select( __select ), replace( __replace ), topology( __topology ), source( __source ), destination( __destination )
    -00181 {
    -00182 
    -00183         __topology.add( *this );
    -00184 }
    -00185 
    -00186 
    -00187 template< class EOT > void peoAsyncIslandMig< EOT > :: pack()
    -00188 {
    -00189 
    -00190         lock(); {
    -00191 
    -00192 		 :: pack( coop_em.front()->getKey() );
    -00193 		 :: pack( em.front() );
    -00194                 coop_em.pop();
    -00195                 em.pop();
    -00196         }
    -00197         unlock();
    -00198 }
    -00199 
    +00180 private:
    +00181 
    +00182         eoContinue< EOT >& cont;        // continuator
    +00183         eoSelect< EOT >& select;        // the selection strategy
    +00184         eoReplacement< EOT >& replace;  // the replacement strategy
    +00185         Topology& topology;             // the neighboring topology
    +00186         
    +00187         // source and destination populations
    +00188         eoPop< EOT >& source;
    +00189         eoPop< EOT >& destination;
    +00190         
    +00191         // immigrants & emigrants in the queue
    +00192         std :: queue< eoPop< EOT > > imm;
    +00193         std :: queue< eoPop< EOT > > em;
    +00194         
    +00195         std :: queue< Cooperative* > coop_em;
    +00196 };
    +00197 
    +00198 
    +00199 template< class EOT > peoAsyncIslandMig< EOT > :: peoAsyncIslandMig(
     00200 
    -00201 template< class EOT > void peoAsyncIslandMig< EOT > :: unpack()
    -00202 {
    -00203 
    -00204         lock(); {
    -00205 
    -00206                 eoPop< EOT > mig;
    -00207 		 :: unpack( mig );
    -00208                 imm.push( mig );
    -00209         }
    -00210         unlock();
    -00211 }
    -00212 
    +00201                 eoContinue< EOT >& __cont,
    +00202                 eoSelect< EOT >& __select,
    +00203                 eoReplacement< EOT >& __replace,
    +00204                 Topology& __topology,
    +00205                 eoPop< EOT >& __source,
    +00206                 eoPop< EOT >& __destination
    +00207 
    +00208         ) : cont( __cont ), select( __select ), replace( __replace ), topology( __topology ), source( __source ), destination( __destination )
    +00209 {
    +00210 
    +00211         __topology.add( *this );
    +00212 }
     00213 
    -00214 template< class EOT > void peoAsyncIslandMig< EOT > :: emigrate()
    -00215 {
    -00216 
    -00217         std :: vector< Cooperative* >in, out;
    -00218         topology.setNeighbors( this, in, out );
    -00219 
    -00220         for ( unsigned i = 0; i < out.size(); i++ ) {
    -00221         
    -00222                 eoPop< EOT > mig;
    -00223                 select( source, mig );
    -00224                 em.push( mig );
    -00225                 coop_em.push( out[i] );
    -00226                 send( out[i] );
    -00227                 printDebugMessage( "sending some emigrants." );
    -00228         }
    -00229 }
    -00230 
    +00214 
    +00215 template< class EOT > void peoAsyncIslandMig< EOT > :: pack()
    +00216 {
    +00217 
    +00218         lock(); {
    +00219 
    +00220 		 :: pack( coop_em.front()->getKey() );
    +00221 		 :: pack( em.front() );
    +00222                 coop_em.pop();
    +00223                 em.pop();
    +00224         }
    +00225         unlock();
    +00226 }
    +00227 
    +00228 
    +00229 template< class EOT > void peoAsyncIslandMig< EOT > :: unpack()
    +00230 {
     00231 
    -00232 template< class EOT > void peoAsyncIslandMig< EOT > :: immigrate()
    -00233 {
    -00234 
    -00235         lock(); {
    -00236 
    -00237                 while ( !imm.empty() ) {
    -00238 
    -00239                         replace( destination, imm.front() );
    -00240                         imm.pop();
    -00241                         printDebugMessage( "receiving some immigrants." );
    -00242                 }
    -00243         }
    -00244         unlock();
    -00245 }
    -00246 
    +00232         lock(); {
    +00233 
    +00234                 eoPop< EOT > mig;
    +00235 		 :: unpack( mig );
    +00236                 imm.push( mig );
    +00237         }
    +00238         unlock();
    +00239 }
    +00240 
    +00241 
    +00242 template< class EOT > void peoAsyncIslandMig< EOT > :: emigrate()
    +00243 {
    +00244 
    +00245         std :: vector< Cooperative* >in, out;
    +00246         topology.setNeighbors( this, in, out );
     00247 
    -00248 template< class EOT > void peoAsyncIslandMig< EOT > :: operator()() {
    -00249 
    -00250         if ( !cont( source ) ) {
    -00251 
    -00252                 emigrate();     // sending emigrants
    -00253                 immigrate();    // receiving immigrants
    -00254         }
    -00255 }
    -00256 
    -00257 
    -00258 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00248 for ( unsigned i = 0; i < out.size(); i++ ) { +00249 +00250 eoPop< EOT > mig; +00251 select( source, mig ); +00252 em.push( mig ); +00253 coop_em.push( out[i] ); +00254 send( out[i] ); +00255 printDebugMessage( "sending some emigrants." ); +00256 } +00257 } +00258 +00259 +00260 template< class EOT > void peoAsyncIslandMig< EOT > :: immigrate() +00261 { +00262 +00263 lock(); { +00264 +00265 while ( !imm.empty() ) { +00266 +00267 replace( destination, imm.front() ); +00268 imm.pop(); +00269 printDebugMessage( "receiving some immigrants." ); +00270 } +00271 } +00272 unlock(); +00273 } +00274 +00275 +00276 template< class EOT > void peoAsyncIslandMig< EOT > :: operator()() { +00277 +00278 if ( !cont( source ) ) { +00279 +00280 emigrate(); // sending emigrants +00281 immigrate(); // receiving immigrants +00282 } +00283 } +00284 +00285 +00286 #endif +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peoEA_8h-source.html b/trunk/paradiseo-peo/doc/html/peoEA_8h-source.html index 3b64581a1..3913a0cc9 100644 --- a/trunk/paradiseo-peo/doc/html/peoEA_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peoEA_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: peoEA.h Source File +ParadisEO-PEOMovingObjects: peoEA.h Source File @@ -22,106 +22,134 @@ -

    peoEA.h

    00001 // "peoEA.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __peoEA_h
    -00010 #define __peoEA_h
    -00011 
    -00012 #include <eoContinue.h>
    -00013 #include <eoEvalFunc.h>
    -00014 #include <eoSelect.h>
    -00015 #include <eoPopEvalFunc.h>
    -00016 #include <eoReplacement.h>
    -00017 
    -00018 #include "peoPopEval.h"
    -00019 #include "peoTransform.h"
    -00020 #include "core/runner.h"
    -00021 #include "core/peo_debug.h"
    -00022 
    -00024 
    -00054 template < class EOT > class peoEA : public Runner {
    -00055 
    -00056 public:
    -00057 
    -00069         peoEA( 
    -00070                 eoContinue< EOT >& __cont,
    -00071                 peoPopEval< EOT >& __pop_eval,
    -00072                 eoSelect< EOT >& __select,
    -00073                 peoTransform< EOT >& __trans,
    -00074                 eoReplacement< EOT >& __replace 
    -00075         );
    -00076 
    -00079         void run();
    -00080         
    -00084         void operator()( eoPop< EOT >& __pop );
    +

    peoEA.h

    00001 /* 
    +00002 * <peoEA.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __peoEA_h
    +00038 #define __peoEA_h
    +00039 
    +00040 #include <eoContinue.h>
    +00041 #include <eoEvalFunc.h>
    +00042 #include <eoSelect.h>
    +00043 #include <eoPopEvalFunc.h>
    +00044 #include <eoReplacement.h>
    +00045 
    +00046 #include "peoPopEval.h"
    +00047 #include "peoTransform.h"
    +00048 #include "core/runner.h"
    +00049 #include "core/peo_debug.h"
    +00050 
    +00052 
    +00082 template < class EOT > class peoEA : public Runner {
    +00083 
    +00084 public:
     00085 
    -00086 private:
    -00087 
    -00088 
    -00089         eoContinue< EOT >& cont;
    -00090         peoPopEval< EOT >& pop_eval;
    -00091         eoSelect< EOT >& select;
    -00092         peoTransform< EOT >& trans;
    -00093         eoReplacement< EOT >& replace;
    -00094         eoPop< EOT >* pop;
    -00095 };
    -00096 
    -00097 
    -00098 template < class EOT > peoEA< EOT > :: peoEA( 
    -00099 
    -00100                                 eoContinue< EOT >& __cont, 
    -00101                                 peoPopEval< EOT >& __pop_eval, 
    -00102                                 eoSelect< EOT >& __select, 
    -00103                                 peoTransform< EOT >& __trans, 
    -00104                                 eoReplacement< EOT >& __replace
    -00105 
    -00106                 ) : cont( __cont ), pop_eval( __pop_eval ), select( __select ), trans( __trans ), replace( __replace )
    -00107 {
    -00108 
    -00109         trans.setOwner( *this );
    -00110         pop_eval.setOwner( *this );
    -00111 }
    -00112 
    +00097         peoEA( 
    +00098                 eoContinue< EOT >& __cont,
    +00099                 peoPopEval< EOT >& __pop_eval,
    +00100                 eoSelect< EOT >& __select,
    +00101                 peoTransform< EOT >& __trans,
    +00102                 eoReplacement< EOT >& __replace 
    +00103         );
    +00104 
    +00107         void run();
    +00108         
    +00112         void operator()( eoPop< EOT >& __pop );
     00113 
    -00114 template< class EOT > void peoEA< EOT > :: operator ()( eoPop< EOT >& __pop ) {
    +00114 private:
     00115 
    -00116         pop = &__pop;
    -00117 }
    -00118 
    -00119 
    -00120 template< class EOT > void peoEA< EOT > :: run() {
    -00121 
    -00122         printDebugMessage( "performing the first evaluation of the population." );
    -00123         pop_eval( *pop );
    -00124         
    -00125         do {
    -00126 
    -00127                 eoPop< EOT > off;
    -00128 
    -00129                 printDebugMessage( "performing the selection step." );
    -00130                 select( *pop, off );
    -00131                 trans( off );
    -00132 
    -00133                 printDebugMessage( "performing the evaluation of the population." );
    -00134                 pop_eval( off );
    -00135 
    -00136                 printDebugMessage( "performing the replacement of the population." );
    -00137                 replace( *pop, off );
    -00138 
    -00139                 printDebugMessage( "deciding of the continuation." );
    -00140         
    -00141         } while ( cont( *pop ) );
    -00142 }
    +00116 
    +00117         eoContinue< EOT >& cont;
    +00118         peoPopEval< EOT >& pop_eval;
    +00119         eoSelect< EOT >& select;
    +00120         peoTransform< EOT >& trans;
    +00121         eoReplacement< EOT >& replace;
    +00122         eoPop< EOT >* pop;
    +00123 };
    +00124 
    +00125 
    +00126 template < class EOT > peoEA< EOT > :: peoEA( 
    +00127 
    +00128                                 eoContinue< EOT >& __cont, 
    +00129                                 peoPopEval< EOT >& __pop_eval, 
    +00130                                 eoSelect< EOT >& __select, 
    +00131                                 peoTransform< EOT >& __trans, 
    +00132                                 eoReplacement< EOT >& __replace
    +00133 
    +00134                 ) : cont( __cont ), pop_eval( __pop_eval ), select( __select ), trans( __trans ), replace( __replace )
    +00135 {
    +00136 
    +00137         trans.setOwner( *this );
    +00138         pop_eval.setOwner( *this );
    +00139 }
    +00140 
    +00141 
    +00142 template< class EOT > void peoEA< EOT > :: operator ()( eoPop< EOT >& __pop ) {
     00143 
    -00144 
    -00145 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00144 pop = &__pop; +00145 } +00146 +00147 +00148 template< class EOT > void peoEA< EOT > :: run() { +00149 +00150 printDebugMessage( "performing the first evaluation of the population." ); +00151 pop_eval( *pop ); +00152 +00153 do { +00154 +00155 eoPop< EOT > off; +00156 +00157 printDebugMessage( "performing the selection step." ); +00158 select( *pop, off ); +00159 trans( off ); +00160 +00161 printDebugMessage( "performing the evaluation of the population." ); +00162 pop_eval( off ); +00163 +00164 printDebugMessage( "performing the replacement of the population." ); +00165 replace( *pop, off ); +00166 +00167 printDebugMessage( "deciding of the continuation." ); +00168 +00169 } while ( cont( *pop ) ); +00170 } +00171 +00172 +00173 #endif +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peoNoAggEvalFunc_8h-source.html b/trunk/paradiseo-peo/doc/html/peoNoAggEvalFunc_8h-source.html index fb31231eb..a549ffcc8 100644 --- a/trunk/paradiseo-peo/doc/html/peoNoAggEvalFunc_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peoNoAggEvalFunc_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: peoNoAggEvalFunc.h Source File +ParadisEO-PEOMovingObjects: peoNoAggEvalFunc.h Source File @@ -22,36 +22,64 @@ -

    peoNoAggEvalFunc.h

    00001 // "peoNoAggEvalFunc.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __peoNoAggEvalFunc_h
    -00010 #define __peoNoAggEvalFunc_h
    -00011 
    -00012 #include "peoAggEvalFunc.h"
    -00013 
    -00015 
    -00019 template< class EOT > class peoNoAggEvalFunc : public peoAggEvalFunc< EOT > {
    -00020 
    -00021 public :
    -00022 
    -00024         void operator()( EOT& __sol, const typename EOT :: Fitness& __fit );
    -00025 };
    -00026 
    -00027 
    -00028 template< class EOT > void peoNoAggEvalFunc< EOT > :: operator()( EOT& __sol, const typename EOT :: Fitness& __fit ) {
    -00029 
    -00030         __sol.fitness( __fit );
    -00031 }
    -00032 
    -00033 
    -00034 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    peoNoAggEvalFunc.h

    00001 /* 
    +00002 * <peoNoAggEvalFunc.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __peoNoAggEvalFunc_h
    +00038 #define __peoNoAggEvalFunc_h
    +00039 
    +00040 #include "peoAggEvalFunc.h"
    +00041 
    +00043 
    +00047 template< class EOT > class peoNoAggEvalFunc : public peoAggEvalFunc< EOT > {
    +00048 
    +00049 public :
    +00050 
    +00052         void operator()( EOT& __sol, const typename EOT :: Fitness& __fit );
    +00053 };
    +00054 
    +00055 
    +00056 template< class EOT > void peoNoAggEvalFunc< EOT > :: operator()( EOT& __sol, const typename EOT :: Fitness& __fit ) {
    +00057 
    +00058         __sol.fitness( __fit );
    +00059 }
    +00060 
    +00061 
    +00062 #endif
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peoParaPopEval_8h-source.html b/trunk/paradiseo-peo/doc/html/peoParaPopEval_8h-source.html index ea7e7852a..48ce8e736 100644 --- a/trunk/paradiseo-peo/doc/html/peoParaPopEval_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peoParaPopEval_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: peoParaPopEval.h Source File +ParadisEO-PEOMovingObjects: peoParaPopEval.h Source File @@ -22,204 +22,232 @@ -

    peoParaPopEval.h

    00001 // "peoParaPopEval.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __peoParaPopEval_h
    -00010 #define __peoParaPopEval_h
    -00011 
    -00012 #include <queue>
    -00013 #include <eoEvalFunc.h>
    -00014 
    -00015 #include "core/messaging.h"
    -00016 #include "core/peo_debug.h"
    -00017 #include "peoAggEvalFunc.h"
    -00018 #include "peoNoAggEvalFunc.h"
    -00019 
    -00020 
    -00022 
    -00026 template< class EOT > class peoParaPopEval : public peoPopEval< EOT > {
    -00027 
    -00028 public:
    -00029 
    -00030         using peoPopEval< EOT > :: requestResourceRequest;
    -00031         using peoPopEval< EOT > :: resume;
    -00032         using peoPopEval< EOT > :: stop;
    -00033         using peoPopEval< EOT > :: getOwner;
    -00034         
    -00039         peoParaPopEval( eoEvalFunc< EOT >& __eval_func );
    -00040 
    -00045         peoParaPopEval( const std :: vector< eoEvalFunc < EOT >* >& __funcs, peoAggEvalFunc< EOT >& __merge_eval );
    -00046 
    -00050         void operator()( eoPop< EOT >& __pop );
    -00051 
    -00054         void packData();
    -00055         
    -00058         void unpackData();
    -00059 
    -00061         void execute();
    +

    peoParaPopEval.h

    00001 /* 
    +00002 * <peoParaPopEval.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __peoParaPopEval_h
    +00038 #define __peoParaPopEval_h
    +00039 
    +00040 #include <queue>
    +00041 #include <eoEvalFunc.h>
    +00042 
    +00043 #include "core/messaging.h"
    +00044 #include "core/peo_debug.h"
    +00045 #include "peoAggEvalFunc.h"
    +00046 #include "peoNoAggEvalFunc.h"
    +00047 
    +00048 
    +00050 
    +00054 template< class EOT > class peoParaPopEval : public peoPopEval< EOT > {
    +00055 
    +00056 public:
    +00057 
    +00058         using peoPopEval< EOT > :: requestResourceRequest;
    +00059         using peoPopEval< EOT > :: resume;
    +00060         using peoPopEval< EOT > :: stop;
    +00061         using peoPopEval< EOT > :: getOwner;
     00062         
    -00065         void packResult();
    -00066         
    -00069         void unpackResult();
    -00070         
    -00073         void notifySendingData();
    +00067         peoParaPopEval( eoEvalFunc< EOT >& __eval_func );
    +00068 
    +00073         peoParaPopEval( const std :: vector< eoEvalFunc < EOT >* >& __funcs, peoAggEvalFunc< EOT >& __merge_eval );
     00074 
    -00077         void notifySendingAllResourceRequests();
    -00078 
    -00079 private:
    -00080 
    -00081 
    -00082         const std :: vector< eoEvalFunc < EOT >* >& funcs;
    -00083         std :: vector< eoEvalFunc < EOT >* > one_func;
    -00084         
    -00085         peoAggEvalFunc< EOT >& merge_eval;
    -00086         peoNoAggEvalFunc< EOT > no_merge_eval;
    -00087         
    -00088         std :: queue< EOT* >tasks;
    -00089         
    -00090         std :: map< EOT*, std :: pair< unsigned, unsigned > > progression;
    -00091         
    -00092         unsigned num_func;
    -00093         
    -00094         EOT sol;
    -00095         
    -00096         EOT *ad_sol;
    -00097         
    -00098         unsigned total;
    -00099 };
    -00100 
    -00101 
    -00102 template< class EOT > peoParaPopEval< EOT > :: peoParaPopEval( eoEvalFunc< EOT >& __eval_func ) : 
    -00103 
    -00104                 funcs( one_func ), merge_eval( no_merge_eval )
    -00105 {
    +00078         void operator()( eoPop< EOT >& __pop );
    +00079 
    +00082         void packData();
    +00083         
    +00086         void unpackData();
    +00087 
    +00089         void execute();
    +00090         
    +00093         void packResult();
    +00094         
    +00097         void unpackResult();
    +00098         
    +00101         void notifySendingData();
    +00102 
    +00105         void notifySendingAllResourceRequests();
     00106 
    -00107         one_func.push_back( &__eval_func );
    -00108 }
    +00107 private:
    +00108 
     00109 
    -00110 
    -00111 template< class EOT > peoParaPopEval< EOT > :: peoParaPopEval( 
    -00112 
    -00113                                 const std :: vector< eoEvalFunc< EOT >* >& __funcs,
    -00114                                 peoAggEvalFunc< EOT >& __merge_eval 
    -00115 
    -00116                 ) : funcs( __funcs ), merge_eval( __merge_eval )
    -00117 {
    -00118 
    -00119 }
    -00120 
    -00121 
    -00122 template< class EOT > void peoParaPopEval< EOT >::operator()( eoPop< EOT >& __pop ) {
    -00123 
    -00124         for ( unsigned i = 0; i < __pop.size(); i++ ) {
    -00125 
    -00126                 __pop[ i ].fitness( typename EOT :: Fitness() );
    -00127 
    -00128                 progression[ &__pop[ i ] ].first = funcs.size() - 1;
    -00129                 progression[ &__pop[ i ] ].second = funcs.size();
    -00130                 
    -00131                 for ( unsigned j = 0; j < funcs.size(); j++ ) {
    -00132                         /* Queuing the 'invalid' solution and its associated owner */
    -00133                         tasks.push( &__pop[ i ] );
    -00134                 }
    -00135         }
    -00136         
    -00137         total = funcs.size() * __pop.size();
    -00138         requestResourceRequest( funcs.size() * __pop.size() );
    -00139         stop();
    -00140 }
    -00141 
    -00142 
    -00143 template< class EOT > void peoParaPopEval< EOT > :: packData() {
    -00144 
    -00145         //  printDebugMessage ("debut pakc data");
    -00146         pack( progression[ tasks.front() ].first-- );
    -00147         
    -00148         /* Packing the contents :-) of the solution */
    -00149         pack( *tasks.front() );
    -00150         
    -00151         /* Packing the addresses of both the solution and the owner */
    -00152         pack( tasks.front() );
    -00153         tasks.pop(  );
    -00154 }
    +00110         const std :: vector< eoEvalFunc < EOT >* >& funcs;
    +00111         std :: vector< eoEvalFunc < EOT >* > one_func;
    +00112         
    +00113         peoAggEvalFunc< EOT >& merge_eval;
    +00114         peoNoAggEvalFunc< EOT > no_merge_eval;
    +00115         
    +00116         std :: queue< EOT* >tasks;
    +00117         
    +00118         std :: map< EOT*, std :: pair< unsigned, unsigned > > progression;
    +00119         
    +00120         unsigned num_func;
    +00121         
    +00122         EOT sol;
    +00123         
    +00124         EOT *ad_sol;
    +00125         
    +00126         unsigned total;
    +00127 };
    +00128 
    +00129 
    +00130 template< class EOT > peoParaPopEval< EOT > :: peoParaPopEval( eoEvalFunc< EOT >& __eval_func ) : 
    +00131 
    +00132                 funcs( one_func ), merge_eval( no_merge_eval )
    +00133 {
    +00134 
    +00135         one_func.push_back( &__eval_func );
    +00136 }
    +00137 
    +00138 
    +00139 template< class EOT > peoParaPopEval< EOT > :: peoParaPopEval( 
    +00140 
    +00141                                 const std :: vector< eoEvalFunc< EOT >* >& __funcs,
    +00142                                 peoAggEvalFunc< EOT >& __merge_eval 
    +00143 
    +00144                 ) : funcs( __funcs ), merge_eval( __merge_eval )
    +00145 {
    +00146 
    +00147 }
    +00148 
    +00149 
    +00150 template< class EOT > void peoParaPopEval< EOT >::operator()( eoPop< EOT >& __pop ) {
    +00151 
    +00152         for ( unsigned i = 0; i < __pop.size(); i++ ) {
    +00153 
    +00154                 __pop[ i ].fitness( typename EOT :: Fitness() );
     00155 
    -00156 
    -00157 template< class EOT > void peoParaPopEval< EOT > :: unpackData() {
    -00158 
    -00159         unpack( num_func );
    -00160         /* Unpacking the solution */
    -00161         unpack( sol );
    -00162         /* Unpacking the @ of that one */
    -00163         unpack( ad_sol );
    -00164 }
    -00165 
    -00166 
    -00167 template< class EOT > void peoParaPopEval< EOT > :: execute() {
    -00168 
    -00169         /* Computing the fitness of the solution */
    -00170         funcs[ num_func ]->operator()( sol );
    -00171 }
    +00156                 progression[ &__pop[ i ] ].first = funcs.size() - 1;
    +00157                 progression[ &__pop[ i ] ].second = funcs.size();
    +00158                 
    +00159                 for ( unsigned j = 0; j < funcs.size(); j++ ) {
    +00160                         /* Queuing the 'invalid' solution and its associated owner */
    +00161                         tasks.push( &__pop[ i ] );
    +00162                 }
    +00163         }
    +00164         
    +00165         total = funcs.size() * __pop.size();
    +00166         requestResourceRequest( funcs.size() * __pop.size() );
    +00167         stop();
    +00168 }
    +00169 
    +00170 
    +00171 template< class EOT > void peoParaPopEval< EOT > :: packData() {
     00172 
    -00173 
    -00174 template< class EOT > void peoParaPopEval< EOT > :: packResult() {
    -00175 
    -00176         /* Packing the fitness of the solution */
    -00177         pack( sol.fitness() );
    -00178         /* Packing the @ of the individual */
    -00179         pack( ad_sol );
    -00180 }
    -00181 
    -00182 
    -00183 template< class EOT > void peoParaPopEval< EOT > :: unpackResult() {
    +00173         //  printDebugMessage ("debut pakc data");
    +00174         pack( progression[ tasks.front() ].first-- );
    +00175         
    +00176         /* Packing the contents :-) of the solution */
    +00177         pack( *tasks.front() );
    +00178         
    +00179         /* Packing the addresses of both the solution and the owner */
    +00180         pack( tasks.front() );
    +00181         tasks.pop(  );
    +00182 }
    +00183 
     00184 
    -00185         typename EOT :: Fitness fit;
    -00186         
    -00187         /* Unpacking the computed fitness */
    -00188         unpack( fit );
    -00189                 
    -00190         /* Unpacking the @ of the associated individual */
    +00185 template< class EOT > void peoParaPopEval< EOT > :: unpackData() {
    +00186 
    +00187         unpack( num_func );
    +00188         /* Unpacking the solution */
    +00189         unpack( sol );
    +00190         /* Unpacking the @ of that one */
     00191         unpack( ad_sol );
    -00192         
    -00193         
    -00194         /* Associating the fitness the local solution */
    -00195         merge_eval( *ad_sol, fit );
    +00192 }
    +00193 
    +00194 
    +00195 template< class EOT > void peoParaPopEval< EOT > :: execute() {
     00196 
    -00197         progression[ ad_sol ].second--;
    -00198 
    -00199         /* Notifying the container of the termination of the evaluation */
    -00200         if ( !progression[ ad_sol ].second ) {
    +00197         /* Computing the fitness of the solution */
    +00198         funcs[ num_func ]->operator()( sol );
    +00199 }
    +00200 
     00201 
    -00202                 progression.erase( ad_sol );
    -00203         }
    -00204         
    -00205         total--;
    -00206         if ( !total ) {
    -00207 
    -00208                 getOwner()->setActive();
    -00209                 resume();
    -00210         }
    -00211 }
    +00202 template< class EOT > void peoParaPopEval< EOT > :: packResult() {
    +00203 
    +00204         /* Packing the fitness of the solution */
    +00205         pack( sol.fitness() );
    +00206         /* Packing the @ of the individual */
    +00207         pack( ad_sol );
    +00208 }
    +00209 
    +00210 
    +00211 template< class EOT > void peoParaPopEval< EOT > :: unpackResult() {
     00212 
    -00213 
    -00214 template< class EOT > void peoParaPopEval< EOT > :: notifySendingData() {
    -00215 
    -00216 }
    -00217 
    -00218 
    -00219 template< class EOT > void peoParaPopEval< EOT > :: notifySendingAllResourceRequests() {
    -00220 
    -00221         getOwner()->setPassive();
    -00222 }
    -00223 
    +00213         typename EOT :: Fitness fit;
    +00214         
    +00215         /* Unpacking the computed fitness */
    +00216         unpack( fit );
    +00217                 
    +00218         /* Unpacking the @ of the associated individual */
    +00219         unpack( ad_sol );
    +00220         
    +00221         
    +00222         /* Associating the fitness the local solution */
    +00223         merge_eval( *ad_sol, fit );
     00224 
    -00225 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00225 progression[ ad_sol ].second--; +00226 +00227 /* Notifying the container of the termination of the evaluation */ +00228 if ( !progression[ ad_sol ].second ) { +00229 +00230 progression.erase( ad_sol ); +00231 } +00232 +00233 total--; +00234 if ( !total ) { +00235 +00236 getOwner()->setActive(); +00237 resume(); +00238 } +00239 } +00240 +00241 +00242 template< class EOT > void peoParaPopEval< EOT > :: notifySendingData() { +00243 +00244 } +00245 +00246 +00247 template< class EOT > void peoParaPopEval< EOT > :: notifySendingAllResourceRequests() { +00248 +00249 getOwner()->setPassive(); +00250 } +00251 +00252 +00253 #endif +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peoParaSGATransform_8h-source.html b/trunk/paradiseo-peo/doc/html/peoParaSGATransform_8h-source.html index bad15f80b..22c18d626 100644 --- a/trunk/paradiseo-peo/doc/html/peoParaSGATransform_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peoParaSGATransform_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: peoParaSGATransform.h Source File +ParadisEO-PEOMovingObjects: peoParaSGATransform.h Source File @@ -22,162 +22,190 @@ -

    peoParaSGATransform.h

    00001 // "peoParaSGATransform.h"
    -00002 
    -00003 //(c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __peoParaSGATransform_h
    -00010 #define __peoParaSGATransform_h
    -00011 
    -00012 #include "peoTransform.h"
    -00013 #include "core/thread.h"
    -00014 #include "core/messaging.h"
    -00015 #include "core/peo_debug.h"
    -00016 
    -00017 
    -00018 extern int getNodeRank();
    -00019 
    -00020 
    -00021 template< class EOT > class peoParaSGATransform : public peoTransform< EOT > {
    -00022 
    -00023 public:
    -00024 
    -00025         using peoTransform< EOT > :: requestResourceRequest;
    -00026         using peoTransform< EOT > :: resume;
    -00027         using peoTransform< EOT > :: stop;
    -00028         using peoTransform< EOT > :: getOwner;
    -00029 
    -00030         peoParaSGATransform( 
    -00031 
    -00032                                 eoQuadOp< EOT >& __cross,
    -00033                                 double __cross_rate,
    -00034                                 eoMonOp< EOT >& __mut, 
    -00035                                 double __mut_rate 
    -00036         );
    -00037 
    -00038         void operator()( eoPop< EOT >& __pop );
    -00039         
    -00040         void packData();
    -00041         
    -00042         void unpackData();
    -00043         
    -00044         void execute();
    -00045         
    -00046         void packResult();
    -00047         
    -00048         void unpackResult();
    -00049         
    -00050         void notifySendingData();
    -00051         void notifySendingAllResourceRequests();
    +

    peoParaSGATransform.h

    00001 /* 
    +00002 * <peoParaSGATransform.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __peoParaSGATransform_h
    +00038 #define __peoParaSGATransform_h
    +00039 
    +00040 #include "peoTransform.h"
    +00041 #include "core/thread.h"
    +00042 #include "core/messaging.h"
    +00043 #include "core/peo_debug.h"
    +00044 
    +00045 
    +00046 extern int getNodeRank();
    +00047 
    +00048 
    +00049 template< class EOT > class peoParaSGATransform : public peoTransform< EOT > {
    +00050 
    +00051 public:
     00052 
    -00053 private:
    -00054 
    -00055     eoQuadOp< EOT >& cross;
    -00056     double cross_rate;
    +00053         using peoTransform< EOT > :: requestResourceRequest;
    +00054         using peoTransform< EOT > :: resume;
    +00055         using peoTransform< EOT > :: stop;
    +00056         using peoTransform< EOT > :: getOwner;
     00057 
    -00058     eoMonOp< EOT >& mut;
    -00059     double mut_rate;
    -00060 
    -00061     unsigned idx;
    -00062 
    -00063     eoPop< EOT >* pop;
    -00064 
    -00065     EOT father, mother;
    -00066 
    -00067     unsigned num_term;
    -00068 };
    -00069 
    -00070 template< class EOT > peoParaSGATransform< EOT > :: peoParaSGATransform( 
    -00071 
    -00072                                 eoQuadOp< EOT >& __cross,
    -00073                                 double __cross_rate,
    -00074                                 eoMonOp < EOT >& __mut,
    -00075                                 double __mut_rate 
    -00076 
    -00077                 ) : cross( __cross ), cross_rate( __cross_rate ), mut( __mut ), mut_rate( __mut_rate )
    -00078 {
    -00079 
    -00080 }
    -00081 
    +00058         peoParaSGATransform( 
    +00059 
    +00060                                 eoQuadOp< EOT >& __cross,
    +00061                                 double __cross_rate,
    +00062                                 eoMonOp< EOT >& __mut, 
    +00063                                 double __mut_rate 
    +00064         );
    +00065 
    +00066         void operator()( eoPop< EOT >& __pop );
    +00067         
    +00068         void packData();
    +00069         
    +00070         void unpackData();
    +00071         
    +00072         void execute();
    +00073         
    +00074         void packResult();
    +00075         
    +00076         void unpackResult();
    +00077         
    +00078         void notifySendingData();
    +00079         void notifySendingAllResourceRequests();
    +00080 
    +00081 private:
     00082 
    -00083 template< class EOT > void peoParaSGATransform< EOT > :: packData() {
    -00084 
    -00085         pack( idx );
    -00086          :: pack( pop->operator[]( idx++ ) );
    -00087          :: pack( pop->operator[]( idx++ ) );
    -00088 }
    -00089 
    +00083     eoQuadOp< EOT >& cross;
    +00084     double cross_rate;
    +00085 
    +00086     eoMonOp< EOT >& mut;
    +00087     double mut_rate;
    +00088 
    +00089     unsigned idx;
     00090 
    -00091 template< class EOT > void peoParaSGATransform< EOT > :: unpackData() {
    +00091     eoPop< EOT >* pop;
     00092 
    -00093         unpack( idx );
    -00094          :: unpack( father );
    -00095          :: unpack( mother );
    -00096 }
    +00093     EOT father, mother;
    +00094 
    +00095     unsigned num_term;
    +00096 };
     00097 
    -00098 
    -00099 template< class EOT > void peoParaSGATransform< EOT > :: execute() {
    -00100 
    -00101         if( rng.uniform() < cross_rate ) cross( mother, father );
    -00102 
    -00103         if( rng.uniform() < mut_rate ) mut( mother );
    -00104         if( rng.uniform() < mut_rate ) mut( father );
    -00105 }
    -00106 
    +00098 template< class EOT > peoParaSGATransform< EOT > :: peoParaSGATransform( 
    +00099 
    +00100                                 eoQuadOp< EOT >& __cross,
    +00101                                 double __cross_rate,
    +00102                                 eoMonOp < EOT >& __mut,
    +00103                                 double __mut_rate 
    +00104 
    +00105                 ) : cross( __cross ), cross_rate( __cross_rate ), mut( __mut ), mut_rate( __mut_rate )
    +00106 {
     00107 
    -00108 template< class EOT > void peoParaSGATransform< EOT > :: packResult() {
    +00108 }
     00109 
    -00110         pack( idx );
    -00111          :: pack( father );
    -00112          :: pack( mother );
    -00113 }
    -00114 
    -00115 
    -00116 template< class EOT > void peoParaSGATransform< EOT > :: unpackResult() {
    +00110 
    +00111 template< class EOT > void peoParaSGATransform< EOT > :: packData() {
    +00112 
    +00113         pack( idx );
    +00114          :: pack( pop->operator[]( idx++ ) );
    +00115          :: pack( pop->operator[]( idx++ ) );
    +00116 }
     00117 
    -00118         unsigned sidx;
    -00119         
    -00120         unpack( sidx );
    -00121          :: unpack( pop->operator[]( sidx++ ) );
    -00122          :: unpack( pop->operator[]( sidx ) );
    -00123         num_term += 2;
    -00124         
    -00125         if( num_term == pop->size() ) {
    +00118 
    +00119 template< class EOT > void peoParaSGATransform< EOT > :: unpackData() {
    +00120 
    +00121         unpack( idx );
    +00122          :: unpack( father );
    +00123          :: unpack( mother );
    +00124 }
    +00125 
     00126 
    -00127                 getOwner()->setActive();
    -00128                 resume();
    -00129         }
    -00130 }
    -00131 
    -00132 
    -00133 template< class EOT > void peoParaSGATransform< EOT > :: operator()( eoPop < EOT >& __pop ) {
    +00127 template< class EOT > void peoParaSGATransform< EOT > :: execute() {
    +00128 
    +00129         if( rng.uniform() < cross_rate ) cross( mother, father );
    +00130 
    +00131         if( rng.uniform() < mut_rate ) mut( mother );
    +00132         if( rng.uniform() < mut_rate ) mut( father );
    +00133 }
     00134 
    -00135         printDebugMessage( "performing the parallel transformation step." );
    -00136         pop = &__pop;
    -00137         idx = 0;
    -00138         num_term = 0;
    -00139         requestResourceRequest( __pop.size() / 2 );
    -00140         stop();
    +00135 
    +00136 template< class EOT > void peoParaSGATransform< EOT > :: packResult() {
    +00137 
    +00138         pack( idx );
    +00139          :: pack( father );
    +00140          :: pack( mother );
     00141 }
     00142 
     00143 
    -00144 template< class EOT > void peoParaSGATransform< EOT > :: notifySendingData() {
    +00144 template< class EOT > void peoParaSGATransform< EOT > :: unpackResult() {
     00145 
    -00146 }
    -00147 
    -00148 
    -00149 template< class EOT > void peoParaSGATransform< EOT > :: notifySendingAllResourceRequests() {
    -00150 
    -00151         getOwner()->setPassive();
    -00152 }
    -00153 
    +00146         unsigned sidx;
    +00147         
    +00148         unpack( sidx );
    +00149          :: unpack( pop->operator[]( sidx++ ) );
    +00150          :: unpack( pop->operator[]( sidx ) );
    +00151         num_term += 2;
    +00152         
    +00153         if( num_term == pop->size() ) {
     00154 
    -00155 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00155 getOwner()->setActive(); +00156 resume(); +00157 } +00158 } +00159 +00160 +00161 template< class EOT > void peoParaSGATransform< EOT > :: operator()( eoPop < EOT >& __pop ) { +00162 +00163 printDebugMessage( "performing the parallel transformation step." ); +00164 pop = &__pop; +00165 idx = 0; +00166 num_term = 0; +00167 requestResourceRequest( __pop.size() / 2 ); +00168 stop(); +00169 } +00170 +00171 +00172 template< class EOT > void peoParaSGATransform< EOT > :: notifySendingData() { +00173 +00174 } +00175 +00176 +00177 template< class EOT > void peoParaSGATransform< EOT > :: notifySendingAllResourceRequests() { +00178 +00179 getOwner()->setPassive(); +00180 } +00181 +00182 +00183 #endif +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peoPopEval_8h-source.html b/trunk/paradiseo-peo/doc/html/peoPopEval_8h-source.html index 18da7a60b..5a841add6 100644 --- a/trunk/paradiseo-peo/doc/html/peoPopEval_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peoPopEval_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: peoPopEval.h Source File +ParadisEO-PEOMovingObjects: peoPopEval.h Source File @@ -22,30 +22,58 @@ -

    peoPopEval.h

    00001 // "peoPopEval.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __peoPopEval_h
    -00010 #define __peoPopEval_h
    -00011 
    -00012 #include "core/service.h"
    -00013 
    -00015 
    -00019 template< class EOT > class peoPopEval : public Service {
    -00020 
    -00021 public:
    -00022 
    -00024         virtual void operator()( eoPop< EOT >& __pop ) = 0;
    -00025 };
    -00026 
    -00027 
    -00028 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    peoPopEval.h

    00001 /* 
    +00002 * <peoPopEval.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __peoPopEval_h
    +00038 #define __peoPopEval_h
    +00039 
    +00040 #include "core/service.h"
    +00041 
    +00043 
    +00047 template< class EOT > class peoPopEval : public Service {
    +00048 
    +00049 public:
    +00050 
    +00052         virtual void operator()( eoPop< EOT >& __pop ) = 0;
    +00053 };
    +00054 
    +00055 
    +00056 #endif
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peoSeqPopEval_8h-source.html b/trunk/paradiseo-peo/doc/html/peoSeqPopEval_8h-source.html index 3d6718a68..02a67d54a 100644 --- a/trunk/paradiseo-peo/doc/html/peoSeqPopEval_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peoSeqPopEval_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: peoSeqPopEval.h Source File +ParadisEO-PEOMovingObjects: peoSeqPopEval.h Source File @@ -22,50 +22,78 @@ -

    peoSeqPopEval.h

    00001 // "peoSeqPopEval.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __peoSeqPopEval_h
    -00010 #define __peoSeqPopEval_h
    -00011 
    -00012 #include <eoEvalFunc.h>
    -00013 
    -00014 #include "peoPopEval.h"
    -00015 
    -00017 
    -00021 template< class EOT > class peoSeqPopEval : public peoPopEval< EOT > {
    -00022 
    -00023 public:
    -00024 
    -00028         peoSeqPopEval( eoEvalFunc< EOT >& __eval );
    -00029 
    -00033         void operator()( eoPop< EOT >& __pop );
    -00034 
    -00035 private:
    +

    peoSeqPopEval.h

    00001 /* 
    +00002 * <peoSeqPopEval.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
     00036 
    -00037         eoEvalFunc< EOT >& eval;
    -00038 };
    -00039 
    -00040 
    -00041 template< class EOT > peoSeqPopEval< EOT > :: peoSeqPopEval( eoEvalFunc< EOT >& __eval ) : eval( __eval ) {
    -00042 
    -00043 }
    -00044 
    +00037 #ifndef __peoSeqPopEval_h
    +00038 #define __peoSeqPopEval_h
    +00039 
    +00040 #include <eoEvalFunc.h>
    +00041 
    +00042 #include "peoPopEval.h"
    +00043 
     00045 
    -00046 template< class EOT > void peoSeqPopEval< EOT > :: operator()( eoPop< EOT >& __pop ) {
    -00047 
    -00048         for ( unsigned i = 0; i < __pop.size(); i++ )
    -00049                 eval( __pop[i] );
    -00050 }
    -00051 
    +00049 template< class EOT > class peoSeqPopEval : public peoPopEval< EOT > {
    +00050 
    +00051 public:
     00052 
    -00053 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00056 peoSeqPopEval( eoEvalFunc< EOT >& __eval ); +00057 +00061 void operator()( eoPop< EOT >& __pop ); +00062 +00063 private: +00064 +00065 eoEvalFunc< EOT >& eval; +00066 }; +00067 +00068 +00069 template< class EOT > peoSeqPopEval< EOT > :: peoSeqPopEval( eoEvalFunc< EOT >& __eval ) : eval( __eval ) { +00070 +00071 } +00072 +00073 +00074 template< class EOT > void peoSeqPopEval< EOT > :: operator()( eoPop< EOT >& __pop ) { +00075 +00076 for ( unsigned i = 0; i < __pop.size(); i++ ) +00077 eval( __pop[i] ); +00078 } +00079 +00080 +00081 #endif +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peoSeqTransform_8h-source.html b/trunk/paradiseo-peo/doc/html/peoSeqTransform_8h-source.html index 6685ac360..ba1ffcf5d 100644 --- a/trunk/paradiseo-peo/doc/html/peoSeqTransform_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peoSeqTransform_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: peoSeqTransform.h Source File +ParadisEO-PEOMovingObjects: peoSeqTransform.h Source File @@ -22,58 +22,86 @@ -

    peoSeqTransform.h

    00001 // "peoSeqTransform.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __peoSeqTransform_h
    -00010 #define __peoSeqTransform_h
    -00011 
    -00012 #include "peoTransform.h"
    -00013 
    -00014 
    -00016 
    -00020 template< class EOT > class peoSeqTransform : public peoTransform< EOT > {
    -00021 
    -00022 public:
    -00023 
    -00027         peoSeqTransform( eoTransform< EOT >& __trans );
    -00028         
    -00032         void operator()( eoPop< EOT >& __pop );
    -00033         
    -00035         virtual void packData() { }
    +

    peoSeqTransform.h

    00001 /* 
    +00002 * <peoSeqTransform.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
     00036 
    -00038         virtual void unpackData() { }
    -00039         
    -00041         virtual void execute() { }
    -00042         
    -00044         virtual void packResult() { }
    -00045 
    -00047         virtual void unpackResult() { }
    -00048 
    -00049 private:
    -00050 
    -00051         eoTransform< EOT >& trans;
    -00052 };
    -00053 
    -00054 
    -00055 template< class EOT > peoSeqTransform< EOT > :: peoSeqTransform( eoTransform< EOT >& __trans ) : trans( __trans ) {
    -00056 
    -00057 }
    -00058 
    -00059 
    -00060 template< class EOT > void peoSeqTransform< EOT > :: operator()( eoPop< EOT >& __pop ) {
    -00061 
    -00062         trans( __pop );
    -00063 }
    +00037 #ifndef __peoSeqTransform_h
    +00038 #define __peoSeqTransform_h
    +00039 
    +00040 #include "peoTransform.h"
    +00041 
    +00042 
    +00044 
    +00048 template< class EOT > class peoSeqTransform : public peoTransform< EOT > {
    +00049 
    +00050 public:
    +00051 
    +00055         peoSeqTransform( eoTransform< EOT >& __trans );
    +00056         
    +00060         void operator()( eoPop< EOT >& __pop );
    +00061         
    +00063         virtual void packData() { }
     00064 
    -00065 
    -00066 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00066 virtual void unpackData() { } +00067 +00069 virtual void execute() { } +00070 +00072 virtual void packResult() { } +00073 +00075 virtual void unpackResult() { } +00076 +00077 private: +00078 +00079 eoTransform< EOT >& trans; +00080 }; +00081 +00082 +00083 template< class EOT > peoSeqTransform< EOT > :: peoSeqTransform( eoTransform< EOT >& __trans ) : trans( __trans ) { +00084 +00085 } +00086 +00087 +00088 template< class EOT > void peoSeqTransform< EOT > :: operator()( eoPop< EOT >& __pop ) { +00089 +00090 trans( __pop ); +00091 } +00092 +00093 +00094 #endif +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peoSyncIslandMig_8h-source.html b/trunk/paradiseo-peo/doc/html/peoSyncIslandMig_8h-source.html index 595287f9e..fe6024a01 100644 --- a/trunk/paradiseo-peo/doc/html/peoSyncIslandMig_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peoSyncIslandMig_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: peoSyncIslandMig.h Source File +ParadisEO-PEOMovingObjects: peoSyncIslandMig.h Source File @@ -22,195 +22,223 @@ -

    peoSyncIslandMig.h

    00001 // "peoSyncIslandMig.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __peoSyncIslandMig_h
    -00010 #define __peoSyncIslandMig_h
    -00011 
    -00012 
    -00013 #include <queue>
    -00014 #include <cassert>
    -00015 
    -00016 #include <eoPeriodicContinue.h>
    -00017 
    -00018 #include <utils/eoUpdater.h>
    -00019 
    -00020 #include <eoContinue.h>
    -00021 #include <eoSelect.h>
    -00022 #include <eoReplacement.h>
    -00023 #include <eoPop.h>
    -00024 
    -00025 #include "core/topology.h"
    -00026 #include "core/thread.h"
    -00027 #include "core/eoPop_comm.h"
    -00028 #include "core/peo_debug.h"
    -00029 
    -00030 
    -00032 
    -00114 template< class EOT > class peoSyncIslandMig : public Cooperative, public eoUpdater {
    -00115 
    -00116 public:
    -00117 
    -00127         peoSyncIslandMig(
    -00128                                 unsigned __frequency,
    -00129                                 eoSelect< EOT >& __select,
    -00130                                 eoReplacement< EOT >& __replace,
    -00131                                 Topology& __topology,
    -00132                                 eoPop< EOT >& __source,
    -00133                                 eoPop< EOT >& __destination
    -00134         );
    -00135 
    -00140         void operator()();
    -00141 
    -00143         void pack();
    -00145         void unpack();
    -00146 
    -00148         void notifySending();
    -00149 
    -00150 
    -00151 private:
    -00152 
    -00153         void emigrate();
    -00154         void immigrate();
    -00155 
    -00156 
    -00157 private:
    -00158 
    -00159         eoPeriodicContinue< EOT > cont;
    -00160         eoSelect< EOT >& select;        // selection strategy
    -00161         eoReplacement< EOT >& replace;  // replacement strategy
    -00162         Topology& topology;             // neighboring topology
    +

    peoSyncIslandMig.h

    00001 /* 
    +00002 * <peoSyncIslandMig.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __peoSyncIslandMig_h
    +00038 #define __peoSyncIslandMig_h
    +00039 
    +00040 
    +00041 #include <queue>
    +00042 #include <cassert>
    +00043 
    +00044 #include <eoPeriodicContinue.h>
    +00045 
    +00046 #include <utils/eoUpdater.h>
    +00047 
    +00048 #include <eoContinue.h>
    +00049 #include <eoSelect.h>
    +00050 #include <eoReplacement.h>
    +00051 #include <eoPop.h>
    +00052 
    +00053 #include "core/topology.h"
    +00054 #include "core/thread.h"
    +00055 #include "core/eoPop_comm.h"
    +00056 #include "core/peo_debug.h"
    +00057 
    +00058 
    +00060 
    +00142 template< class EOT > class peoSyncIslandMig : public Cooperative, public eoUpdater {
    +00143 
    +00144 public:
    +00145 
    +00155         peoSyncIslandMig(
    +00156                                 unsigned __frequency,
    +00157                                 eoSelect< EOT >& __select,
    +00158                                 eoReplacement< EOT >& __replace,
    +00159                                 Topology& __topology,
    +00160                                 eoPop< EOT >& __source,
    +00161                                 eoPop< EOT >& __destination
    +00162         );
     00163 
    -00164         // source and target populations
    -00165         eoPop< EOT >& source;
    -00166         eoPop< EOT >& destination;
    -00167 
    -00168         // immigrants & emigrants in the queue
    -00169         std :: queue< eoPop< EOT > > imm;
    -00170         std :: queue< eoPop< EOT > > em;
    -00171 
    -00172         std :: queue< Cooperative* > coop_em;
    -00173 
    -00174         sem_t sync;
    -00175 };
    -00176 
    +00168         void operator()();
    +00169 
    +00171         void pack();
    +00173         void unpack();
    +00174 
    +00176         void notifySending();
     00177 
    -00178 template< class EOT > peoSyncIslandMig< EOT > :: peoSyncIslandMig(
    -00179 
    -00180                 unsigned __frequency,
    -00181                 eoSelect< EOT >& __select,
    -00182                 eoReplacement< EOT >& __replace,
    -00183                 Topology& __topology,
    -00184                 eoPop< EOT >& __source,
    -00185                 eoPop< EOT >& __destination
    +00178 
    +00179 private:
    +00180 
    +00181         void emigrate();
    +00182         void immigrate();
    +00183 
    +00184 
    +00185 private:
     00186 
    -00187         ) : cont( __frequency ), select( __select ), replace( __replace ), topology( __topology ), source( __source ), destination( __destination ) 
    -00188 {
    -00189 
    -00190         __topology.add( *this );
    -00191         sem_init( &sync, 0, 0 );
    -00192 }
    -00193 
    -00194 
    -00195 template< class EOT > void peoSyncIslandMig< EOT > :: pack() {
    -00196 
    -00197         lock(); {
    -00198 
    -00199 		 :: pack( coop_em.front()->getKey() );
    -00200 		 :: pack( em.front() );
    -00201                 coop_em.pop();
    -00202                 em.pop();
    -00203         }
    -00204         unlock();
    -00205 }
    -00206 
    +00187         eoPeriodicContinue< EOT > cont;
    +00188         eoSelect< EOT >& select;        // selection strategy
    +00189         eoReplacement< EOT >& replace;  // replacement strategy
    +00190         Topology& topology;             // neighboring topology
    +00191 
    +00192         // source and target populations
    +00193         eoPop< EOT >& source;
    +00194         eoPop< EOT >& destination;
    +00195 
    +00196         // immigrants & emigrants in the queue
    +00197         std :: queue< eoPop< EOT > > imm;
    +00198         std :: queue< eoPop< EOT > > em;
    +00199 
    +00200         std :: queue< Cooperative* > coop_em;
    +00201 
    +00202         sem_t sync;
    +00203 };
    +00204 
    +00205 
    +00206 template< class EOT > peoSyncIslandMig< EOT > :: peoSyncIslandMig(
     00207 
    -00208 template< class EOT > void peoSyncIslandMig< EOT > :: unpack() {
    -00209 
    -00210         lock(); {
    -00211 
    -00212                 eoPop< EOT > mig;
    -00213 		 :: unpack( mig );
    -00214                 imm.push( mig );
    -00215         }
    -00216         unlock();
    +00208                 unsigned __frequency,
    +00209                 eoSelect< EOT >& __select,
    +00210                 eoReplacement< EOT >& __replace,
    +00211                 Topology& __topology,
    +00212                 eoPop< EOT >& __source,
    +00213                 eoPop< EOT >& __destination
    +00214 
    +00215         ) : cont( __frequency ), select( __select ), replace( __replace ), topology( __topology ), source( __source ), destination( __destination ) 
    +00216 {
     00217 
    -00218         sem_post( &sync );
    -00219 }
    -00220 
    +00218         __topology.add( *this );
    +00219         sem_init( &sync, 0, 0 );
    +00220 }
     00221 
    -00222 template< class EOT > void peoSyncIslandMig< EOT > :: emigrate() {
    -00223 
    -00224         std :: vector< Cooperative* > in, out;
    -00225         topology.setNeighbors( this, in, out );
    -00226         
    -00227         for ( unsigned i = 0; i < out.size(); i ++ ) {
    -00228 
    -00229                 eoPop< EOT > mig;
    -00230                 select( source, mig );
    -00231                 em.push( mig );
    -00232                 coop_em.push( out[ i ] );
    -00233                 send( out[ i ] );
    -00234                 printDebugMessage( "sending some emigrants." );
    -00235         }
    -00236 }
    +00222 
    +00223 template< class EOT > void peoSyncIslandMig< EOT > :: pack() {
    +00224 
    +00225         lock(); {
    +00226 
    +00227 		 :: pack( coop_em.front()->getKey() );
    +00228 		 :: pack( em.front() );
    +00229                 coop_em.pop();
    +00230                 em.pop();
    +00231         }
    +00232         unlock();
    +00233 }
    +00234 
    +00235 
    +00236 template< class EOT > void peoSyncIslandMig< EOT > :: unpack() {
     00237 
    -00238 
    -00239 template< class EOT > void peoSyncIslandMig< EOT > :: immigrate() {
    -00240 
    -00241         lock(); {
    -00242 
    -00243                 assert( imm.size() );
    -00244                 replace( destination, imm.front() ) ;
    -00245                 imm.pop();
    -00246                 printDebugMessage( "receiving some immigrants." );
    -00247         }
    -00248         unlock();
    -00249 }
    -00250 
    +00238         lock(); {
    +00239 
    +00240                 eoPop< EOT > mig;
    +00241 		 :: unpack( mig );
    +00242                 imm.push( mig );
    +00243         }
    +00244         unlock();
    +00245 
    +00246         sem_post( &sync );
    +00247 }
    +00248 
    +00249 
    +00250 template< class EOT > void peoSyncIslandMig< EOT > :: emigrate() {
     00251 
    -00252 template< class EOT > void peoSyncIslandMig< EOT > :: operator()() {
    -00253 
    -00254         if ( !cont( source ) ) {
    -00255         
    -00256                 // sending emigrants
    -00257                 emigrate();
    -00258                 stop();
    -00259 
    -00260                 // synchronizing
    -00261                 sem_wait( &sync );
    -00262                 getOwner()->setActive();
    -00263 
    -00264                 // receiving immigrants
    -00265                 immigrate();
    -00266         }
    -00267 }
    +00252         std :: vector< Cooperative* > in, out;
    +00253         topology.setNeighbors( this, in, out );
    +00254         
    +00255         for ( unsigned i = 0; i < out.size(); i ++ ) {
    +00256 
    +00257                 eoPop< EOT > mig;
    +00258                 select( source, mig );
    +00259                 em.push( mig );
    +00260                 coop_em.push( out[ i ] );
    +00261                 send( out[ i ] );
    +00262                 printDebugMessage( "sending some emigrants." );
    +00263         }
    +00264 }
    +00265 
    +00266 
    +00267 template< class EOT > void peoSyncIslandMig< EOT > :: immigrate() {
     00268 
    -00269 
    -00270 template< class EOT > void peoSyncIslandMig< EOT > :: notifySending() {
    -00271 
    -00272         lock(); {
    -00273 
    -00274                 if ( imm.empty() ) {
    -00275 
    -00276                         printDebugMessage( "entering pasive mode\n" );
    -00277                         getOwner()->setPassive();
    -00278                 }
    -00279         }
    -00280         unlock();
    +00269         lock(); {
    +00270 
    +00271                 assert( imm.size() );
    +00272                 replace( destination, imm.front() ) ;
    +00273                 imm.pop();
    +00274                 printDebugMessage( "receiving some immigrants." );
    +00275         }
    +00276         unlock();
    +00277 }
    +00278 
    +00279 
    +00280 template< class EOT > void peoSyncIslandMig< EOT > :: operator()() {
     00281 
    -00282         resume();
    -00283 }
    -00284 
    -00285 
    -00286 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00282 if ( !cont( source ) ) { +00283 +00284 // sending emigrants +00285 emigrate(); +00286 stop(); +00287 +00288 // synchronizing +00289 sem_wait( &sync ); +00290 getOwner()->setActive(); +00291 +00292 // receiving immigrants +00293 immigrate(); +00294 } +00295 } +00296 +00297 +00298 template< class EOT > void peoSyncIslandMig< EOT > :: notifySending() { +00299 +00300 lock(); { +00301 +00302 if ( imm.empty() ) { +00303 +00304 printDebugMessage( "entering pasive mode\n" ); +00305 getOwner()->setPassive(); +00306 } +00307 } +00308 unlock(); +00309 +00310 resume(); +00311 } +00312 +00313 +00314 #endif +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peoSyncMultiStart_8h-source.html b/trunk/paradiseo-peo/doc/html/peoSyncMultiStart_8h-source.html index 50744549d..3193f103c 100644 --- a/trunk/paradiseo-peo/doc/html/peoSyncMultiStart_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peoSyncMultiStart_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: peoSyncMultiStart.h Source File +ParadisEO-PEOMovingObjects: peoSyncMultiStart.h Source File @@ -22,159 +22,187 @@ -

    peoSyncMultiStart.h

    00001 // "peoSyncMultiStart.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __peoSyncMultiStart_h
    -00010 #define __peoSyncMultiStart_h
    -00011 
    -00012 #include <utils/eoUpdater.h>
    -00013 #include <moAlgo.h>
    -00014 
    -00015 #include <eoSelect.h>
    -00016 #include <eoReplacement.h>
    -00017 #include <eoContinue.h>
    -00018 
    -00019 #include "core/service.h"
    -00020 #include "core/messaging.h"
    -00021 #include "core/peo_debug.h"
    -00022 
    -00023 
    -00024 extern int getNodeRank();
    -00025 
    -00026 
    -00028 
    -00036 template< class EOT > class peoSyncMultiStart : public Service, public eoUpdater {
    -00037 
    -00038 public:
    -00039 
    -00047         peoSyncMultiStart( 
    -00048 
    -00049                                 eoContinue< EOT >& __cont,
    -00050                                 eoSelect< EOT >& __select,
    -00051                                 eoReplacement< EOT >& __replace,
    -00052                                 moAlgo< EOT >& __ls, 
    -00053                                 eoPop< EOT >& __pop 
    -00054                 );
    -00055 
    -00058         void operator()();
    -00059 
    -00062         void packData();
    -00063 
    -00066         void unpackData();
    +

    peoSyncMultiStart.h

    00001 /* 
    +00002 * <peoSyncMultiStart.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __peoSyncMultiStart_h
    +00038 #define __peoSyncMultiStart_h
    +00039 
    +00040 #include <utils/eoUpdater.h>
    +00041 #include <moAlgo.h>
    +00042 
    +00043 #include <eoSelect.h>
    +00044 #include <eoReplacement.h>
    +00045 #include <eoContinue.h>
    +00046 
    +00047 #include "core/service.h"
    +00048 #include "core/messaging.h"
    +00049 #include "core/peo_debug.h"
    +00050 
    +00051 
    +00052 extern int getNodeRank();
    +00053 
    +00054 
    +00056 
    +00064 template< class EOT > class peoSyncMultiStart : public Service, public eoUpdater {
    +00065 
    +00066 public:
     00067 
    -00070         void execute();
    -00071 
    -00074         void packResult();
    -00075 
    -00078         void unpackResult();
    -00079 
    -00082         void notifySendingData();
    +00075         peoSyncMultiStart( 
    +00076 
    +00077                                 eoContinue< EOT >& __cont,
    +00078                                 eoSelect< EOT >& __select,
    +00079                                 eoReplacement< EOT >& __replace,
    +00080                                 moAlgo< EOT >& __ls, 
    +00081                                 eoPop< EOT >& __pop 
    +00082                 );
     00083 
    -00086         void notifySendingAllResourceRequests();
    +00086         void operator()();
     00087 
    -00088 private:
    -00089 
    -00090         eoContinue< EOT >& cont;
    -00091         eoSelect< EOT >& select;
    -00092         eoReplacement< EOT >& replace;
    -00093 
    -00094         moAlgo< EOT >& ls;
    +00090         void packData();
    +00091 
    +00094         void unpackData();
     00095 
    -00096         eoPop< EOT >& pop;
    -00097         eoPop< EOT > sel;
    -00098         eoPop< EOT > impr_sel;
    +00098         void execute();
     00099 
    -00100         EOT sol;
    -00101         unsigned idx;
    -00102         unsigned num_term;
    -00103 };
    -00104 
    -00105 
    -00106 template< class EOT > peoSyncMultiStart< EOT > :: peoSyncMultiStart( 
    +00102         void packResult();
    +00103 
    +00106         void unpackResult();
     00107 
    -00108                                 eoContinue < EOT >& __cont, 
    -00109                                 eoSelect< EOT >& __select,
    -00110                                 eoReplacement< EOT >& __replace, 
    -00111                                 moAlgo < EOT >& __ls,
    -00112                                 eoPop< EOT >& __pop 
    -00113 
    -00114                 ) : cont( __cont ), select( __select ), replace( __replace ), ls( __ls ), pop( __pop )
    -00115 {
    -00116 
    -00117 }
    -00118 
    -00119 
    -00120 template< class EOT > void peoSyncMultiStart< EOT > :: packData() {
    +00110         void notifySendingData();
    +00111 
    +00114         void notifySendingAllResourceRequests();
    +00115 
    +00116 private:
    +00117 
    +00118         eoContinue< EOT >& cont;
    +00119         eoSelect< EOT >& select;
    +00120         eoReplacement< EOT >& replace;
     00121 
    -00122          :: pack( sel[ idx++ ] );
    -00123 }
    -00124 
    -00125 
    -00126 template< class EOT > void peoSyncMultiStart< EOT > :: unpackData() {
    +00122         moAlgo< EOT >& ls;
    +00123 
    +00124         eoPop< EOT >& pop;
    +00125         eoPop< EOT > sel;
    +00126         eoPop< EOT > impr_sel;
     00127 
    -00128         unpack( sol );
    -00129 }
    -00130 
    -00131 
    -00132 template< class EOT > void peoSyncMultiStart< EOT > :: execute() {
    +00128         EOT sol;
    +00129         unsigned idx;
    +00130         unsigned num_term;
    +00131 };
    +00132 
     00133 
    -00134         ls( sol );
    -00135 }
    -00136 
    -00137 
    -00138 template< class EOT > void peoSyncMultiStart< EOT > :: packResult() {
    -00139 
    -00140         pack( sol );
    -00141 }
    -00142 
    -00143 
    -00144 template< class EOT > void peoSyncMultiStart< EOT > :: unpackResult() {
    -00145 
    -00146         unpack( sol );
    -00147         impr_sel.push_back( sol );
    -00148         num_term++;
    +00134 template< class EOT > peoSyncMultiStart< EOT > :: peoSyncMultiStart( 
    +00135 
    +00136                                 eoContinue < EOT >& __cont, 
    +00137                                 eoSelect< EOT >& __select,
    +00138                                 eoReplacement< EOT >& __replace, 
    +00139                                 moAlgo < EOT >& __ls,
    +00140                                 eoPop< EOT >& __pop 
    +00141 
    +00142                 ) : cont( __cont ), select( __select ), replace( __replace ), ls( __ls ), pop( __pop )
    +00143 {
    +00144 
    +00145 }
    +00146 
    +00147 
    +00148 template< class EOT > void peoSyncMultiStart< EOT > :: packData() {
     00149 
    -00150         if ( num_term == sel.size() ) {
    -00151 
    -00152                 getOwner()->setActive();
    -00153                 replace( pop, impr_sel );
    -00154 
    -00155                 printDebugMessage( "replacing the improved individuals in the population." );
    -00156                 resume();
    -00157         }
    -00158 }
    +00150          :: pack( sel[ idx++ ] );
    +00151 }
    +00152 
    +00153 
    +00154 template< class EOT > void peoSyncMultiStart< EOT > :: unpackData() {
    +00155 
    +00156         unpack( sol );
    +00157 }
    +00158 
     00159 
    -00160 
    -00161 template< class EOT > void peoSyncMultiStart< EOT > :: operator()() {
    -00162 
    -00163         printDebugMessage( "performing the parallel multi-start hybridization." );
    -00164         select( pop, sel );
    -00165         impr_sel.clear();
    -00166         idx = num_term = 0;
    -00167         requestResourceRequest( sel.size() );
    -00168         stop();
    +00160 template< class EOT > void peoSyncMultiStart< EOT > :: execute() {
    +00161 
    +00162         ls( sol );
    +00163 }
    +00164 
    +00165 
    +00166 template< class EOT > void peoSyncMultiStart< EOT > :: packResult() {
    +00167 
    +00168         pack( sol );
     00169 }
     00170 
     00171 
    -00172 template< class EOT > void peoSyncMultiStart< EOT > :: notifySendingData() {
    +00172 template< class EOT > void peoSyncMultiStart< EOT > :: unpackResult() {
     00173 
    -00174 }
    -00175 
    -00176 
    -00177 template< class EOT > void peoSyncMultiStart< EOT > :: notifySendingAllResourceRequests() {
    -00178 
    -00179         getOwner()->setPassive();
    -00180 }
    -00181 
    +00174         unpack( sol );
    +00175         impr_sel.push_back( sol );
    +00176         num_term++;
    +00177 
    +00178         if ( num_term == sel.size() ) {
    +00179 
    +00180                 getOwner()->setActive();
    +00181                 replace( pop, impr_sel );
     00182 
    -00183 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00183 printDebugMessage( "replacing the improved individuals in the population." ); +00184 resume(); +00185 } +00186 } +00187 +00188 +00189 template< class EOT > void peoSyncMultiStart< EOT > :: operator()() { +00190 +00191 printDebugMessage( "performing the parallel multi-start hybridization." ); +00192 select( pop, sel ); +00193 impr_sel.clear(); +00194 idx = num_term = 0; +00195 requestResourceRequest( sel.size() ); +00196 stop(); +00197 } +00198 +00199 +00200 template< class EOT > void peoSyncMultiStart< EOT > :: notifySendingData() { +00201 +00202 } +00203 +00204 +00205 template< class EOT > void peoSyncMultiStart< EOT > :: notifySendingAllResourceRequests() { +00206 +00207 getOwner()->setPassive(); +00208 } +00209 +00210 +00211 #endif +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peoTransform_8h-source.html b/trunk/paradiseo-peo/doc/html/peoTransform_8h-source.html index 47a0554b9..e658e6ce8 100644 --- a/trunk/paradiseo-peo/doc/html/peoTransform_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peoTransform_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: peoTransform.h Source File +ParadisEO-PEOMovingObjects: peoTransform.h Source File @@ -22,29 +22,57 @@ -

    peoTransform.h

    00001 // "peoTransform.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __peoTransform_h
    -00010 #define __peoTransform_h
    -00011 
    -00012 #include <eoTransform.h>
    -00013 
    -00014 #include "core/service.h"
    -00015 
    -00017 
    -00020 template< class EOT > class peoTransform : public Service, public eoTransform< EOT > {
    -00021 
    -00022 };
    -00023 
    -00024 
    -00025 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    peoTransform.h

    00001 /* 
    +00002 * <peoTransform.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __peoTransform_h
    +00038 #define __peoTransform_h
    +00039 
    +00040 #include <eoTransform.h>
    +00041 
    +00042 #include "core/service.h"
    +00043 
    +00045 
    +00048 template< class EOT > class peoTransform : public Service, public eoTransform< EOT > {
    +00049 
    +00050 };
    +00051 
    +00052 
    +00053 #endif
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peo__debug_8cpp-source.html b/trunk/paradiseo-peo/doc/html/peo__debug_8cpp-source.html index 8777a83fd..80f5471a8 100644 --- a/trunk/paradiseo-peo/doc/html/peo__debug_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/peo__debug_8cpp-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: peo_debug.cpp Source File +ParadisEO-PEOMovingObjects: peo_debug.cpp Source File @@ -22,84 +22,112 @@ -

    peo_debug.cpp

    00001 // "peo_debug.cpp"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #include "peo_debug.h"
    -00010 
    -00011 #include <stdio.h>
    -00012 #include <time.h>
    -00013 #include <unistd.h>
    -00014 #include <string.h>
    -00015 #include <sys/types.h>
    -00016 #include <sys/stat.h>
    -00017 #include <vector>
    -00018 
    -00019 #include "peo_debug.h"
    -00020 
    -00021 #define MAX_BUFF_SIZE 1000
    -00022 
    -00023 #define DEBUG_PATH "./log/"
    -00024 
    -00025 static bool debug = true;
    -00026 
    -00027 static char host [MAX_BUFF_SIZE];
    -00028 
    -00029 std :: vector <FILE *> files;
    -00030 
    -00031 void setDebugMode (bool __dbg) {
    -00032 
    -00033   debug = __dbg;
    -00034   gethostname (host, MAX_BUFF_SIZE);
    -00035 }
    +

    peo_debug.cpp

    00001 /* 
    +00002 * <peo_debug.cpp>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
     00036 
    -00037 extern int getNodeRank ();
    +00037 #include "peo_debug.h"
     00038 
    -00039 void initDebugging () {
    -00040   
    -00041   mkdir (DEBUG_PATH, S_IRWXU);
    -00042   //  files.push_back (stdout);
    -00043   char buff [MAX_BUFF_SIZE];
    -00044   sprintf (buff, "%s/%d", DEBUG_PATH, getNodeRank ());
    -00045   files.push_back (fopen (buff, "w"));
    -00046 }
    -00047 
    -00048 void endDebugging () {
    -00049 
    -00050   for (unsigned i = 0; i < files.size (); i ++)
    -00051     if (files [i] != stdout)
    -00052       fclose (files [i]);
    -00053 }
    +00039 #include <stdio.h>
    +00040 #include <time.h>
    +00041 #include <unistd.h>
    +00042 #include <string.h>
    +00043 #include <sys/types.h>
    +00044 #include <sys/stat.h>
    +00045 #include <vector>
    +00046 
    +00047 #include "peo_debug.h"
    +00048 
    +00049 #define MAX_BUFF_SIZE 1000
    +00050 
    +00051 #define DEBUG_PATH "./log/"
    +00052 
    +00053 static bool debug = true;
     00054 
    -00055 void printDebugMessage (const char * __mess) {
    +00055 static char host [MAX_BUFF_SIZE];
     00056 
    -00057   if (debug) {
    +00057 std :: vector <FILE *> files;
     00058 
    -00059     char buff [MAX_BUFF_SIZE];
    -00060     time_t t = time (0);
    -00061 
    -00062     /* Date */
    -00063     sprintf (buff, "[%s][%s: ", host, ctime (& t));
    -00064     * strchr (buff, '\n') = ']';
    -00065     for (unsigned i = 0; i < files.size (); i ++)
    -00066       fprintf (files [i], buff);
    -00067 
    -00068     /* Message */
    -00069     sprintf (buff, "%s", __mess);
    -00070     
    -00071     for (unsigned i = 0; i < files.size (); i ++) {
    -00072       fputs (buff, files [i]);
    -00073       fputs ("\n", files [i]);
    -00074       fflush (files [i]);
    -00075     }
    -00076   }
    -00077 }
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00059 void setDebugMode (bool __dbg) { +00060 +00061 debug = __dbg; +00062 gethostname (host, MAX_BUFF_SIZE); +00063 } +00064 +00065 extern int getNodeRank (); +00066 +00067 void initDebugging () { +00068 +00069 mkdir (DEBUG_PATH, S_IRWXU); +00070 // files.push_back (stdout); +00071 char buff [MAX_BUFF_SIZE]; +00072 sprintf (buff, "%s/%d", DEBUG_PATH, getNodeRank ()); +00073 files.push_back (fopen (buff, "w")); +00074 } +00075 +00076 void endDebugging () { +00077 +00078 for (unsigned i = 0; i < files.size (); i ++) +00079 if (files [i] != stdout) +00080 fclose (files [i]); +00081 } +00082 +00083 void printDebugMessage (const char * __mess) { +00084 +00085 if (debug) { +00086 +00087 char buff [MAX_BUFF_SIZE]; +00088 time_t t = time (0); +00089 +00090 /* Date */ +00091 sprintf (buff, "[%s][%s: ", host, ctime (& t)); +00092 * strchr (buff, '\n') = ']'; +00093 for (unsigned i = 0; i < files.size (); i ++) +00094 fprintf (files [i], buff); +00095 +00096 /* Message */ +00097 sprintf (buff, "%s", __mess); +00098 +00099 for (unsigned i = 0; i < files.size (); i ++) { +00100 fputs (buff, files [i]); +00101 fputs ("\n", files [i]); +00102 fflush (files [i]); +00103 } +00104 } +00105 } +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peo__debug_8h-source.html b/trunk/paradiseo-peo/doc/html/peo__debug_8h-source.html index b3959e910..aa8049514 100644 --- a/trunk/paradiseo-peo/doc/html/peo__debug_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peo__debug_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: peo_debug.h Source File +ParadisEO-PEOMovingObjects: peo_debug.h Source File @@ -22,29 +22,57 @@ -

    peo_debug.h

    00001 // "peo_debug.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __peo_debug_h
    -00010 #define __peo_debug_h
    -00011 
    -00012 extern void initDebugging ();
    -00013 
    -00014 extern void endDebugging ();
    -00015 
    -00016 extern void setDebugMode (bool __dbg = true); /* (Des)activating the Debugging mode */
    -00017 
    -00018 extern void printDebugMessage (const char * __mess); /* Print a new message both on the
    -00019                                                         standard output and a target
    -00020                                                         text-file in a subdirectory) */
    -00021 
    -00022 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    peo_debug.h

    00001 /* 
    +00002 * <peo_debug.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __peo_debug_h
    +00038 #define __peo_debug_h
    +00039 
    +00040 extern void initDebugging ();
    +00041 
    +00042 extern void endDebugging ();
    +00043 
    +00044 extern void setDebugMode (bool __dbg = true); /* (Des)activating the Debugging mode */
    +00045 
    +00046 extern void printDebugMessage (const char * __mess); /* Print a new message both on the
    +00047                                                         standard output and a target
    +00048                                                         text-file in a subdirectory) */
    +00049 
    +00050 #endif
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peo__fin_8cpp-source.html b/trunk/paradiseo-peo/doc/html/peo__fin_8cpp-source.html index c7cdd1385..59534a903 100644 --- a/trunk/paradiseo-peo/doc/html/peo__fin_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/peo__fin_8cpp-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: peo_fin.cpp Source File +ParadisEO-PEOMovingObjects: peo_fin.cpp Source File @@ -22,31 +22,59 @@ -

    peo_fin.cpp

    00001 // "peo_finalize.cpp"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #include "peo_fin.h"
    -00010 #include "peo_debug.h"
    -00011 #include "runner.h"
    -00012 #include "rmc.h"
    -00013 
    -00014 void peo :: finalize () {
    -00015 
    -00016   printDebugMessage ("waiting for the termination of all threads");
    -00017 
    -00018   joinRunners ();
    -00019 
    -00020   finalizeRMC ();
    -00021 
    -00022   printDebugMessage ("this is the end");
    -00023   endDebugging ();
    -00024 }
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    peo_fin.cpp

    00001 /* 
    +00002 * <peo_fin.cpp>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #include "peo_fin.h"
    +00038 #include "peo_debug.h"
    +00039 #include "runner.h"
    +00040 #include "rmc.h"
    +00041 
    +00042 void peo :: finalize () {
    +00043 
    +00044   printDebugMessage ("waiting for the termination of all threads");
    +00045 
    +00046   joinRunners ();
    +00047 
    +00048   finalizeRMC ();
    +00049 
    +00050   printDebugMessage ("this is the end");
    +00051   endDebugging ();
    +00052 }
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peo__fin_8h-source.html b/trunk/paradiseo-peo/doc/html/peo__fin_8h-source.html index 8d5165b91..3b51acf47 100644 --- a/trunk/paradiseo-peo/doc/html/peo__fin_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peo__fin_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: peo_fin.h Source File +ParadisEO-PEOMovingObjects: peo_fin.h Source File @@ -22,24 +22,52 @@ -

    peo_fin.h

    00001 // "peo_finalize.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __peo_finalize_h
    -00010 #define __peo_finalize_h
    -00011 
    -00012 namespace peo {
    -00013   
    -00014   extern void finalize ();
    -00015 }
    -00016 
    -00017 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    peo_fin.h

    00001 /* 
    +00002 * <peo_fin.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __peo_finalize_h
    +00038 #define __peo_finalize_h
    +00039 
    +00040 namespace peo {
    +00041   
    +00042   extern void finalize ();
    +00043 }
    +00044 
    +00045 #endif
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peo__init_8cpp-source.html b/trunk/paradiseo-peo/doc/html/peo__init_8cpp-source.html index bf790cf1e..aa826f960 100644 --- a/trunk/paradiseo-peo/doc/html/peo__init_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/peo__init_8cpp-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: peo_init.cpp Source File +ParadisEO-PEOMovingObjects: peo_init.cpp Source File @@ -22,44 +22,72 @@ -

    peo_init.cpp

    00001 // "peo_init.cpp"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #include <stdio.h>
    -00010 
    -00011 #include "peo_init.h"
    -00012 #include "peo_param.h"
    -00013 #include "peo_debug.h"
    -00014 #include "rmc.h"
    -00015 
    -00016 namespace peo {
    -00017 
    -00018   int * argc;
    -00019   
    -00020   char * * * argv;
    -00021 
    -00022   void init (int & __argc, char * * & __argv) {
    -00023 
    -00024     argc = & __argc;
    -00025     
    -00026     argv = & __argv;
    -00027     
    -00028     /* Initializing the the Resource Management and Communication */
    -00029     initRMC (__argc, __argv);
    -00030 
    -00031     /* Loading the common parameters */ 
    -00032     loadParameters (__argc, __argv);
    -00033     
    -00034     /* */
    -00035     initDebugging ();
    -00036   }
    -00037 }
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    peo_init.cpp

    00001 /* 
    +00002 * <peo_init.cpp>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #include <stdio.h>
    +00038 
    +00039 #include "peo_init.h"
    +00040 #include "peo_param.h"
    +00041 #include "peo_debug.h"
    +00042 #include "rmc.h"
    +00043 
    +00044 namespace peo {
    +00045 
    +00046   int * argc;
    +00047   
    +00048   char * * * argv;
    +00049 
    +00050   void init (int & __argc, char * * & __argv) {
    +00051 
    +00052     argc = & __argc;
    +00053     
    +00054     argv = & __argv;
    +00055     
    +00056     /* Initializing the the Resource Management and Communication */
    +00057     initRMC (__argc, __argv);
    +00058 
    +00059     /* Loading the common parameters */ 
    +00060     loadParameters (__argc, __argv);
    +00061     
    +00062     /* */
    +00063     initDebugging ();
    +00064   }
    +00065 }
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peo__init_8h-source.html b/trunk/paradiseo-peo/doc/html/peo__init_8h-source.html index 1464fd89f..23a8d401f 100644 --- a/trunk/paradiseo-peo/doc/html/peo__init_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peo__init_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: peo_init.h Source File +ParadisEO-PEOMovingObjects: peo_init.h Source File @@ -22,28 +22,56 @@ -

    peo_init.h

    00001 // "peo_init.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __peo_init_h
    -00010 #define __peo_init_h
    -00011 
    -00012 namespace peo {
    -00013 
    -00014   extern int * argc;
    -00015   
    -00016   extern char * * * argv;
    -00017   
    -00018   extern void init (int & __argc, char * * & __argv);
    -00019 }
    -00020 
    -00021 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    peo_init.h

    00001 /* 
    +00002 * <peo_init.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __peo_init_h
    +00038 #define __peo_init_h
    +00039 
    +00040 namespace peo {
    +00041 
    +00042   extern int * argc;
    +00043   
    +00044   extern char * * * argv;
    +00045   
    +00046   extern void init (int & __argc, char * * & __argv);
    +00047 }
    +00048 
    +00049 #endif
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peo__param_8cpp-source.html b/trunk/paradiseo-peo/doc/html/peo__param_8cpp-source.html index 25b3bd139..e96644b1a 100644 --- a/trunk/paradiseo-peo/doc/html/peo__param_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/peo__param_8cpp-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: peo_param.cpp Source File +ParadisEO-PEOMovingObjects: peo_param.cpp Source File @@ -22,32 +22,60 @@ -

    peo_param.cpp

    00001 // "peo_param.cpp"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #include <utils/eoParser.h>
    -00010 
    -00011 #include "peo_param.h"
    -00012 #include "peo_debug.h"
    -00013 
    -00014 
    -00015 
    -00016 void peo :: loadParameters (int & __argc, char * * & __argv) {
    -00017 
    -00018   eoParser parser (__argc, __argv);
    -00019 
    -00020   /* Debug */
    -00021   eoValueParam <std :: string> debug_param ("false", "debug", "?");
    -00022   parser.processParam (debug_param);
    -00023   if (debug_param.value () == "true")
    -00024     setDebugMode ();
    -00025 }
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    peo_param.cpp

    00001 /* 
    +00002 * <peo_param.cpp>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #include <utils/eoParser.h>
    +00038 
    +00039 #include "peo_param.h"
    +00040 #include "peo_debug.h"
    +00041 
    +00042 
    +00043 
    +00044 void peo :: loadParameters (int & __argc, char * * & __argv) {
    +00045 
    +00046   eoParser parser (__argc, __argv);
    +00047 
    +00048   /* Debug */
    +00049   eoValueParam <std :: string> debug_param ("false", "debug", "?");
    +00050   parser.processParam (debug_param);
    +00051   if (debug_param.value () == "true")
    +00052     setDebugMode ();
    +00053 }
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peo__param_8h-source.html b/trunk/paradiseo-peo/doc/html/peo__param_8h-source.html index 01a4bec6c..c8adfbebb 100644 --- a/trunk/paradiseo-peo/doc/html/peo__param_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peo__param_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: peo_param.h Source File +ParadisEO-PEOMovingObjects: peo_param.h Source File @@ -22,24 +22,52 @@ -

    peo_param.h

    00001 // "peo_param.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __peo_param_h
    -00010 #define __peo_param_h
    -00011 
    -00012 namespace peo {
    -00013   
    -00014   extern void loadParameters (int & __argc, char * * & __argv);
    -00015 }
    -00016 
    -00017 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    peo_param.h

    00001 /* 
    +00002 * <peo_param.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __peo_param_h
    +00038 #define __peo_param_h
    +00039 
    +00040 namespace peo {
    +00041   
    +00042   extern void loadParameters (int & __argc, char * * & __argv);
    +00043 }
    +00044 
    +00045 #endif
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peo__run_8cpp-source.html b/trunk/paradiseo-peo/doc/html/peo__run_8cpp-source.html index 9a559e91a..aeac16030 100644 --- a/trunk/paradiseo-peo/doc/html/peo__run_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/peo__run_8cpp-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: peo_run.cpp Source File +ParadisEO-PEOMovingObjects: peo_run.cpp Source File @@ -22,26 +22,54 @@ -

    peo_run.cpp

    00001 // "peo_run.cpp"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #include "peo_init.h"
    -00010 #include "peo_run.h"
    -00011 #include "rmc.h"
    -00012 #include "runner.h"
    -00013 
    -00014 void peo :: run () {
    -00015   
    -00016   startRunners ();
    -00017 
    -00018   runRMC ();
    -00019 }
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    peo_run.cpp

    00001 /* 
    +00002 * <peo_run.cpp>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #include "peo_init.h"
    +00038 #include "peo_run.h"
    +00039 #include "rmc.h"
    +00040 #include "runner.h"
    +00041 
    +00042 void peo :: run () {
    +00043   
    +00044   startRunners ();
    +00045 
    +00046   runRMC ();
    +00047 }
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peo__run_8h-source.html b/trunk/paradiseo-peo/doc/html/peo__run_8h-source.html index b9aa59574..d694de425 100644 --- a/trunk/paradiseo-peo/doc/html/peo__run_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peo__run_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: peo_run.h Source File +ParadisEO-PEOMovingObjects: peo_run.h Source File @@ -22,24 +22,52 @@ -

    peo_run.h

    00001 // "peo_run.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __peo_run_h
    -00010 #define __peo_run_h
    -00011 
    -00012 namespace peo {
    -00013   
    -00014   extern void run ();
    -00015 }
    -00016 
    -00017 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    peo_run.h

    00001 /* 
    +00002 * <peo_run.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __peo_run_h
    +00038 #define __peo_run_h
    +00039 
    +00040 namespace peo {
    +00041   
    +00042   extern void run ();
    +00043 }
    +00044 
    +00045 #endif
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/reac__thread_8cpp-source.html b/trunk/paradiseo-peo/doc/html/reac__thread_8cpp-source.html index cf6c88d99..8f4efaaab 100644 --- a/trunk/paradiseo-peo/doc/html/reac__thread_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/reac__thread_8cpp-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: reac_thread.cpp Source File +ParadisEO-PEOMovingObjects: reac_thread.cpp Source File @@ -22,43 +22,71 @@ -

    reac_thread.cpp

    00001 // "reac_thread.cpp"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #include "reac_thread.h"
    -00010 
    -00011 static bool the_end = false;
    -00012 
    -00013 static std :: vector <ReactiveThread *> reac_threads;
    -00014 
    -00015 ReactiveThread :: ReactiveThread () {
    -00016 
    -00017   reac_threads.push_back (this);
    -00018   sem_init (& sem, 0, 0);
    -00019 }
    -00020 
    -00021 void ReactiveThread :: sleep () {
    -00022 
    -00023   sem_wait (& sem);     
    -00024 }
    -00025 
    -00026 void ReactiveThread :: wakeUp () {
    -00027 
    -00028   sem_post (& sem);     
    -00029 }
    -00030 
    -00031 void stopReactiveThreads () {
    -00032 
    -00033   the_end = true;
    -00034   for (unsigned i = 0; i < reac_threads.size (); i ++)
    -00035     reac_threads [i] -> wakeUp  ();     
    -00036 }
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    reac_thread.cpp

    00001 /* 
    +00002 * <reac_thread.cpp>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #include "reac_thread.h"
    +00038 
    +00039 static bool the_end = false;
    +00040 
    +00041 static std :: vector <ReactiveThread *> reac_threads;
    +00042 
    +00043 ReactiveThread :: ReactiveThread () {
    +00044 
    +00045   reac_threads.push_back (this);
    +00046   sem_init (& sem, 0, 0);
    +00047 }
    +00048 
    +00049 void ReactiveThread :: sleep () {
    +00050 
    +00051   sem_wait (& sem);     
    +00052 }
    +00053 
    +00054 void ReactiveThread :: wakeUp () {
    +00055 
    +00056   sem_post (& sem);     
    +00057 }
    +00058 
    +00059 void stopReactiveThreads () {
    +00060 
    +00061   the_end = true;
    +00062   for (unsigned i = 0; i < reac_threads.size (); i ++)
    +00063     reac_threads [i] -> wakeUp  ();     
    +00064 }
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/reac__thread_8h-source.html b/trunk/paradiseo-peo/doc/html/reac__thread_8h-source.html index d751daec9..d7b48b719 100644 --- a/trunk/paradiseo-peo/doc/html/reac__thread_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/reac__thread_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: reac_thread.h Source File +ParadisEO-PEOMovingObjects: reac_thread.h Source File @@ -22,42 +22,70 @@ -

    reac_thread.h

    00001 // "reac_thread.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef REAC_THREAD_H_
    -00010 #define REAC_THREAD_H_
    -00011 
    -00012 #include <semaphore.h>
    -00013 
    -00014 #include "thread.h"
    -00015 
    -00016 class ReactiveThread : public Thread {
    -00017         
    -00018 public:
    -00019 
    -00020   /* Ctor */
    -00021   ReactiveThread ();
    -00022 
    -00023   void sleep ();
    -00024   
    -00025   void wakeUp ();
    -00026     
    -00027 private:
    -00028 
    -00029   sem_t sem;
    -00030    
    -00031 };
    -00032 
    -00033 extern void stopReactiveThreads ();
    -00034 
    -00035 #endif /*THREAD_H_*/
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    reac_thread.h

    00001 /* 
    +00002 * <reac_thread.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef REAC_THREAD_H_
    +00038 #define REAC_THREAD_H_
    +00039 
    +00040 #include <semaphore.h>
    +00041 
    +00042 #include "thread.h"
    +00043 
    +00044 class ReactiveThread : public Thread {
    +00045         
    +00046 public:
    +00047 
    +00048   /* Ctor */
    +00049   ReactiveThread ();
    +00050 
    +00051   void sleep ();
    +00052   
    +00053   void wakeUp ();
    +00054     
    +00055 private:
    +00056 
    +00057   sem_t sem;
    +00058    
    +00059 };
    +00060 
    +00061 extern void stopReactiveThreads ();
    +00062 
    +00063 #endif /*THREAD_H_*/
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/recv_8cpp-source.html b/trunk/paradiseo-peo/doc/html/recv_8cpp-source.html index 344a0fc41..4062ac302 100644 --- a/trunk/paradiseo-peo/doc/html/recv_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/recv_8cpp-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: recv.cpp Source File +ParadisEO-PEOMovingObjects: recv.cpp Source File @@ -22,119 +22,147 @@ -

    recv.cpp

    00001 // "recv.cpp"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #include "comm.h"
    -00010 #include "tags.h"
    -00011 #include "worker.h"
    -00012 #include "scheduler.h"
    -00013 #include "mess.h"
    -00014 #include "node.h"
    -00015 #include "../../core/runner.h"
    -00016 #include "../../core/cooperative.h"
    -00017 #include "../../core/peo_debug.h"
    -00018 
    -00019 void receiveMessages () {
    -00020 
    -00021   cleanBuffers ();
    -00022     
    -00023   do {
    -00024 
    -00025     if (! atLeastOneActiveThread ()) {
    -00026       //      printDebugMessage ("debut wait");
    -00027       waitMessage ();
    -00028       //printDebugMessage ("fin wait");
    -00029     }
    -00030     
    -00031     int src, tag;
    -00032 
    -00033     while (probeMessage (src, tag)) {
    -00034       
    -00035       receiveMessage (src, tag);
    -00036       initMessage ();
    -00037       /*
    -00038       char b [1000];
    -00039       sprintf (b, "traitement recv %d\n", tag);
    -00040       printDebugMessage (b);
    -00041       */
    -00042       
    -00043       switch (tag) {
    -00044         
    -00045       case RUNNER_STOP_TAG:     
    -00046         unpackTerminationOfRunner ();   
    -00047         wakeUpCommunicator ();
    -00048         break;
    -00049       
    -00050       case COOP_TAG:
    -00051         //      printDebugMessage ("reception de message de cooperation");
    -00052         COOP_ID coop_id;
    -00053         unpack (coop_id);
    -00054         getCooperative (coop_id) -> unpack ();
    -00055         break;
    -00056 
    -00057       case SCHED_REQUEST_TAG:   
    -00058         unpackResourceRequest ();
    -00059         break;
    -00060         
    -00061       case SCHED_RESULT_TAG:
    -00062         {         
    -00063           /* Unpacking the resource */
    -00064           SERVICE_ID serv_id;
    -00065           unpack (serv_id);
    -00066           Service * serv = getService (serv_id);
    -00067           int dest;
    -00068           unpack (dest);
    -00069           WORKER_ID worker_id;
    -00070           unpack (worker_id);
    -00071 
    -00072           /* Going back ... */
    -00073           initMessage ();
    -00074           pack (worker_id);
    -00075           pack (serv_id); 
    -00076           serv -> packData ();
    -00077           serv -> notifySendingData ();
    -00078           sendMessage (dest, TASK_DATA_TAG);
    -00079           break;
    -00080         }
    -00081 
    -00082       case TASK_DATA_TAG:
    -00083       {
    -00084         WORKER_ID worker_id;
    -00085         unpack (worker_id);             
    -00086         Worker * worker = getWorker (worker_id);
    -00087         worker -> setSource (src);
    -00088         worker -> unpackData ();
    -00089         worker -> wakeUp ();
    -00090         break; 
    -00091       }
    -00092       
    -00093       case TASK_RESULT_TAG:
    -00094         {
    -00095           SERVICE_ID serv_id;
    -00096           unpack (serv_id);
    -00097           Service * serv = getService (serv_id);
    -00098           serv -> unpackResult ();
    -00099           break;
    -00100         }
    -00101 
    -00102       case TASK_DONE_TAG:
    -00103         unpackTaskDone ();
    -00104         break;
    -00105 
    -00106       default:
    -00107         ;
    -00108       };
    -00109     }
    -00110         
    -00111   } while (! atLeastOneActiveThread () && atLeastOneActiveRunner () /*&& ! allResourcesFree ()*/);
    -00112 }
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    recv.cpp

    00001 /* 
    +00002 * <recv.cpp>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #include "comm.h"
    +00038 #include "tags.h"
    +00039 #include "worker.h"
    +00040 #include "scheduler.h"
    +00041 #include "mess.h"
    +00042 #include "node.h"
    +00043 #include "../../core/runner.h"
    +00044 #include "../../core/cooperative.h"
    +00045 #include "../../core/peo_debug.h"
    +00046 
    +00047 void receiveMessages () {
    +00048 
    +00049   cleanBuffers ();
    +00050     
    +00051   do {
    +00052 
    +00053     if (! atLeastOneActiveThread ()) {
    +00054       //      printDebugMessage ("debut wait");
    +00055       waitMessage ();
    +00056       //printDebugMessage ("fin wait");
    +00057     }
    +00058     
    +00059     int src, tag;
    +00060 
    +00061     while (probeMessage (src, tag)) {
    +00062       
    +00063       receiveMessage (src, tag);
    +00064       initMessage ();
    +00065       /*
    +00066       char b [1000];
    +00067       sprintf (b, "traitement recv %d\n", tag);
    +00068       printDebugMessage (b);
    +00069       */
    +00070       
    +00071       switch (tag) {
    +00072         
    +00073       case RUNNER_STOP_TAG:     
    +00074         unpackTerminationOfRunner ();   
    +00075         wakeUpCommunicator ();
    +00076         break;
    +00077       
    +00078       case COOP_TAG:
    +00079         //      printDebugMessage ("reception de message de cooperation");
    +00080         COOP_ID coop_id;
    +00081         unpack (coop_id);
    +00082         getCooperative (coop_id) -> unpack ();
    +00083         break;
    +00084 
    +00085       case SCHED_REQUEST_TAG:   
    +00086         unpackResourceRequest ();
    +00087         break;
    +00088         
    +00089       case SCHED_RESULT_TAG:
    +00090         {         
    +00091           /* Unpacking the resource */
    +00092           SERVICE_ID serv_id;
    +00093           unpack (serv_id);
    +00094           Service * serv = getService (serv_id);
    +00095           int dest;
    +00096           unpack (dest);
    +00097           WORKER_ID worker_id;
    +00098           unpack (worker_id);
    +00099 
    +00100           /* Going back ... */
    +00101           initMessage ();
    +00102           pack (worker_id);
    +00103           pack (serv_id); 
    +00104           serv -> packData ();
    +00105           serv -> notifySendingData ();
    +00106           sendMessage (dest, TASK_DATA_TAG);
    +00107           break;
    +00108         }
    +00109 
    +00110       case TASK_DATA_TAG:
    +00111       {
    +00112         WORKER_ID worker_id;
    +00113         unpack (worker_id);             
    +00114         Worker * worker = getWorker (worker_id);
    +00115         worker -> setSource (src);
    +00116         worker -> unpackData ();
    +00117         worker -> wakeUp ();
    +00118         break; 
    +00119       }
    +00120       
    +00121       case TASK_RESULT_TAG:
    +00122         {
    +00123           SERVICE_ID serv_id;
    +00124           unpack (serv_id);
    +00125           Service * serv = getService (serv_id);
    +00126           serv -> unpackResult ();
    +00127           break;
    +00128         }
    +00129 
    +00130       case TASK_DONE_TAG:
    +00131         unpackTaskDone ();
    +00132         break;
    +00133 
    +00134       default:
    +00135         ;
    +00136       };
    +00137     }
    +00138         
    +00139   } while (! atLeastOneActiveThread () && atLeastOneActiveRunner () /*&& ! allResourcesFree ()*/);
    +00140 }
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/recv_8h-source.html b/trunk/paradiseo-peo/doc/html/recv_8h-source.html index 223cc9eb3..fa8af7233 100644 --- a/trunk/paradiseo-peo/doc/html/recv_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/recv_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: recv.h Source File +ParadisEO-PEOMovingObjects: recv.h Source File @@ -22,21 +22,49 @@ -

    recv.h

    00001 // "recv.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __recv_h
    -00010 #define __recv_h
    -00011 
    -00012 extern void receiveMessages ();
    -00013 
    -00014 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    recv.h

    00001 /* 
    +00002 * <recv.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __recv_h
    +00038 #define __recv_h
    +00039 
    +00040 extern void receiveMessages ();
    +00041 
    +00042 #endif
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/ring__topo_8cpp-source.html b/trunk/paradiseo-peo/doc/html/ring__topo_8cpp-source.html index d08dc44e8..f6b67ce85 100644 --- a/trunk/paradiseo-peo/doc/html/ring__topo_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/ring__topo_8cpp-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: ring_topo.cpp Source File +ParadisEO-PEOMovingObjects: ring_topo.cpp Source File @@ -22,32 +22,60 @@ -

    ring_topo.cpp

    00001 // "ring_topo.cpp"
    -00002 
    -00003 // (c) OPAC Team, LIFL, September 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #include "ring_topo.h"
    -00010 
    -00011 void RingTopology :: setNeighbors (Cooperative * __mig,
    -00012                                    std :: vector <Cooperative *> & __from,
    -00013                                    std :: vector <Cooperative *> & __to) {
    -00014   __from.clear () ;
    -00015   __to.clear () ;
    -00016 
    -00017     int len = mig.size () ;
    -00018     
    -00019     for (int i = 0 ; i < len ; i ++)      
    -00020       if (mig [i] == __mig) {   
    -00021         __from.push_back (mig [(i - 1 + len) % len]) ;
    -00022         __to.push_back (mig [(i + 1) % len]) ;  
    -00023         break;
    -00024       }
    -00025 }
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    ring_topo.cpp

    00001 /* 
    +00002 * <ring_topo.cpp>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #include "ring_topo.h"
    +00038 
    +00039 void RingTopology :: setNeighbors (Cooperative * __mig,
    +00040                                    std :: vector <Cooperative *> & __from,
    +00041                                    std :: vector <Cooperative *> & __to) {
    +00042   __from.clear () ;
    +00043   __to.clear () ;
    +00044 
    +00045     int len = mig.size () ;
    +00046     
    +00047     for (int i = 0 ; i < len ; i ++)      
    +00048       if (mig [i] == __mig) {   
    +00049         __from.push_back (mig [(i - 1 + len) % len]) ;
    +00050         __to.push_back (mig [(i + 1) % len]) ;  
    +00051         break;
    +00052       }
    +00053 }
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/ring__topo_8h-source.html b/trunk/paradiseo-peo/doc/html/ring__topo_8h-source.html index e0e119d00..2d19ad101 100644 --- a/trunk/paradiseo-peo/doc/html/ring__topo_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/ring__topo_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: ring_topo.h Source File +ParadisEO-PEOMovingObjects: ring_topo.h Source File @@ -22,31 +22,59 @@ -

    ring_topo.h

    00001 // "ring_topo.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, September 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __ring_topo_h
    -00010 #define __ring_topo_h
    -00011 
    -00012 #include "topology.h"
    -00013 
    -00014 class RingTopology : public Topology {
    -00015   
    -00016 public :
    -00017    
    -00018   void setNeighbors (Cooperative * __mig,
    -00019                      std :: vector <Cooperative *> & __from,
    -00020                      std :: vector <Cooperative *> & __to);
    -00021   
    -00022 };
    -00023 
    -00024 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    ring_topo.h

    00001 /* 
    +00002 * <ring_topo.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __ring_topo_h
    +00038 #define __ring_topo_h
    +00039 
    +00040 #include "topology.h"
    +00041 
    +00042 class RingTopology : public Topology {
    +00043   
    +00044 public :
    +00045    
    +00046   void setNeighbors (Cooperative * __mig,
    +00047                      std :: vector <Cooperative *> & __from,
    +00048                      std :: vector <Cooperative *> & __to);
    +00049   
    +00050 };
    +00051 
    +00052 #endif
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/rmc_2mpi_2runner_8cpp-source.html b/trunk/paradiseo-peo/doc/html/rmc_2mpi_2runner_8cpp-source.html index c9cd7213f..cf9389486 100644 --- a/trunk/paradiseo-peo/doc/html/rmc_2mpi_2runner_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/rmc_2mpi_2runner_8cpp-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: runner.cpp Source File +ParadisEO-PEOMovingObjects: runner.cpp Source File @@ -22,40 +22,68 @@ -

    runner.cpp

    00001 // "runner.cpp"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #include "../../core/messaging.h"
    -00010 #include "../../core/runner.h"
    -00011 #include "node.h"
    -00012 #include "send.h"
    -00013 #include "tags.h"
    -00014 #include "schema.h"
    -00015 
    -00016 bool Runner :: isLocal () {
    -00017 
    -00018   for (unsigned i = 0; i < my_node -> id_run.size (); i ++)
    -00019     if (my_node -> id_run [i] == id)
    -00020       return true;
    -00021   return false;
    -00022 }
    -00023 
    -00024 void Runner :: packTermination () {
    -00025 
    -00026   pack (id);
    -00027 }
    -00028 
    -00029 void Runner :: terminate () {
    -00030 
    -00031   sendToAll (this, RUNNER_STOP_TAG);     
    -00032 }
    -00033 
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    runner.cpp

    00001 /* 
    +00002 * <runner.cpp>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #include "../../core/messaging.h"
    +00038 #include "../../core/runner.h"
    +00039 #include "node.h"
    +00040 #include "send.h"
    +00041 #include "tags.h"
    +00042 #include "schema.h"
    +00043 
    +00044 bool Runner :: isLocal () {
    +00045 
    +00046   for (unsigned i = 0; i < my_node -> id_run.size (); i ++)
    +00047     if (my_node -> id_run [i] == id)
    +00048       return true;
    +00049   return false;
    +00050 }
    +00051 
    +00052 void Runner :: packTermination () {
    +00053 
    +00054   pack (id);
    +00055 }
    +00056 
    +00057 void Runner :: terminate () {
    +00058 
    +00059   sendToAll (this, RUNNER_STOP_TAG);     
    +00060 }
    +00061 
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/rmc_2mpi_2service_8cpp-source.html b/trunk/paradiseo-peo/doc/html/rmc_2mpi_2service_8cpp-source.html index 4b69a6a50..d24a7dccb 100644 --- a/trunk/paradiseo-peo/doc/html/rmc_2mpi_2service_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/rmc_2mpi_2service_8cpp-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: service.cpp Source File +ParadisEO-PEOMovingObjects: service.cpp Source File @@ -22,37 +22,65 @@ -

    service.cpp

    00001 // "service.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #include "../../core/service.h"
    -00010 #include "../../core/messaging.h"
    -00011 #include "node.h"
    -00012 #include "tags.h"
    -00013 #include "send.h"
    -00014 #include "scheduler.h"
    -00015 
    -00016 void Service :: requestResourceRequest (unsigned __how_many) {
    -00017 
    -00018   num_sent_rr = __how_many;
    -00019   for (unsigned i = 0; i < __how_many; i ++)
    -00020     send (this, my_node -> rk_sched, SCHED_REQUEST_TAG);
    -00021 }
    -00022 
    -00023 void Service :: packResourceRequest () {
    -00024 
    -00025   SCHED_REQUEST req;
    -00026   req.first = getNodeRank ();
    -00027   req.second = getKey ();
    -00028   //  printf ("demande de ressource pour %d\n", req.second);
    -00029   :: pack (req);
    -00030 }
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    service.cpp

    00001 /* 
    +00002 * <service.cpp>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #include "../../core/service.h"
    +00038 #include "../../core/messaging.h"
    +00039 #include "node.h"
    +00040 #include "tags.h"
    +00041 #include "send.h"
    +00042 #include "scheduler.h"
    +00043 
    +00044 void Service :: requestResourceRequest (unsigned __how_many) {
    +00045 
    +00046   num_sent_rr = __how_many;
    +00047   for (unsigned i = 0; i < __how_many; i ++)
    +00048     send (this, my_node -> rk_sched, SCHED_REQUEST_TAG);
    +00049 }
    +00050 
    +00051 void Service :: packResourceRequest () {
    +00052 
    +00053   SCHED_REQUEST req;
    +00054   req.first = getNodeRank ();
    +00055   req.second = getKey ();
    +00056   //  printf ("demande de ressource pour %d\n", req.second);
    +00057   :: pack (req);
    +00058 }
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/rmc_8cpp-source.html b/trunk/paradiseo-peo/doc/html/rmc_8cpp-source.html index 0b3a67ef1..d12de1681 100644 --- a/trunk/paradiseo-peo/doc/html/rmc_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/rmc_8cpp-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: rmc.cpp Source File +ParadisEO-PEOMovingObjects: rmc.cpp Source File @@ -22,53 +22,81 @@ -

    rmc.cpp

    00001 // "rmc.cpp"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #include "send.h"
    -00010 #include "worker.h"
    -00011 #include "schema.h"
    -00012 #include "comm.h"
    -00013 #include "scheduler.h"
    -00014 #include "../../core/peo_debug.h"
    -00015 
    -00016 static std :: vector <pthread_t *> ll_threads; /* Low level threads */
    -00017 
    -00018 void runRMC () {
    -00019 
    -00020   /* Worker(s) ? */
    -00021   for (unsigned i = 0; i < my_node -> num_workers; i ++) 
    -00022     addThread (new Worker, ll_threads);
    -00023 
    -00024   wakeUpCommunicator ();
    -00025 }
    -00026 
    -00027 void initRMC (int & __argc, char * * & __argv) {
    -00028 
    -00029   /* Communication */
    -00030   initCommunication ();
    -00031   addThread (new Communicator (& __argc, & __argv), ll_threads);
    -00032   waitNodeInitialization ();
    -00033   initSending ();
    -00034 
    -00035   /* Scheduler */
    -00036   if (isScheduleNode ())
    -00037     initScheduler ();
    -00038 
    -00040 }
    -00041 
    -00042 void finalizeRMC () {
    +

    rmc.cpp

    00001 /* 
    +00002 * <rmc.cpp>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #include "send.h"
    +00038 #include "worker.h"
    +00039 #include "schema.h"
    +00040 #include "comm.h"
    +00041 #include "scheduler.h"
    +00042 #include "../../core/peo_debug.h"
     00043 
    -00044   printDebugMessage ("before join threads RMC");
    -00045   joinThreads (ll_threads);
    -00046   printDebugMessage ("after join threads RMC");
    -00047 }
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00044 static std :: vector <pthread_t *> ll_threads; /* Low level threads */ +00045 +00046 void runRMC () { +00047 +00048 /* Worker(s) ? */ +00049 for (unsigned i = 0; i < my_node -> num_workers; i ++) +00050 addThread (new Worker, ll_threads); +00051 +00052 wakeUpCommunicator (); +00053 } +00054 +00055 void initRMC (int & __argc, char * * & __argv) { +00056 +00057 /* Communication */ +00058 initCommunication (); +00059 addThread (new Communicator (& __argc, & __argv), ll_threads); +00060 waitNodeInitialization (); +00061 initSending (); +00062 +00063 /* Scheduler */ +00064 if (isScheduleNode ()) +00065 initScheduler (); +00066 +00068 } +00069 +00070 void finalizeRMC () { +00071 +00072 printDebugMessage ("before join threads RMC"); +00073 joinThreads (ll_threads); +00074 printDebugMessage ("after join threads RMC"); +00075 } +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/rmc_8h-source.html b/trunk/paradiseo-peo/doc/html/rmc_8h-source.html index d2e2e20c5..6e2d24667 100644 --- a/trunk/paradiseo-peo/doc/html/rmc_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/rmc_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: rmc.h Source File +ParadisEO-PEOMovingObjects: rmc.h Source File @@ -22,25 +22,53 @@ -

    rmc.h

    00001 // "rmc.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __rmc_h
    -00010 #define __rmc_h
    -00011 
    -00012 extern void initRMC (int & __argc, char * * & __argv);
    -00013 
    -00014 extern void runRMC (); /* Resource Management and Communication */ 
    -00015 
    -00016 extern void finalizeRMC ();
    -00017 
    -00018 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    rmc.h

    00001 /* 
    +00002 * <rmc.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __rmc_h
    +00038 #define __rmc_h
    +00039 
    +00040 extern void initRMC (int & __argc, char * * & __argv);
    +00041 
    +00042 extern void runRMC (); /* Resource Management and Communication */ 
    +00043 
    +00044 extern void finalizeRMC ();
    +00045 
    +00046 #endif
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/runner_8h-source.html b/trunk/paradiseo-peo/doc/html/runner_8h-source.html index 51d47a794..3975d3624 100644 --- a/trunk/paradiseo-peo/doc/html/runner_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/runner_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: runner.h Source File +ParadisEO-PEOMovingObjects: runner.h Source File @@ -22,65 +22,93 @@ -

    runner.h

    00001 // "runner.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __runner_h
    -00010 #define __runner_h
    -00011 
    -00012 #include <eoFunctor.h>
    -00013 
    -00014 #include "communicable.h"
    -00015 #include "thread.h"
    -00016 
    -00017 typedef unsigned RUNNER_ID;
    -00018 
    -00019 class Runner : public Communicable, public Thread {
    -00020 
    -00021 public :
    -00022 
    -00023   Runner ();
    -00024 
    -00025   void start ();
    -00026 
    -00027   void waitStarting ();
    -00028 
    -00029   bool isLocal ();
    -00030 
    -00031   void terminate ();
    -00032 
    -00033   virtual void run () = 0;
    -00034   
    -00035   RUNNER_ID getID (); 
    +

    runner.h

    00001 /* 
    +00002 * <runner.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
     00036 
    -00037   void packTermination ();
    -00038 
    -00039   void notifySendingTermination ();
    -00040 
    -00041 private :
    -00042 
    -00043   sem_t sem_start;
    +00037 #ifndef __runner_h
    +00038 #define __runner_h
    +00039 
    +00040 #include <eoFunctor.h>
    +00041 
    +00042 #include "communicable.h"
    +00043 #include "thread.h"
     00044 
    -00045   unsigned id;
    -00046 };
    -00047 
    -00048 extern bool atLeastOneActiveRunner ();
    -00049 
    -00050 extern void unpackTerminationOfRunner ();
    -00051 
    -00052 extern Runner * getRunner (RUNNER_ID __key); 
    -00053 
    -00054 extern void startRunners ();
    -00055 
    -00056 extern void joinRunners ();
    -00057 
    -00058 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00045 typedef unsigned RUNNER_ID; +00046 +00047 class Runner : public Communicable, public Thread { +00048 +00049 public : +00050 +00051 Runner (); +00052 +00053 void start (); +00054 +00055 void waitStarting (); +00056 +00057 bool isLocal (); +00058 +00059 void terminate (); +00060 +00061 virtual void run () = 0; +00062 +00063 RUNNER_ID getID (); +00064 +00065 void packTermination (); +00066 +00067 void notifySendingTermination (); +00068 +00069 private : +00070 +00071 sem_t sem_start; +00072 +00073 unsigned id; +00074 }; +00075 +00076 extern bool atLeastOneActiveRunner (); +00077 +00078 extern void unpackTerminationOfRunner (); +00079 +00080 extern Runner * getRunner (RUNNER_ID __key); +00081 +00082 extern void startRunners (); +00083 +00084 extern void joinRunners (); +00085 +00086 #endif +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/scheduler_8cpp-source.html b/trunk/paradiseo-peo/doc/html/scheduler_8cpp-source.html index 9302698fe..20dc2624d 100644 --- a/trunk/paradiseo-peo/doc/html/scheduler_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/scheduler_8cpp-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: scheduler.cpp Source File +ParadisEO-PEOMovingObjects: scheduler.cpp Source File @@ -22,85 +22,113 @@ -

    scheduler.cpp

    00001 // "sched_thread.cpp"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #include <queue>
    -00010 
    -00011 #include "scheduler.h"
    -00012 #include "tags.h"
    -00013 #include "mess.h"
    -00014 #include "../../core/peo_debug.h"
    -00015 
    -00016 static std :: queue <SCHED_RESOURCE> resources; /* Free resources */
    -00017 
    -00018 static std :: queue <SCHED_REQUEST> requests; /* Requests */
    -00019 
    -00020 static unsigned initNumberOfRes = 0;
    -00021 
    -00022 void initScheduler () {
    -00023   
    -00024   for (unsigned i = 0; i < the_schema.size (); i ++) {
    -00025     
    -00026     const Node & node = the_schema [i];
    -00027     
    -00028     if (node.rk_sched == my_node -> rk)      
    -00029       for (unsigned j = 0; j < node.num_workers; j ++)
    -00030         resources.push (std :: pair <RANK_ID, WORKER_ID> (i, j + 1));    
    -00031   }  
    -00032   initNumberOfRes = resources.size ();
    -00033 }
    -00034 
    -00035 bool allResourcesFree () {
    +

    scheduler.cpp

    00001 /* 
    +00002 * <scheduler.cpp>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
     00036 
    -00037   return resources.size () == initNumberOfRes;
    -00038 }
    -00039 
    -00040 static void update () {
    -00041 
    -00042   unsigned num_alloc = std :: min (resources.size (), requests.size ());
    -00043   
    -00044   for (unsigned i = 0; i < num_alloc; i ++) {
    -00045     
    -00046     SCHED_REQUEST req = requests.front ();
    -00047     requests.pop ();
    -00048     
    -00049     SCHED_RESOURCE res = resources.front ();
    -00050     resources.pop ();
    -00051 
    -00052     printDebugMessage ("allocating a resource.");    
    -00053     initMessage ();
    -00054     pack (req.second);
    -00055     pack (res);
    -00056     sendMessage (req.first, SCHED_RESULT_TAG);
    -00057   }  
    -00058 }
    -00059 
    -00060 void unpackResourceRequest () {
    -00061 
    -00062   printDebugMessage ("queuing a resource request.");
    -00063   SCHED_REQUEST req;
    -00064   unpack (req);
    -00065   requests.push (req);
    -00066   update ();
    -00067 }
    -00068 
    -00069 void unpackTaskDone () {
    -00070 
    -00071   printDebugMessage ("I'm notified a worker is now idle.");
    -00072   SCHED_RESOURCE res;
    -00073   unpack (res);
    -00074   resources.push (res);
    -00075   if (resources.size () == initNumberOfRes)
    -00076     printDebugMessage ("all the resources are now free.");
    -00077   update ();
    -00078 }
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00037 #include <queue> +00038 +00039 #include "scheduler.h" +00040 #include "tags.h" +00041 #include "mess.h" +00042 #include "../../core/peo_debug.h" +00043 +00044 static std :: queue <SCHED_RESOURCE> resources; /* Free resources */ +00045 +00046 static std :: queue <SCHED_REQUEST> requests; /* Requests */ +00047 +00048 static unsigned initNumberOfRes = 0; +00049 +00050 void initScheduler () { +00051 +00052 for (unsigned i = 0; i < the_schema.size (); i ++) { +00053 +00054 const Node & node = the_schema [i]; +00055 +00056 if (node.rk_sched == my_node -> rk) +00057 for (unsigned j = 0; j < node.num_workers; j ++) +00058 resources.push (std :: pair <RANK_ID, WORKER_ID> (i, j + 1)); +00059 } +00060 initNumberOfRes = resources.size (); +00061 } +00062 +00063 bool allResourcesFree () { +00064 +00065 return resources.size () == initNumberOfRes; +00066 } +00067 +00068 static void update () { +00069 +00070 unsigned num_alloc = std :: min (resources.size (), requests.size ()); +00071 +00072 for (unsigned i = 0; i < num_alloc; i ++) { +00073 +00074 SCHED_REQUEST req = requests.front (); +00075 requests.pop (); +00076 +00077 SCHED_RESOURCE res = resources.front (); +00078 resources.pop (); +00079 +00080 printDebugMessage ("allocating a resource."); +00081 initMessage (); +00082 pack (req.second); +00083 pack (res); +00084 sendMessage (req.first, SCHED_RESULT_TAG); +00085 } +00086 } +00087 +00088 void unpackResourceRequest () { +00089 +00090 printDebugMessage ("queuing a resource request."); +00091 SCHED_REQUEST req; +00092 unpack (req); +00093 requests.push (req); +00094 update (); +00095 } +00096 +00097 void unpackTaskDone () { +00098 +00099 printDebugMessage ("I'm notified a worker is now idle."); +00100 SCHED_RESOURCE res; +00101 unpack (res); +00102 resources.push (res); +00103 if (resources.size () == initNumberOfRes) +00104 printDebugMessage ("all the resources are now free."); +00105 update (); +00106 } +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/scheduler_8h-source.html b/trunk/paradiseo-peo/doc/html/scheduler_8h-source.html index 8ce0b5d1e..b012f4aa7 100644 --- a/trunk/paradiseo-peo/doc/html/scheduler_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/scheduler_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: scheduler.h Source File +ParadisEO-PEOMovingObjects: scheduler.h Source File @@ -22,39 +22,67 @@ -

    scheduler.h

    00001 // "scheduler.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __scheduler_h
    -00010 #define __scheduler_h
    -00011 
    -00012 #include <utility>
    -00013 
    -00014 #include "schema.h"
    -00015 #include "worker.h"
    -00016 
    -00017 typedef std :: pair <RANK_ID, WORKER_ID> SCHED_RESOURCE;
    -00018 
    -00019 typedef std :: pair <RANK_ID, SERVICE_ID> SCHED_REQUEST;
    -00020 
    -00021 /* Initializing the list of available workers */
    -00022 extern void initScheduler ();
    -00023 
    -00024 /* Processing a resource request from a service */
    -00025 extern void unpackResourceRequest ();
    -00026 
    -00027 /* Being known a worker is now idle :-) */
    -00028 extern void unpackTaskDone (); 
    -00029 
    -00030 extern bool allResourcesFree ();
    -00031 
    -00032 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    scheduler.h

    00001 /* 
    +00002 * <scheduler.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __scheduler_h
    +00038 #define __scheduler_h
    +00039 
    +00040 #include <utility>
    +00041 
    +00042 #include "schema.h"
    +00043 #include "worker.h"
    +00044 
    +00045 typedef std :: pair <RANK_ID, WORKER_ID> SCHED_RESOURCE;
    +00046 
    +00047 typedef std :: pair <RANK_ID, SERVICE_ID> SCHED_REQUEST;
    +00048 
    +00049 /* Initializing the list of available workers */
    +00050 extern void initScheduler ();
    +00051 
    +00052 /* Processing a resource request from a service */
    +00053 extern void unpackResourceRequest ();
    +00054 
    +00055 /* Being known a worker is now idle :-) */
    +00056 extern void unpackTaskDone (); 
    +00057 
    +00058 extern bool allResourcesFree ();
    +00059 
    +00060 #endif
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/schema_8cpp-source.html b/trunk/paradiseo-peo/doc/html/schema_8cpp-source.html index 47bfefa74..27e89390c 100644 --- a/trunk/paradiseo-peo/doc/html/schema_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/schema_8cpp-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: schema.cpp Source File +ParadisEO-PEOMovingObjects: schema.cpp Source File @@ -22,142 +22,170 @@ -

    schema.cpp

    00001 // "schema.cpp"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #include <iostream>
    -00010 #include <assert.h>
    -00011 
    -00012 #include "schema.h"
    -00013 #include "xml_parser.h"
    -00014 #include "comm.h"
    -00015 #include "node.h"
    -00016 #include "../../core/peo_debug.h"
    -00017 
    -00018 std :: vector <Node> the_schema;
    -00019 
    -00020 Node * my_node;
    -00021 
    -00022 RANK_ID getRankOfRunner (RUNNER_ID __key) {
    -00023 
    -00024   for (unsigned i = 0; i < the_schema.size (); i ++)
    -00025     for (unsigned j = 0; j < the_schema [i].id_run.size (); j ++)
    -00026       if (the_schema [i].id_run [j] == __key)
    -00027         return the_schema [i].rk;
    -00028   assert (false);
    -00029   return 0; 
    -00030 }
    -00031 
    -00032 static void loadNode (int __rk_sched) {
    -00033 
    -00034   Node node;
    -00035   
    -00036   node.rk_sched = __rk_sched;
    -00037 
    -00038   /* ATT: name*/
    -00039   node.rk = getRankFromName (getAttributeValue ("name"));
    -00040   /* ATT: num_workers */
    -00041   node.num_workers = atoi (getAttributeValue ("num_workers").c_str ());
    -00042 
    -00043   while (true) {
    -00044     
    -00045     /* TAG: <runner> | </node> */
    -00046     std :: string name = getNextNode ();
    -00047     assert (name == "runner" || name == "node");    
    -00048     if (name == "runner") {
    -00049       /* TAG: </node> */
    -00050       node.id_run.push_back (atoi (getNextNode ().c_str ()));
    -00051       /* TAG: </runner> */
    -00052       assert (getNextNode () == "runner");
    -00053     }
    -00054     else {      
    -00055       /* TAG: </node> */
    -00056       the_schema.push_back (node); 
    -00057       break;
    -00058     }
    -00059   }
    -00060 }
    +

    schema.cpp

    00001 /* 
    +00002 * <schema.cpp>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #include <iostream>
    +00038 #include <assert.h>
    +00039 
    +00040 #include "schema.h"
    +00041 #include "xml_parser.h"
    +00042 #include "comm.h"
    +00043 #include "node.h"
    +00044 #include "../../core/peo_debug.h"
    +00045 
    +00046 std :: vector <Node> the_schema;
    +00047 
    +00048 Node * my_node;
    +00049 
    +00050 RANK_ID getRankOfRunner (RUNNER_ID __key) {
    +00051 
    +00052   for (unsigned i = 0; i < the_schema.size (); i ++)
    +00053     for (unsigned j = 0; j < the_schema [i].id_run.size (); j ++)
    +00054       if (the_schema [i].id_run [j] == __key)
    +00055         return the_schema [i].rk;
    +00056   assert (false);
    +00057   return 0; 
    +00058 }
    +00059 
    +00060 static void loadNode (int __rk_sched) {
     00061 
    -00062 static void loadGroup () {
    -00063 
    -00064   std :: string name;
    -00065   
    -00066   /* ATT: scheduler*/
    -00067   int rk_sched = getRankFromName (getAttributeValue ("scheduler"));
    -00068   
    -00069   while (true) {
    +00062   Node node;
    +00063   
    +00064   node.rk_sched = __rk_sched;
    +00065 
    +00066   /* ATT: name*/
    +00067   node.rk = getRankFromName (getAttributeValue ("name"));
    +00068   /* ATT: num_workers */
    +00069   node.num_workers = atoi (getAttributeValue ("num_workers").c_str ());
     00070 
    -00071     /* TAG: <node> | </group> */
    -00072     name = getNextNode ();
    -00073     assert (name == "node" || name == "group");    
    -00074     if (name == "node")
    -00075       /* TAG: <node> */
    -00076       loadNode (rk_sched);
    -00077     else
    -00078       /* TAG: </group> */
    -00079       break;
    -00080   }
    -00081 }
    -00082 
    -00083 bool isScheduleNode () {
    -00084   
    -00085   return my_node -> rk == my_node -> rk_sched;
    -00086 }
    -00087 
    -00088 void loadSchema (const char * __filename) {
    -00089   
    -00090   openXMLDocument (__filename);
    -00091   
    +00071   while (true) {
    +00072     
    +00073     /* TAG: <runner> | </node> */
    +00074     std :: string name = getNextNode ();
    +00075     assert (name == "runner" || name == "node");    
    +00076     if (name == "runner") {
    +00077       /* TAG: </node> */
    +00078       node.id_run.push_back (atoi (getNextNode ().c_str ()));
    +00079       /* TAG: </runner> */
    +00080       assert (getNextNode () == "runner");
    +00081     }
    +00082     else {      
    +00083       /* TAG: </node> */
    +00084       the_schema.push_back (node); 
    +00085       break;
    +00086     }
    +00087   }
    +00088 }
    +00089 
    +00090 static void loadGroup () {
    +00091 
     00092   std :: string name;
     00093   
    -00094   /* TAG: <schema> */
    -00095   name = getNextNode ();
    -00096   assert (name == "schema");
    -00097     
    -00098   while (true) {
    -00099 
    -00100     /* TAG: <group> | </schema> */
    -00101     name = getNextNode ();
    -00102     assert (name == "group" || name == "schema");    
    -00103     if (name == "group")
    -00104       /* TAG: <group> */
    -00105       loadGroup ();
    -00106     else
    -00107       /* TAG: </schema> */
    -00108       break;    
    -00109   }
    +00094   /* ATT: scheduler*/
    +00095   int rk_sched = getRankFromName (getAttributeValue ("scheduler"));
    +00096   
    +00097   while (true) {
    +00098 
    +00099     /* TAG: <node> | </group> */
    +00100     name = getNextNode ();
    +00101     assert (name == "node" || name == "group");    
    +00102     if (name == "node")
    +00103       /* TAG: <node> */
    +00104       loadNode (rk_sched);
    +00105     else
    +00106       /* TAG: </group> */
    +00107       break;
    +00108   }
    +00109 }
     00110 
    -00111   /* Looking for my node */
    -00112   for (unsigned i = 0; i < the_schema.size (); i ++)
    -00113     if (the_schema [i].rk == getNodeRank ())
    -00114       my_node = & (the_schema [i]);
    -00115   
    -00116   /* About me */
    -00117   char mess [1000];
    -00118   
    -00119   sprintf (mess, "my rank is %d", my_node -> rk);
    -00120   printDebugMessage (mess);
    -00121   if (isScheduleNode ())
    -00122     printDebugMessage ("I'am a scheduler");  
    -00123   for (unsigned i = 0; i < my_node -> id_run.size (); i ++) {
    -00124     sprintf (mess, "I manage the runner %d", my_node -> id_run [i]);
    -00125     printDebugMessage (mess);
    -00126   }
    -00127   if (my_node -> num_workers) {
    -00128     
    -00129     sprintf (mess, "I manage %d worker(s)", my_node -> num_workers);
    -00130     printDebugMessage (mess);
    -00131   }
    -00132           
    -00133   closeXMLDocument ();
    -00134 }
    -00135 
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00111 bool isScheduleNode () { +00112 +00113 return my_node -> rk == my_node -> rk_sched; +00114 } +00115 +00116 void loadSchema (const char * __filename) { +00117 +00118 openXMLDocument (__filename); +00119 +00120 std :: string name; +00121 +00122 /* TAG: <schema> */ +00123 name = getNextNode (); +00124 assert (name == "schema"); +00125 +00126 while (true) { +00127 +00128 /* TAG: <group> | </schema> */ +00129 name = getNextNode (); +00130 assert (name == "group" || name == "schema"); +00131 if (name == "group") +00132 /* TAG: <group> */ +00133 loadGroup (); +00134 else +00135 /* TAG: </schema> */ +00136 break; +00137 } +00138 +00139 /* Looking for my node */ +00140 for (unsigned i = 0; i < the_schema.size (); i ++) +00141 if (the_schema [i].rk == getNodeRank ()) +00142 my_node = & (the_schema [i]); +00143 +00144 /* About me */ +00145 char mess [1000]; +00146 +00147 sprintf (mess, "my rank is %d", my_node -> rk); +00148 printDebugMessage (mess); +00149 if (isScheduleNode ()) +00150 printDebugMessage ("I'am a scheduler"); +00151 for (unsigned i = 0; i < my_node -> id_run.size (); i ++) { +00152 sprintf (mess, "I manage the runner %d", my_node -> id_run [i]); +00153 printDebugMessage (mess); +00154 } +00155 if (my_node -> num_workers) { +00156 +00157 sprintf (mess, "I manage %d worker(s)", my_node -> num_workers); +00158 printDebugMessage (mess); +00159 } +00160 +00161 closeXMLDocument (); +00162 } +00163 +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/schema_8h-source.html b/trunk/paradiseo-peo/doc/html/schema_8h-source.html index f6c05c6a9..b5044a17f 100644 --- a/trunk/paradiseo-peo/doc/html/schema_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/schema_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: schema.h Source File +ParadisEO-PEOMovingObjects: schema.h Source File @@ -22,46 +22,74 @@ -

    schema.h

    00001 // "schema.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __schema_h
    -00010 #define __schema_h
    -00011 
    -00012 #include <string>
    -00013 #include <vector>
    -00014 #include <cassert>
    -00015 
    -00016 #include "../../core/runner.h"
    -00017 
    -00018 typedef int RANK_ID;
    -00019 
    -00020 struct Node {
    -00021   
    -00022   RANK_ID rk; /* Rank */
    -00023   std :: string name; /* Host name */
    -00024   unsigned num_workers; /* Number of parallel workers */
    -00025   int rk_sched; /* rank of the scheduler */
    -00026   std :: vector <RUNNER_ID> id_run; /* List of runners */
    -00027 };
    -00028 
    -00029 extern std :: vector <Node> the_schema;
    -00030 
    -00031 extern Node * my_node;
    -00032 
    -00033 extern void loadSchema (const char * __filename);
    -00034 
    -00035 extern RANK_ID getRankOfRunner (RUNNER_ID __key);
    +

    schema.h

    00001 /* 
    +00002 * <schema.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
     00036 
    -00037 extern bool isScheduleNode ();
    -00038 
    -00039 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00037 #ifndef __schema_h +00038 #define __schema_h +00039 +00040 #include <string> +00041 #include <vector> +00042 #include <cassert> +00043 +00044 #include "../../core/runner.h" +00045 +00046 typedef int RANK_ID; +00047 +00048 struct Node { +00049 +00050 RANK_ID rk; /* Rank */ +00051 std :: string name; /* Host name */ +00052 unsigned num_workers; /* Number of parallel workers */ +00053 int rk_sched; /* rank of the scheduler */ +00054 std :: vector <RUNNER_ID> id_run; /* List of runners */ +00055 }; +00056 +00057 extern std :: vector <Node> the_schema; +00058 +00059 extern Node * my_node; +00060 +00061 extern void loadSchema (const char * __filename); +00062 +00063 extern RANK_ID getRankOfRunner (RUNNER_ID __key); +00064 +00065 extern bool isScheduleNode (); +00066 +00067 #endif +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/search.idx b/trunk/paradiseo-peo/doc/html/search.idx index 8a68e80f740f30d3076fe4621ea82a33959a2839..50b796a59b1583f4fd42069669069542d932ed7f 100644 GIT binary patch literal 422353 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 literal 376206 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 diff --git a/trunk/paradiseo-peo/doc/html/search.php b/trunk/paradiseo-peo/doc/html/search.php index 90be7458b..861442bae 100644 --- a/trunk/paradiseo-peo/doc/html/search.php +++ b/trunk/paradiseo-peo/doc/html/search.php @@ -375,7 +375,7 @@ main(); ?> -
    Generated on Thu Jul 5 13:43:31 2007 for ParadisEO-PEO by  +
    Generated on Mon Oct 8 11:16:50 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/send_8cpp-source.html b/trunk/paradiseo-peo/doc/html/send_8cpp-source.html index 8340a438d..80d5342f7 100644 --- a/trunk/paradiseo-peo/doc/html/send_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/send_8cpp-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: send.cpp Source File +ParadisEO-PEOMovingObjects: send.cpp Source File @@ -22,123 +22,151 @@ -

    send.cpp

    00001 // "send.cpp"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #include <mpi.h>
    -00010 #include <semaphore.h>
    -00011 #include <queue>
    -00012 
    -00013 #include "tags.h"
    -00014 #include "comm.h"
    -00015 #include "worker.h"
    -00016 #include "scheduler.h"
    -00017 #include "mess.h"
    -00018 #include "node.h"
    -00019 #include "../../core/cooperative.h"
    -00020 #include "../../core/peo_debug.h"
    -00021 
    -00022 #define TO_ALL -1
    -00023 
    -00024 typedef struct {
    -00025 
    -00026   Communicable * comm;
    -00027   int to;
    -00028   int tag;
    -00029 
    -00030 } SEND_REQUEST;
    -00031         
    -00032 static std :: queue <SEND_REQUEST> mess;
    -00033 
    -00034 static sem_t sem_send;
    -00035 
    -00036 void initSending () {
    -00037 
    -00038   sem_init (& sem_send, 0, 1);
    -00039 }
    +

    send.cpp

    00001 /* 
    +00002 * <send.cpp>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #include <mpi.h>
    +00038 #include <semaphore.h>
    +00039 #include <queue>
     00040 
    -00041 void send (Communicable * __comm, int __to, int __tag) {
    -00042 
    -00043   SEND_REQUEST req;  
    -00044   req.comm = __comm;
    -00045   req.to = __to;
    -00046   req.tag = __tag;
    -00047 
    -00048   sem_wait (& sem_send);
    -00049   mess.push (req);
    -00050   sem_post (& sem_send);
    -00051   wakeUpCommunicator ();
    -00052 }
    +00041 #include "tags.h"
    +00042 #include "comm.h"
    +00043 #include "worker.h"
    +00044 #include "scheduler.h"
    +00045 #include "mess.h"
    +00046 #include "node.h"
    +00047 #include "../../core/cooperative.h"
    +00048 #include "../../core/peo_debug.h"
    +00049 
    +00050 #define TO_ALL -1
    +00051 
    +00052 typedef struct {
     00053 
    -00054 void sendToAll (Communicable * __comm, int __tag) {
    -00055   
    -00056   send (__comm, TO_ALL, __tag);
    -00057 }
    -00058 
    -00059 void sendMessages () {
    -00060 
    -00061   sem_wait (& sem_send);
    -00062 
    -00063   while (! mess.empty ()) {
    -00064     
    -00065     SEND_REQUEST req = mess.front ();
    -00066     /*
    -00067     char b [1000];
    -00068     sprintf (b, "traitement send %d\n", req.tag);
    -00069     printDebugMessage (b);
    -00070     */
    -00071     
    -00072     Communicable * comm = req.comm;
    -00073 
    -00074     initMessage ();
    +00054   Communicable * comm;
    +00055   int to;
    +00056   int tag;
    +00057 
    +00058 } SEND_REQUEST;
    +00059         
    +00060 static std :: queue <SEND_REQUEST> mess;
    +00061 
    +00062 static sem_t sem_send;
    +00063 
    +00064 void initSending () {
    +00065 
    +00066   sem_init (& sem_send, 0, 1);
    +00067 }
    +00068 
    +00069 void send (Communicable * __comm, int __to, int __tag) {
    +00070 
    +00071   SEND_REQUEST req;  
    +00072   req.comm = __comm;
    +00073   req.to = __to;
    +00074   req.tag = __tag;
     00075 
    -00076     switch (req.tag) {
    -00077 
    -00078     case RUNNER_STOP_TAG:
    -00079       dynamic_cast <Runner *> (comm) -> packTermination ();            
    -00080       dynamic_cast <Runner *> (comm) -> notifySendingTermination ();            
    -00081       break;
    -00082 
    -00083     case COOP_TAG:
    -00084       dynamic_cast <Cooperative *> (comm) -> pack ();      
    -00085       dynamic_cast <Cooperative *> (comm) -> notifySending ();      
    -00086       break;
    -00087           
    -00088     case SCHED_REQUEST_TAG:
    -00089       dynamic_cast <Service *> (comm) -> packResourceRequest ();
    -00090       dynamic_cast <Service *> (comm) -> notifySendingResourceRequest ();            
    -00091       break;
    -00092 
    -00093     case TASK_RESULT_TAG:
    -00094       dynamic_cast <Worker *> (comm) -> packResult ();
    -00095       dynamic_cast <Worker *> (comm) -> notifySendingResult ();
    -00096       break;
    -00097 
    -00098     case TASK_DONE_TAG:
    -00099       dynamic_cast <Worker *> (comm) -> packTaskDone ();
    -00100       dynamic_cast <Worker *> (comm) -> notifySendingTaskDone ();
    -00101       break;
    -00102       
    -00103     default :
    -00104       break;
    +00076   sem_wait (& sem_send);
    +00077   mess.push (req);
    +00078   sem_post (& sem_send);
    +00079   wakeUpCommunicator ();
    +00080 }
    +00081 
    +00082 void sendToAll (Communicable * __comm, int __tag) {
    +00083   
    +00084   send (__comm, TO_ALL, __tag);
    +00085 }
    +00086 
    +00087 void sendMessages () {
    +00088 
    +00089   sem_wait (& sem_send);
    +00090 
    +00091   while (! mess.empty ()) {
    +00092     
    +00093     SEND_REQUEST req = mess.front ();
    +00094     /*
    +00095     char b [1000];
    +00096     sprintf (b, "traitement send %d\n", req.tag);
    +00097     printDebugMessage (b);
    +00098     */
    +00099     
    +00100     Communicable * comm = req.comm;
    +00101 
    +00102     initMessage ();
    +00103 
    +00104     switch (req.tag) {
     00105 
    -00106     };
    -00107     
    -00108     if (req.to == TO_ALL)
    -00109       sendMessageToAll (req.tag);
    -00110     else
    -00111       sendMessage (req.to, req.tag);
    -00112     mess.pop ();
    -00113   }
    -00114 
    -00115   sem_post (& sem_send);  
    -00116 }
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00106 case RUNNER_STOP_TAG: +00107 dynamic_cast <Runner *> (comm) -> packTermination (); +00108 dynamic_cast <Runner *> (comm) -> notifySendingTermination (); +00109 break; +00110 +00111 case COOP_TAG: +00112 dynamic_cast <Cooperative *> (comm) -> pack (); +00113 dynamic_cast <Cooperative *> (comm) -> notifySending (); +00114 break; +00115 +00116 case SCHED_REQUEST_TAG: +00117 dynamic_cast <Service *> (comm) -> packResourceRequest (); +00118 dynamic_cast <Service *> (comm) -> notifySendingResourceRequest (); +00119 break; +00120 +00121 case TASK_RESULT_TAG: +00122 dynamic_cast <Worker *> (comm) -> packResult (); +00123 dynamic_cast <Worker *> (comm) -> notifySendingResult (); +00124 break; +00125 +00126 case TASK_DONE_TAG: +00127 dynamic_cast <Worker *> (comm) -> packTaskDone (); +00128 dynamic_cast <Worker *> (comm) -> notifySendingTaskDone (); +00129 break; +00130 +00131 default : +00132 break; +00133 +00134 }; +00135 +00136 if (req.to == TO_ALL) +00137 sendMessageToAll (req.tag); +00138 else +00139 sendMessage (req.to, req.tag); +00140 mess.pop (); +00141 } +00142 +00143 sem_post (& sem_send); +00144 } +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/send_8h-source.html b/trunk/paradiseo-peo/doc/html/send_8h-source.html index 7fe9eaec4..53b935c60 100644 --- a/trunk/paradiseo-peo/doc/html/send_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/send_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: send.h Source File +ParadisEO-PEOMovingObjects: send.h Source File @@ -22,29 +22,57 @@ -

    send.h

    00001 // "send.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __send_h
    -00010 #define __send_h
    -00011 
    -00012 #include "../../core/communicable.h"
    -00013 
    -00014 extern void initSending ();
    -00015 
    -00016 extern void send (Communicable * __comm, int __to, int __tag);
    -00017 
    -00018 extern void sendToAll (Communicable * __comm, int __tag);
    -00019 
    -00020 extern void sendMessages ();
    -00021 
    -00022 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    send.h

    00001 /* 
    +00002 * <send.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __send_h
    +00038 #define __send_h
    +00039 
    +00040 #include "../../core/communicable.h"
    +00041 
    +00042 extern void initSending ();
    +00043 
    +00044 extern void send (Communicable * __comm, int __to, int __tag);
    +00045 
    +00046 extern void sendToAll (Communicable * __comm, int __tag);
    +00047 
    +00048 extern void sendMessages ();
    +00049 
    +00050 #endif
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/service_8h-source.html b/trunk/paradiseo-peo/doc/html/service_8h-source.html index 915c38b4a..a5a83054b 100644 --- a/trunk/paradiseo-peo/doc/html/service_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/service_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: service.h Source File +ParadisEO-PEOMovingObjects: service.h Source File @@ -22,57 +22,85 @@ -

    service.h

    00001 // "service.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __service_h
    -00010 #define __service_h
    -00011 
    -00012 #include "communicable.h"
    -00013 #include "thread.h"
    -00014 
    -00015 typedef unsigned SERVICE_ID;
    -00016 
    -00017 class Service : public Communicable {
    -00018 
    -00019 public :
    -00020 
    -00021   void setOwner (Thread & __owner);
    -00022   
    -00023   Thread * getOwner (); 
    -00024 
    -00025   void requestResourceRequest (unsigned __how_many = 1);
    -00026   void packResourceRequest ();
    -00027 
    -00028   virtual void packData ();
    -00029   virtual void unpackData ();
    -00030 
    -00031   virtual void execute ();
    -00032   
    -00033   virtual void packResult ();
    -00034   virtual void unpackResult ();
    -00035 
    -00036   virtual void notifySendingData ();
    -00037   virtual void notifySendingResourceRequest ();
    -00038   virtual void notifySendingAllResourceRequests ();
    -00039 
    -00040 private :
    -00041 
    -00042   Thread * owner; /* Owner thread (i.e. 'uses' that service) */ 
    -00043 
    -00044   unsigned num_sent_rr; /* Number of RR not really sent (i.e. still in the sending queue)*/
    -00045 
    -00046 };
    -00047 
    -00048 extern Service * getService (SERVICE_ID __key); 
    -00049 
    -00050 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    service.h

    00001 /* 
    +00002 * <service.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __service_h
    +00038 #define __service_h
    +00039 
    +00040 #include "communicable.h"
    +00041 #include "thread.h"
    +00042 
    +00043 typedef unsigned SERVICE_ID;
    +00044 
    +00045 class Service : public Communicable {
    +00046 
    +00047 public :
    +00048 
    +00049   void setOwner (Thread & __owner);
    +00050   
    +00051   Thread * getOwner (); 
    +00052 
    +00053   void requestResourceRequest (unsigned __how_many = 1);
    +00054   void packResourceRequest ();
    +00055 
    +00056   virtual void packData ();
    +00057   virtual void unpackData ();
    +00058 
    +00059   virtual void execute ();
    +00060   
    +00061   virtual void packResult ();
    +00062   virtual void unpackResult ();
    +00063 
    +00064   virtual void notifySendingData ();
    +00065   virtual void notifySendingResourceRequest ();
    +00066   virtual void notifySendingAllResourceRequests ();
    +00067 
    +00068 private :
    +00069 
    +00070   Thread * owner; /* Owner thread (i.e. 'uses' that service) */ 
    +00071 
    +00072   unsigned num_sent_rr; /* Number of RR not really sent (i.e. still in the sending queue)*/
    +00073 
    +00074 };
    +00075 
    +00076 extern Service * getService (SERVICE_ID __key); 
    +00077 
    +00078 #endif
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/structSEND__REQUEST-members.html b/trunk/paradiseo-peo/doc/html/structSEND__REQUEST-members.html index f46bc26fc..e3d9f7ca9 100644 --- a/trunk/paradiseo-peo/doc/html/structSEND__REQUEST-members.html +++ b/trunk/paradiseo-peo/doc/html/structSEND__REQUEST-members.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: Member List +ParadisEO-PEOMovingObjects: Member List @@ -33,7 +33,7 @@ commSEND_REQUEST tagSEND_REQUEST toSEND_REQUEST -
    Generated on Thu Jul 5 13:43:31 2007 for ParadisEO-PEO by  +
    Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/structSEND__REQUEST.html b/trunk/paradiseo-peo/doc/html/structSEND__REQUEST.html index acdd127c2..307bc5ff4 100644 --- a/trunk/paradiseo-peo/doc/html/structSEND__REQUEST.html +++ b/trunk/paradiseo-peo/doc/html/structSEND__REQUEST.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: SEND_REQUEST Struct Reference +ParadisEO-PEOMovingObjects: SEND_REQUEST Struct Reference @@ -47,9 +47,9 @@ int 24 of file send.cpp.
    The documentation for this struct was generated from the following file:
      +Definition at line 52 of file send.cpp.
      The documentation for this struct was generated from the following file: -
      Generated on Thu Jul 5 13:43:31 2007 for ParadisEO-PEO by  +
      Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
      diff --git a/trunk/paradiseo-peo/doc/html/tags_8h-source.html b/trunk/paradiseo-peo/doc/html/tags_8h-source.html index cdc71054d..5527f749f 100644 --- a/trunk/paradiseo-peo/doc/html/tags_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/tags_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: tags.h Source File +ParadisEO-PEOMovingObjects: tags.h Source File @@ -22,31 +22,59 @@
    -

    tags.h

    00001 // "tags.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __tags_h
    -00010 #define __tags_h
    -00011 
    -00012 #define RUNNER_STOP_TAG 13
    -00013 
    -00014 #define COOP_TAG 14
    -00015 
    -00016 #define SCHED_REQUEST_TAG 16
    -00017 
    -00018 #define SCHED_RESULT_TAG 17
    -00019 #define TASK_DATA_TAG 18
    -00020 
    -00021 #define TASK_RESULT_TAG 19
    -00022 #define TASK_DONE_TAG 20
    -00023 
    -00024 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    tags.h

    00001 /* 
    +00002 * <tags.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __tags_h
    +00038 #define __tags_h
    +00039 
    +00040 #define RUNNER_STOP_TAG 13
    +00041 
    +00042 #define COOP_TAG 14
    +00043 
    +00044 #define SCHED_REQUEST_TAG 16
    +00045 
    +00046 #define SCHED_RESULT_TAG 17
    +00047 #define TASK_DATA_TAG 18
    +00048 
    +00049 #define TASK_RESULT_TAG 19
    +00050 #define TASK_DONE_TAG 20
    +00051 
    +00052 #endif
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/thread_8cpp-source.html b/trunk/paradiseo-peo/doc/html/thread_8cpp-source.html index 1454980b0..766870290 100644 --- a/trunk/paradiseo-peo/doc/html/thread_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/thread_8cpp-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: thread.cpp Source File +ParadisEO-PEOMovingObjects: thread.cpp Source File @@ -22,88 +22,116 @@ -

    thread.cpp

    00001 // "thread.cpp"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #include <map>
    -00010 
    -00011 #include "thread.h"
    -00012 
    -00013 static std :: vector <Thread *> threads;
    -00014 
    -00015 unsigned num_act = 0;
    -00016 
    -00017 Thread :: Thread () {
    -00018         
    -00019   threads.push_back (this);
    -00020   act = false;
    -00021 }
    -00022 
    -00023 Thread :: ~ Thread () {
    -00024 
    -00025   /* Nothing ! */
    -00026 }
    -00027 
    -00028 extern int getNodeRank ();
    -00029 
    -00030 void Thread :: setActive () {
    -00031 
    -00032   if (! act ) {
    -00033 
    -00034     act = true;
    -00035     num_act ++;
    -00036     //    if (getNodeRank () == 1)      
    -00037     //   printf ("On passe a %d\n", num_act);
    -00038   }
    -00039 }
    +

    thread.cpp

    00001 /* 
    +00002 * <thread.cpp>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #include <map>
    +00038 
    +00039 #include "thread.h"
     00040 
    -00041 void Thread :: setPassive () {
    +00041 static std :: vector <Thread *> threads;
     00042 
    -00043   if (act) {
    +00043 unsigned num_act = 0;
     00044 
    -00045    act = false;
    -00046     num_act --;
    -00047     //    if (getNodeRank () == 1)      
    -00048     //  printf ("On passe a %d\n", num_act);
    -00049 
    -00050   } 
    -00051 }
    +00045 Thread :: Thread () {
    +00046         
    +00047   threads.push_back (this);
    +00048   act = false;
    +00049 }
    +00050 
    +00051 Thread :: ~ Thread () {
     00052 
    -00053 bool atLeastOneActiveThread () {
    -00054 
    -00055   return num_act;
    -00056 }
    +00053   /* Nothing ! */
    +00054 }
    +00055 
    +00056 extern int getNodeRank ();
     00057 
    -00058 unsigned numberOfActiveThreads () {
    +00058 void Thread :: setActive () {
     00059 
    -00060   return num_act;
    -00061 }
    -00062 
    -00063 static void * launch (void * __arg) {
    -00064 
    -00065   Thread * thr = (Thread *) __arg;  
    -00066   thr -> start ();
    -00067   return 0;
    -00068 }
    -00069 
    -00070 void addThread (Thread * __hl_thread, std :: vector <pthread_t *> & __ll_threads) {
    -00071 
    -00072   pthread_t * ll_thr = new pthread_t;
    -00073   __ll_threads.push_back (ll_thr);
    -00074   pthread_create (ll_thr, 0, launch, __hl_thread); 
    -00075 }
    -00076 
    -00077 void joinThreads (std :: vector <pthread_t *> & __threads) {
    -00078 
    -00079   for (unsigned i = 0; i < __threads.size (); i ++)    
    -00080     pthread_join (* __threads [i], 0);  
    -00081 }
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00060 if (! act ) { +00061 +00062 act = true; +00063 num_act ++; +00064 // if (getNodeRank () == 1) +00065 // printf ("On passe a %d\n", num_act); +00066 } +00067 } +00068 +00069 void Thread :: setPassive () { +00070 +00071 if (act) { +00072 +00073 act = false; +00074 num_act --; +00075 // if (getNodeRank () == 1) +00076 // printf ("On passe a %d\n", num_act); +00077 +00078 } +00079 } +00080 +00081 bool atLeastOneActiveThread () { +00082 +00083 return num_act; +00084 } +00085 +00086 unsigned numberOfActiveThreads () { +00087 +00088 return num_act; +00089 } +00090 +00091 static void * launch (void * __arg) { +00092 +00093 Thread * thr = (Thread *) __arg; +00094 thr -> start (); +00095 return 0; +00096 } +00097 +00098 void addThread (Thread * __hl_thread, std :: vector <pthread_t *> & __ll_threads) { +00099 +00100 pthread_t * ll_thr = new pthread_t; +00101 __ll_threads.push_back (ll_thr); +00102 pthread_create (ll_thr, 0, launch, __hl_thread); +00103 } +00104 +00105 void joinThreads (std :: vector <pthread_t *> & __threads) { +00106 +00107 for (unsigned i = 0; i < __threads.size (); i ++) +00108 pthread_join (* __threads [i], 0); +00109 } +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/thread_8h-source.html b/trunk/paradiseo-peo/doc/html/thread_8h-source.html index a21693389..0ed667519 100644 --- a/trunk/paradiseo-peo/doc/html/thread_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/thread_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: thread.h Source File +ParadisEO-PEOMovingObjects: thread.h Source File @@ -22,55 +22,83 @@ -

    thread.h

    00001 // "thread.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef THREAD_H_
    -00010 #define THREAD_H_
    -00011 
    -00012 #include <vector>
    -00013 
    -00014 /* A high-level thread */
    -00015 
    -00016 class Thread {
    -00017         
    -00018 public:
    -00019 
    -00020   /* Ctor */
    -00021   Thread ();
    -00022 
    -00023   /* Dtor */
    -00024   virtual ~ Thread ();
    -00025   
    -00026   /* Go ! */
    -00027   virtual void start () = 0;
    -00028 
    -00029   void setActive ();/* It means the current process is going to send messages soon */
    -00030   void setPassive ();/* The current process is not going to perform send operations
    -00031                         (but it may receive messages) */
    -00032 
    -00033 private :
    -00034   
    -00035   bool act;
    -00036 };
    -00037 
    -00038 extern void addThread (Thread * __hl_thread, std :: vector <pthread_t *> & __ll_threads);
    -00039 
    -00040 extern void joinThreads (std :: vector <pthread_t *> & __ll_threads);
    +

    thread.h

    00001 /* 
    +00002 * <thread.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef THREAD_H_
    +00038 #define THREAD_H_
    +00039 
    +00040 #include <vector>
     00041 
    -00042 extern bool atLeastOneActiveThread (); /* It returns 'true' iff at least one process is going
    -00043                                       to send messages */
    -00044   
    -00045 extern unsigned numberOfActiveThreads ();
    -00046 
    +00042 /* A high-level thread */
    +00043 
    +00044 class Thread {
    +00045         
    +00046 public:
     00047 
    -00048 #endif /*THREAD_H_*/
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00048 /* Ctor */ +00049 Thread (); +00050 +00051 /* Dtor */ +00052 virtual ~ Thread (); +00053 +00054 /* Go ! */ +00055 virtual void start () = 0; +00056 +00057 void setActive ();/* It means the current process is going to send messages soon */ +00058 void setPassive ();/* The current process is not going to perform send operations +00059 (but it may receive messages) */ +00060 +00061 private : +00062 +00063 bool act; +00064 }; +00065 +00066 extern void addThread (Thread * __hl_thread, std :: vector <pthread_t *> & __ll_threads); +00067 +00068 extern void joinThreads (std :: vector <pthread_t *> & __ll_threads); +00069 +00070 extern bool atLeastOneActiveThread (); /* It returns 'true' iff at least one process is going +00071 to send messages */ +00072 +00073 extern unsigned numberOfActiveThreads (); +00074 +00075 +00076 #endif /*THREAD_H_*/ +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/topology_8cpp-source.html b/trunk/paradiseo-peo/doc/html/topology_8cpp-source.html index 678227cac..d7bb2dd7c 100644 --- a/trunk/paradiseo-peo/doc/html/topology_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/topology_8cpp-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: topology.cpp Source File +ParadisEO-PEOMovingObjects: topology.cpp Source File @@ -22,27 +22,55 @@ -

    topology.cpp

    00001 // "topo.cpp"
    -00002 
    -00003 // (c) OPAC Team, LIFL, September 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #include "topology.h"
    -00010 
    -00011 Topology :: ~ Topology () {
    -00012   
    -00013   /* Nothing ! */
    -00014 }
    -00015 
    -00016 void Topology :: add (Cooperative & __mig) {
    -00017   
    -00018   mig.push_back (& __mig) ;
    -00019 } 
    -00020 
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    topology.cpp

    00001 /* 
    +00002 * <topology.cpp>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #include "topology.h"
    +00038 
    +00039 Topology :: ~ Topology () {
    +00040   
    +00041   /* Nothing ! */
    +00042 }
    +00043 
    +00044 void Topology :: add (Cooperative & __mig) {
    +00045   
    +00046   mig.push_back (& __mig) ;
    +00047 } 
    +00048 
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/topology_8h-source.html b/trunk/paradiseo-peo/doc/html/topology_8h-source.html index 37c5b021d..6bc3277cd 100644 --- a/trunk/paradiseo-peo/doc/html/topology_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/topology_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: topology.h Source File +ParadisEO-PEOMovingObjects: topology.h Source File @@ -22,40 +22,68 @@ -

    topology.h

    00001 // "topology.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, September 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __topology_h
    -00010 #define __topology_h
    -00011 
    -00012 #include <vector>
    -00013 
    -00014 #include "cooperative.h"
    -00015 
    -00016 class Topology {
    -00017 
    -00018 public:
    -00019 
    -00020         virtual ~Topology ();
    -00021 
    -00022         void add (Cooperative & __mig); 
    -00023 
    -00024         virtual void setNeighbors (Cooperative * __mig,
    -00025                                 std :: vector <Cooperative *> & __from,
    -00026                                 std :: vector <Cooperative *> & __to) = 0;
    -00027 
    -00028 protected:
    -00029 
    -00030         std :: vector <Cooperative *> mig ;  
    -00031 };
    -00032 
    -00033 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    topology.h

    00001 /* 
    +00002 * <topology.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __topology_h
    +00038 #define __topology_h
    +00039 
    +00040 #include <vector>
    +00041 
    +00042 #include "cooperative.h"
    +00043 
    +00044 class Topology {
    +00045 
    +00046 public:
    +00047 
    +00048         virtual ~Topology ();
    +00049 
    +00050         void add (Cooperative & __mig); 
    +00051 
    +00052         virtual void setNeighbors (Cooperative * __mig,
    +00053                                 std :: vector <Cooperative *> & __from,
    +00054                                 std :: vector <Cooperative *> & __to) = 0;
    +00055 
    +00056 protected:
    +00057 
    +00058         std :: vector <Cooperative *> mig ;  
    +00059 };
    +00060 
    +00061 #endif
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/tree.html b/trunk/paradiseo-peo/doc/html/tree.html index 8e7d5e828..560832a67 100644 --- a/trunk/paradiseo-peo/doc/html/tree.html +++ b/trunk/paradiseo-peo/doc/html/tree.html @@ -61,7 +61,7 @@
    -

    ParadisEO-PEO

    +

    ParadisEO-PEOMovingObjects

    o*The ParadisEO-PEO Framework

    o+Class List

    @@ -69,18 +69,33 @@

    |o*Communicable

    |o*Communicator

    |o*Cooperative

    +

    |o*DisplayBestRoute

    +

    |o*MergeRouteEval

    |o*peoAggEvalFunc< EOT >

    |o*peoAsyncIslandMig< EOT >

    |o*peoEA< EOT >

    |o*peoNoAggEvalFunc< EOT >

    +

    |o*peoParallelAlgorithmWrapper

    +

    |o*peoParallelAlgorithmWrapper::AbstractAlgorithm

    +

    |o*peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType >

    +

    |o*peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void >

    |o*peoParaPopEval< EOT >

    |o*peoParaSGATransform< EOT >

    |o*peoPopEval< EOT >

    |o*peoSeqPopEval< EOT >

    |o*peoSeqTransform< EOT >

    +

    |o*peoSynchronousMultiStart< EntityType >

    +

    |o*peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm

    +

    |o*peoSynchronousMultiStart< EntityType >::AbstractAlgorithm

    +

    |o*peoSynchronousMultiStart< EntityType >::AbstractDataType

    +

    |o*peoSynchronousMultiStart< EntityType >::AggregationAlgorithm< AggregationAlgorithmType >

    +

    |o*peoSynchronousMultiStart< EntityType >::Algorithm< AlgorithmType >

    +

    |o*peoSynchronousMultiStart< EntityType >::DataType< Type >

    +

    |o*peoSynchronousMultiStart< EntityType >::NoAggregationFunction

    |o*peoSyncIslandMig< EOT >

    |o*peoSyncMultiStart< EOT >

    |o*peoTransform< EOT >

    +

    |o*RandomExplorationAlgorithm

    |o*ReactiveThread

    |o*RingTopology

    |o*Runner

    @@ -101,7 +116,8 @@

    ||o+Runner

    ||o+Service

    +

    |||o*peoSynchronousMultiStart< EntityType >

    |||o*peoSyncMultiStart< EOT >

    |||\+peoTransform< EOT >

    @@ -119,71 +136,128 @@

    ||\*Worker

    -

    |o+eoFunctorBase [external]

    +

    |o+eoFunctorBase [external]

    -

    |o*SEND_REQUEST

    -

    |o+Thread

    +

    |o+peoParallelAlgorithmWrapper::AbstractAlgorithm

    -

    ||o+ReactiveThread

    - +

    |o+peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm

    + +

    |o+peoSynchronousMultiStart< EntityType >::AbstractAlgorithm

    + +

    |o+peoSynchronousMultiStart< EntityType >::AbstractDataType

    + +

    |o*RandomExplorationAlgorithm

    +

    |o*SEND_REQUEST

    +

    |o+Thread

    + -

    |\+Topology

    -

    o*Class Members

    -

    o+Namespace List

    -
    +

    o+Namespace List

    +

    |\*peo

    o*Namespace Members

    -

    \+File List

    -
    +

    \+File List

    +
    +

     o*city_swap.cpp

    +

     o*city_swap.h

     o*comm.cpp

     o*comm.h

     o*communicable.cpp

     o*communicable.h

     o*coop.cpp

     o*cooperative.h

    +

     o*data.cpp

    +

     o*data.h

    +

     o*display.cpp

    +

     o*display.h

    +

     o*display_best_route.cpp

    +

     o*display_best_route.h

    +

     o*doclsn.h

    +

     o*edge_xover.cpp

    +

     o*edge_xover.h

     o*eoPop_comm.h

     o*eoVector_comm.h

    +

     o*exampleA.cpp

    +

     o*exampleB.cpp

    +

     o*exampleC.cpp

    +

     o*exampleD.cpp

    +

     o*exampleE.cpp

    +

     o*Lesson1/main.cpp

    +

     o*Lesson2/main.cpp

    +

     o*Lesson3/main.cpp

    +

     o*LessonParallelAlgorithm/main.cpp

    +

     o*merge_route_eval.cpp

    +

     o*merge_route_eval.h

     o*mess.cpp

     o*mess.h

     o*messaging.h

    -

     o*node.cpp

    -

     o*node.h

    -

     o*paradiseo.h

    -

     o*param.cpp

    -

     o*param.h

    +

     o*mix.h

    +

     o*src/rmc/mpi/node.cpp

    +

     o*tutorial/examples/tsp/node.cpp

    +

     o*src/rmc/mpi/node.h

    +

     o*tutorial/examples/tsp/node.h

    +

     o*opt_route.cpp

    +

     o*opt_route.h

    +

     o*order_xover.cpp

    +

     o*order_xover.h

    +

     o*src/rmc/mpi/param.cpp

    +

     o*tutorial/examples/tsp/param.cpp

    +

     o*src/rmc/mpi/param.h

    +

     o*tutorial/examples/tsp/param.h

    +

     o*part_route_eval.cpp

    +

     o*part_route_eval.h

    +

     o*partial_mapped_xover.cpp

    +

     o*partial_mapped_xover.h

    +

     o*peo.h

     o*peo_debug.cpp

     o*peo_debug.h

     o*peo_fin.cpp

    @@ -198,22 +272,31 @@

     o*peoAsyncIslandMig.h

     o*peoEA.h

     o*peoNoAggEvalFunc.h

    +

     o*peoParallelAlgorithmWrapper.h

     o*peoParaPopEval.h

     o*peoParaSGATransform.h

     o*peoPopEval.h

     o*peoSeqPopEval.h

     o*peoSeqTransform.h

    +

     o*peoSynchronousMultiStart.h

     o*peoSyncIslandMig.h

     o*peoSyncMultiStart.h

     o*peoTransform.h

     o*reac_thread.cpp

     o*reac_thread.h

    +

     o*README

     o*recv.cpp

     o*recv.h

     o*ring_topo.cpp

     o*ring_topo.h

     o*rmc.cpp

     o*rmc.h

    +

     o*route.cpp

    +

     o*route.h

    +

     o*route_eval.cpp

    +

     o*route_eval.h

    +

     o*route_init.cpp

    +

     o*route_init.h

     o*core/runner.cpp

     o*rmc/mpi/runner.cpp

     o*runner.h

    @@ -226,11 +309,22 @@

     o*core/service.cpp

     o*rmc/mpi/service.cpp

     o*service.h

    +

     o*t-peo.cpp

     o*tags.h

     o*thread.cpp

     o*thread.h

     o*topology.cpp

     o*topology.h

    +

     o*two_opt.cpp

    +

     o*two_opt.h

    +

     o*two_opt_incr_eval.cpp

    +

     o*two_opt_incr_eval.h

    +

     o*two_opt_init.cpp

    +

     o*two_opt_init.h

    +

     o*two_opt_next.cpp

    +

     o*two_opt_next.h

    +

     o*two_opt_rand.cpp

    +

     o*two_opt_rand.h

     o*worker.cpp

     o*worker.h

     o*xml_parser.cpp

    diff --git a/trunk/paradiseo-peo/doc/html/worker_8cpp-source.html b/trunk/paradiseo-peo/doc/html/worker_8cpp-source.html index d148530b7..869d2133f 100644 --- a/trunk/paradiseo-peo/doc/html/worker_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/worker_8cpp-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: worker.cpp Source File +ParadisEO-PEOMovingObjects: worker.cpp Source File @@ -22,100 +22,128 @@
    -

    worker.cpp

    00001 // "worker.cpp"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #include <vector>
    -00010 
    -00011 #include "tags.h"
    -00012 #include "send.h"
    -00013 #include "node.h"
    -00014 #include "schema.h"
    -00015 #include "worker.h"
    -00016 #include "mess.h"
    -00017 #include "../../core/peo_debug.h"
    -00018 
    -00019 static std :: vector <Worker *> key_to_worker (1); /* Vector of registered workers */
    -00020 
    -00021 Worker * getWorker (WORKER_ID __key) {
    -00022 
    -00023   return key_to_worker [__key];  
    -00024 }
    -00025 
    -00026 Worker :: Worker () {
    -00027   
    -00028   toto = false;
    -00029   id = key_to_worker.size ();
    -00030   key_to_worker.push_back (this);
    -00031 }
    -00032 
    -00033 void Worker :: packResult () {
    -00034   
    -00035   pack (serv_id);
    -00036   serv -> packResult ();    
    -00037 }
    +

    worker.cpp

    00001 /* 
    +00002 * <worker.cpp>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #include <vector>
     00038 
    -00039 void Worker :: unpackData () {
    -00040 
    -00041   printDebugMessage ("unpacking the ID. of the service.");
    -00042   unpack (serv_id);
    -00043   serv = getService (serv_id); 
    -00044   printDebugMessage ("found the service.");
    -00045   serv -> unpackData (); 
    -00046   printDebugMessage ("unpacking the data.");
    -00047   setActive ();
    -00048 }
    -00049 
    -00050 void Worker :: packTaskDone () {
    -00051 
    -00052   pack (getNodeRank ());
    -00053   pack (id);
    -00054 }
    -00055 
    -00056 void Worker :: notifySendingResult () {
    -00057 
    -00058   /* Notifying the scheduler of the termination */
    -00059   toto = true;
    -00060   wakeUp ();
    -00061 }
    -00062 
    -00063 void Worker :: notifySendingTaskDone () {
    -00064 
    -00065   setPassive ();
    -00066 }
    -00067   
    -00068 void Worker :: setSource (int __rank) {
    -00069 
    -00070   src = __rank;
    -00071 }
    -00072 
    -00073 void Worker :: start () {
    -00074 
    -00075   while (true) {
    -00076     
    -00077     sleep (); 
    -00078 
    -00079     if (! atLeastOneActiveRunner ())
    -00080       break;
    -00081     
    -00082     if (toto) {
    -00083       send (this, my_node -> rk_sched, TASK_DONE_TAG);  
    -00084       toto = false;
    -00085     }
    -00086     else {
    -00087 
    -00088       printDebugMessage ("executing the task.");
    -00089       serv -> execute ();   
    -00090       send (this, src, TASK_RESULT_TAG);    
    -00091     }
    -00092   }
    -00093 }
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00039 #include "tags.h" +00040 #include "send.h" +00041 #include "node.h" +00042 #include "schema.h" +00043 #include "worker.h" +00044 #include "mess.h" +00045 #include "../../core/peo_debug.h" +00046 +00047 static std :: vector <Worker *> key_to_worker (1); /* Vector of registered workers */ +00048 +00049 Worker * getWorker (WORKER_ID __key) { +00050 +00051 return key_to_worker [__key]; +00052 } +00053 +00054 Worker :: Worker () { +00055 +00056 toto = false; +00057 id = key_to_worker.size (); +00058 key_to_worker.push_back (this); +00059 } +00060 +00061 void Worker :: packResult () { +00062 +00063 pack (serv_id); +00064 serv -> packResult (); +00065 } +00066 +00067 void Worker :: unpackData () { +00068 +00069 printDebugMessage ("unpacking the ID. of the service."); +00070 unpack (serv_id); +00071 serv = getService (serv_id); +00072 printDebugMessage ("found the service."); +00073 serv -> unpackData (); +00074 printDebugMessage ("unpacking the data."); +00075 setActive (); +00076 } +00077 +00078 void Worker :: packTaskDone () { +00079 +00080 pack (getNodeRank ()); +00081 pack (id); +00082 } +00083 +00084 void Worker :: notifySendingResult () { +00085 +00086 /* Notifying the scheduler of the termination */ +00087 toto = true; +00088 wakeUp (); +00089 } +00090 +00091 void Worker :: notifySendingTaskDone () { +00092 +00093 setPassive (); +00094 } +00095 +00096 void Worker :: setSource (int __rank) { +00097 +00098 src = __rank; +00099 } +00100 +00101 void Worker :: start () { +00102 +00103 while (true) { +00104 +00105 sleep (); +00106 +00107 if (! atLeastOneActiveRunner ()) +00108 break; +00109 +00110 if (toto) { +00111 send (this, my_node -> rk_sched, TASK_DONE_TAG); +00112 toto = false; +00113 } +00114 else { +00115 +00116 printDebugMessage ("executing the task."); +00117 serv -> execute (); +00118 send (this, src, TASK_RESULT_TAG); +00119 } +00120 } +00121 } +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/worker_8h-source.html b/trunk/paradiseo-peo/doc/html/worker_8h-source.html index de64d53ea..7b0ee17e7 100644 --- a/trunk/paradiseo-peo/doc/html/worker_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/worker_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: worker.h Source File +ParadisEO-PEOMovingObjects: worker.h Source File @@ -22,57 +22,85 @@
    -

    worker.h

    00001 // "worker.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __worker_h
    -00010 #define __worker_h
    -00011 
    -00012 #include "../../core/communicable.h"
    -00013 #include "../../core/reac_thread.h"
    -00014 #include "../../core/service.h"
    -00015 
    -00016 typedef unsigned WORKER_ID; 
    -00017 
    -00018 class Worker : public Communicable, public ReactiveThread {
    -00019 
    -00020 public : 
    -00021 
    -00022   Worker ();
    -00023 
    -00024   void start ();
    -00025 
    -00026   void packResult ();
    -00027 
    -00028   void unpackData ();
    -00029 
    -00030   void packTaskDone (); 
    -00031 
    -00032   void notifySendingResult ();
    -00033 
    -00034   void notifySendingTaskDone ();
    -00035   
    -00036   void setSource (int __rank);
    -00037   
    -00038 private :
    -00039 
    -00040   WORKER_ID id;
    -00041   SERVICE_ID serv_id;
    -00042   Service * serv;
    -00043   int src;
    -00044 
    -00045   bool toto;
    -00046 };
    +

    worker.h

    00001 /* 
    +00002 * <worker.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __worker_h
    +00038 #define __worker_h
    +00039 
    +00040 #include "../../core/communicable.h"
    +00041 #include "../../core/reac_thread.h"
    +00042 #include "../../core/service.h"
    +00043 
    +00044 typedef unsigned WORKER_ID; 
    +00045 
    +00046 class Worker : public Communicable, public ReactiveThread {
     00047 
    -00048 extern Worker * getWorker (WORKER_ID __key);
    +00048 public : 
     00049 
    -00050 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00050 Worker (); +00051 +00052 void start (); +00053 +00054 void packResult (); +00055 +00056 void unpackData (); +00057 +00058 void packTaskDone (); +00059 +00060 void notifySendingResult (); +00061 +00062 void notifySendingTaskDone (); +00063 +00064 void setSource (int __rank); +00065 +00066 private : +00067 +00068 WORKER_ID id; +00069 SERVICE_ID serv_id; +00070 Service * serv; +00071 int src; +00072 +00073 bool toto; +00074 }; +00075 +00076 extern Worker * getWorker (WORKER_ID __key); +00077 +00078 #endif +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/xml__parser_8cpp-source.html b/trunk/paradiseo-peo/doc/html/xml__parser_8cpp-source.html index 8cf975cee..d8f7d6632 100644 --- a/trunk/paradiseo-peo/doc/html/xml__parser_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/xml__parser_8cpp-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: xml_parser.cpp Source File +ParadisEO-PEOMovingObjects: xml_parser.cpp Source File @@ -22,82 +22,110 @@
    -

    xml_parser.cpp

    00001 // "xml_parser.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #include <libxml/xmlreader.h>
    -00010 
    -00011 #include "xml_parser.h"
    -00012 
    -00013 static xmlTextReaderPtr reader;
    -00014 
    -00015 void openXMLDocument (const char * __filename) {
    -00016   
    -00017   reader = xmlNewTextReaderFilename (__filename);
    -00018   
    -00019   if (! reader) {
    -00020     
    -00021     fprintf (stderr, "unable to open '%s'.\n", __filename);
    -00022     exit (1);
    -00023   }
    -00024 }
    -00025 
    -00026 void closeXMLDocument () {
    -00027 
    -00028   xmlFreeTextReader (reader);
    -00029 }
    -00030 
    -00031 std :: string getAttributeValue (const std :: string & __attr) {
    -00032   
    -00033   xmlChar * value = xmlTextReaderGetAttribute (reader, (const xmlChar *) __attr.c_str ());
    -00034   
    -00035   std :: string str ((const char *) value);
    -00036   
    -00037   xmlFree (value);
    -00038   
    -00039   return str;
    -00040 }
    -00041 
    -00042 static bool isSep (const xmlChar * __text) {
    -00043   
    -00044   for (unsigned i = 0; i < strlen ((char *) __text); i ++)
    -00045     if (__text [i] != ' ' && __text [i] != '\t' && __text [i] != '\n')
    -00046       return false;
    -00047   return true;
    -00048 }
    -00049 
    -00050 std :: string getNextNode () {
    -00051   
    -00052   xmlChar * name, * value;
    +

    xml_parser.cpp

    00001 /* 
    +00002 * <xml_parser.cpp>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #include <libxml/xmlreader.h>
    +00038 
    +00039 #include "xml_parser.h"
    +00040 
    +00041 static xmlTextReaderPtr reader;
    +00042 
    +00043 void openXMLDocument (const char * __filename) {
    +00044   
    +00045   reader = xmlNewTextReaderFilename (__filename);
    +00046   
    +00047   if (! reader) {
    +00048     
    +00049     fprintf (stderr, "unable to open '%s'.\n", __filename);
    +00050     exit (1);
    +00051   }
    +00052 }
     00053 
    -00054   do {
    -00055     xmlTextReaderRead (reader);
    -00056     name = xmlTextReaderName (reader);
    -00057     value = xmlTextReaderValue (reader);
    -00058     //    printf ("value = %s\n", value);
    -00059   } while (! strcmp ((char *) name, "#text") && isSep (value));
    -00060 
    -00061   std :: string str;
    -00062 
    -00063   if (strcmp ((char *) name, "#text"))
    -00064     str.assign ((char *) name);
    -00065   else
    -00066     str.assign ((char *) value);
    -00067   
    -00068   if (name)
    -00069     xmlFree (name);
    -00070   if (value)
    -00071     xmlFree (value);
    -00072     
    -00073   return str;
    -00074 }
    -00075 
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +00054 void closeXMLDocument () { +00055 +00056 xmlFreeTextReader (reader); +00057 } +00058 +00059 std :: string getAttributeValue (const std :: string & __attr) { +00060 +00061 xmlChar * value = xmlTextReaderGetAttribute (reader, (const xmlChar *) __attr.c_str ()); +00062 +00063 std :: string str ((const char *) value); +00064 +00065 xmlFree (value); +00066 +00067 return str; +00068 } +00069 +00070 static bool isSep (const xmlChar * __text) { +00071 +00072 for (unsigned i = 0; i < strlen ((char *) __text); i ++) +00073 if (__text [i] != ' ' && __text [i] != '\t' && __text [i] != '\n') +00074 return false; +00075 return true; +00076 } +00077 +00078 std :: string getNextNode () { +00079 +00080 xmlChar * name, * value; +00081 +00082 do { +00083 xmlTextReaderRead (reader); +00084 name = xmlTextReaderName (reader); +00085 value = xmlTextReaderValue (reader); +00086 // printf ("value = %s\n", value); +00087 } while (! strcmp ((char *) name, "#text") && isSep (value)); +00088 +00089 std :: string str; +00090 +00091 if (strcmp ((char *) name, "#text")) +00092 str.assign ((char *) name); +00093 else +00094 str.assign ((char *) value); +00095 +00096 if (name) +00097 xmlFree (name); +00098 if (value) +00099 xmlFree (value); +00100 +00101 return str; +00102 } +00103 +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/xml__parser_8h-source.html b/trunk/paradiseo-peo/doc/html/xml__parser_8h-source.html index cdaf4e109..1d76ecd6d 100644 --- a/trunk/paradiseo-peo/doc/html/xml__parser_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/xml__parser_8h-source.html @@ -1,6 +1,6 @@ -ParadisEO-PEO: xml_parser.h Source File +ParadisEO-PEOMovingObjects: xml_parser.h Source File @@ -22,29 +22,57 @@
    -

    xml_parser.h

    00001 // "xml_parser.h"
    -00002 
    -00003 // (c) OPAC Team, LIFL, August 2005
    -00004 
    -00005 /* 
    -00006    Contact: paradiseo-help@lists.gforge.inria.fr
    -00007 */
    -00008 
    -00009 #ifndef __xml_parser_h
    -00010 #define __xml_parser_h
    -00011 
    -00012 #include <string>
    -00013 
    -00014 extern void openXMLDocument (const char * __filename);
    -00015 
    -00016 extern void closeXMLDocument ();
    -00017 
    -00018 extern std :: string getAttributeValue (const std :: string & __attr);
    -00019 
    -00020 extern std :: string getNextNode ();
    -00021 
    -00022 #endif
    -

    Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by  +

    xml_parser.h

    00001 /* 
    +00002 * <xml_parser.h>
    +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
    +00004 * (C) OPAC Team, LIFL, 2002-2007
    +00005 *
    +00006 * Sebastien Cahon, Alexandru-Adrian Tantar
    +00007 *
    +00008 * This software is governed by the CeCILL license under French law and
    +00009 * abiding by the rules of distribution of free software.  You can  use,
    +00010 * modify and/ or redistribute the software under the terms of the CeCILL
    +00011 * license as circulated by CEA, CNRS and INRIA at the following URL
    +00012 * "http://www.cecill.info".
    +00013 *
    +00014 * As a counterpart to the access to the source code and  rights to copy,
    +00015 * modify and redistribute granted by the license, users are provided only
    +00016 * with a limited warranty  and the software's author,  the holder of the
    +00017 * economic rights,  and the successive licensors  have only  limited liability.
    +00018 *
    +00019 * In this respect, the user's attention is drawn to the risks associated
    +00020 * with loading,  using,  modifying and/or developing or reproducing the
    +00021 * software by the user in light of its specific status of free software,
    +00022 * that may mean  that it is complicated to manipulate,  and  that  also
    +00023 * therefore means  that it is reserved for developers  and  experienced
    +00024 * professionals having in-depth computer knowledge. Users are therefore
    +00025 * encouraged to load and test the software's suitability as regards their
    +00026 * requirements in conditions enabling the security of their systems and/or
    +00027 * data to be ensured and,  more generally, to use and operate it in the
    +00028 * same conditions as regards security.
    +00029 * The fact that you are presently reading this means that you have had
    +00030 * knowledge of the CeCILL license and that you accept its terms.
    +00031 *
    +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
    +00033 * Contact: paradiseo-help@lists.gforge.inria.fr
    +00034 *
    +00035 */
    +00036 
    +00037 #ifndef __xml_parser_h
    +00038 #define __xml_parser_h
    +00039 
    +00040 #include <string>
    +00041 
    +00042 extern void openXMLDocument (const char * __filename);
    +00043 
    +00044 extern void closeXMLDocument ();
    +00045 
    +00046 extern std :: string getAttributeValue (const std :: string & __attr);
    +00047 
    +00048 extern std :: string getNextNode ();
    +00049 
    +00050 #endif
    +

    Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/latex/annotated.tex b/trunk/paradiseo-peo/doc/latex/annotated.tex index 765489ef1..c9220430d 100644 --- a/trunk/paradiseo-peo/doc/latex/annotated.tex +++ b/trunk/paradiseo-peo/doc/latex/annotated.tex @@ -1,20 +1,35 @@ -\section{Paradis\-EO-PEO Class List} +\section{Paradis\-EO-PEOMoving\-Objects Class List} Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList} \item\contentsline{section}{\hyperlink{classCommunicable}{Communicable} }{\pageref{classCommunicable}}{} \item\contentsline{section}{\hyperlink{classCommunicator}{Communicator} }{\pageref{classCommunicator}}{} \item\contentsline{section}{\hyperlink{classCooperative}{Cooperative} }{\pageref{classCooperative}}{} +\item\contentsline{section}{\hyperlink{classDisplayBestRoute}{Display\-Best\-Route} }{\pageref{classDisplayBestRoute}}{} +\item\contentsline{section}{\hyperlink{classMergeRouteEval}{Merge\-Route\-Eval} }{\pageref{classMergeRouteEval}}{} \item\contentsline{section}{\hyperlink{classpeoAggEvalFunc}{peo\-Agg\-Eval\-Func$<$ EOT $>$} (The \hyperlink{classpeoAggEvalFunc}{peo\-Agg\-Eval\-Func} class offers only the interface for creating aggregate evaluation functions - there are no direct internal functions provided )}{\pageref{classpeoAggEvalFunc}}{} \item\contentsline{section}{\hyperlink{classpeoAsyncIslandMig}{peo\-Async\-Island\-Mig$<$ EOT $>$} (The \hyperlink{classpeoAsyncIslandMig}{peo\-Async\-Island\-Mig} class offers the elementary basis for implementating an asynchronous island migration model - requires the specification of several basic parameters, i.e )}{\pageref{classpeoAsyncIslandMig}}{} \item\contentsline{section}{\hyperlink{classpeoEA}{peo\-EA$<$ EOT $>$} (The \hyperlink{classpeoEA}{peo\-EA} class offers an elementary evolutionary algorithm implementation )}{\pageref{classpeoEA}}{} \item\contentsline{section}{\hyperlink{classpeoNoAggEvalFunc}{peo\-No\-Agg\-Eval\-Func$<$ EOT $>$} (The \hyperlink{classpeoNoAggEvalFunc}{peo\-No\-Agg\-Eval\-Func} class does nothing more than an association between a fitness value and a specified individual )}{\pageref{classpeoNoAggEvalFunc}}{} +\item\contentsline{section}{\hyperlink{classpeoParallelAlgorithmWrapper}{peo\-Parallel\-Algorithm\-Wrapper} }{\pageref{classpeoParallelAlgorithmWrapper}}{} +\item\contentsline{section}{\hyperlink{structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm}{peo\-Parallel\-Algorithm\-Wrapper::Abstract\-Algorithm} }{\pageref{structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm}}{} +\item\contentsline{section}{\hyperlink{structpeoParallelAlgorithmWrapper_1_1Algorithm}{peo\-Parallel\-Algorithm\-Wrapper::Algorithm$<$ Algorithm\-Type, Algorithm\-Data\-Type $>$} }{\pageref{structpeoParallelAlgorithmWrapper_1_1Algorithm}}{} +\item\contentsline{section}{\hyperlink{structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4}{peo\-Parallel\-Algorithm\-Wrapper::Algorithm$<$ Algorithm\-Type, void $>$} }{\pageref{structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4}}{} \item\contentsline{section}{\hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval$<$ EOT $>$} (The \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval} represents a wrapper for creating a functor capable of applying in parallel an EO-derived evaluation functor )}{\pageref{classpeoParaPopEval}}{} \item\contentsline{section}{\hyperlink{classpeoParaSGATransform}{peo\-Para\-SGATransform$<$ EOT $>$} }{\pageref{classpeoParaSGATransform}}{} \item\contentsline{section}{\hyperlink{classpeoPopEval}{peo\-Pop\-Eval$<$ EOT $>$} (The {\bf \hyperlink{classpeoPopEval}{peo\-Pop\-Eval}} class provides the interface for constructing Paradis\-EO specific evaluation functors )}{\pageref{classpeoPopEval}}{} \item\contentsline{section}{\hyperlink{classpeoSeqPopEval}{peo\-Seq\-Pop\-Eval$<$ EOT $>$} (The \hyperlink{classpeoSeqPopEval}{peo\-Seq\-Pop\-Eval} class acts only as a Paradis\-EO specific sequential evaluation functor - a wrapper for incorporating an {\bf eo\-Eval\-Func$<$ EOT $>$}-derived class as evaluation functor )}{\pageref{classpeoSeqPopEval}}{} \item\contentsline{section}{\hyperlink{classpeoSeqTransform}{peo\-Seq\-Transform$<$ EOT $>$} (The \hyperlink{classpeoSeqTransform}{peo\-Seq\-Transform} represent a wrapper for offering the possibility of using \doxyref{EO} derived transform operators along with the Paradis\-EO evolutionary algorithms )}{\pageref{classpeoSeqTransform}}{} +\item\contentsline{section}{\hyperlink{classpeoSynchronousMultiStart}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$} }{\pageref{classpeoSynchronousMultiStart}}{} +\item\contentsline{section}{\hyperlink{structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Aggregation\-Algorithm} }{\pageref{structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm}}{} +\item\contentsline{section}{\hyperlink{structpeoSynchronousMultiStart_1_1AbstractAlgorithm}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Algorithm} }{\pageref{structpeoSynchronousMultiStart_1_1AbstractAlgorithm}}{} +\item\contentsline{section}{\hyperlink{structpeoSynchronousMultiStart_1_1AbstractDataType}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Data\-Type} }{\pageref{structpeoSynchronousMultiStart_1_1AbstractDataType}}{} +\item\contentsline{section}{\hyperlink{structpeoSynchronousMultiStart_1_1AggregationAlgorithm}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Aggregation\-Algorithm$<$ Aggregation\-Algorithm\-Type $>$} }{\pageref{structpeoSynchronousMultiStart_1_1AggregationAlgorithm}}{} +\item\contentsline{section}{\hyperlink{structpeoSynchronousMultiStart_1_1Algorithm}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Algorithm$<$ Algorithm\-Type $>$} }{\pageref{structpeoSynchronousMultiStart_1_1Algorithm}}{} +\item\contentsline{section}{\hyperlink{structpeoSynchronousMultiStart_1_1DataType}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Data\-Type$<$ Type $>$} }{\pageref{structpeoSynchronousMultiStart_1_1DataType}}{} +\item\contentsline{section}{\hyperlink{structpeoSynchronousMultiStart_1_1NoAggregationFunction}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::No\-Aggregation\-Function} }{\pageref{structpeoSynchronousMultiStart_1_1NoAggregationFunction}}{} \item\contentsline{section}{\hyperlink{classpeoSyncIslandMig}{peo\-Sync\-Island\-Mig$<$ EOT $>$} (The \hyperlink{classpeoSyncIslandMig}{peo\-Sync\-Island\-Mig} class offers the elementary basis for implementating a synchronous island migration model - requires the specification of several basic parameters, i.e )}{\pageref{classpeoSyncIslandMig}}{} \item\contentsline{section}{\hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start$<$ EOT $>$} (The \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start} class provides the basis for implementing the synchronous multi-start model, for launching several solution-based algorithms in parallel on a specified initial population )}{\pageref{classpeoSyncMultiStart}}{} \item\contentsline{section}{\hyperlink{classpeoTransform}{peo\-Transform$<$ EOT $>$} (The \hyperlink{classpeoTransform}{peo\-Transform} class acts only as an interface for creating transform operators - for an example please refer to the {\bf \hyperlink{classpeoSeqTransform}{peo\-Seq\-Transform}} and the {\bf \hyperlink{classpeoParaSGATransform}{peo\-Para\-SGATransform}} classes )}{\pageref{classpeoTransform}}{} +\item\contentsline{section}{\hyperlink{structRandomExplorationAlgorithm}{Random\-Exploration\-Algorithm} }{\pageref{structRandomExplorationAlgorithm}}{} \item\contentsline{section}{\hyperlink{classReactiveThread}{Reactive\-Thread} }{\pageref{classReactiveThread}}{} \item\contentsline{section}{\hyperlink{classRingTopology}{Ring\-Topology} }{\pageref{classRingTopology}}{} \item\contentsline{section}{\hyperlink{classRunner}{Runner} }{\pageref{classRunner}}{} diff --git a/trunk/paradiseo-peo/doc/latex/classCommunicable.eps b/trunk/paradiseo-peo/doc/latex/classCommunicable.eps index a4f4be521..bc98683b5 100644 --- a/trunk/paradiseo-peo/doc/latex/classCommunicable.eps +++ b/trunk/paradiseo-peo/doc/latex/classCommunicable.eps @@ -5,7 +5,7 @@ %%For: %Magnification: 1.00 %%Orientation: Portrait -%%BoundingBox: 0 0 500 57.1429 +%%BoundingBox: 0 0 500 79.3651 %%Pages: 0 %%BeginSetup %%EndSetup @@ -19,13 +19,13 @@ /marginwidth 10 def /distx 20 def /disty 40 def -/boundaspect 8.75 def % aspect ratio of the BoundingBox (width/height) +/boundaspect 6.3 def % aspect ratio of the BoundingBox (width/height) /boundx 500 def /boundy boundx boundaspect div def /xspacing 0 def /yspacing 0 def -/rows 4 def -/cols 7 def +/rows 6 def +/cols 6 def /scalefactor 0 def /boxfont /Times-Roman findfont fontheight scalefont def @@ -181,13 +181,11 @@ boxfont setfont (peoAsyncIslandMig< EOT >) cw (peoSyncIslandMig< EOT >) cw (peoEA< EOT >) cw +(peoParallelAlgorithmWrapper) cw (peoPopEval< EOT >) cw +(peoSynchronousMultiStart< EntityType >) cw (peoSyncMultiStart< EOT >) cw (peoTransform< EOT >) cw -(peoParaPopEval< EOT >) cw -(peoSeqPopEval< EOT >) cw -(peoParaSGATransform< EOT >) cw -(peoSeqTransform< EOT >) cw /boxwidth boxwidth marginwidth 2 mul add def /xspacing boxwidth distx add def /yspacing boxheight disty add def @@ -199,71 +197,61 @@ boundx scalefactor div boundy scalefactor div scale % ----- classes ----- - (Communicable) 3 3 box - (Cooperative) 0.5 2 box - (Runner) 2 2 box - (Service) 4 2 box - (Worker) 5 2 box - (peoAsyncIslandMig< EOT >) 0 1 box - (peoSyncIslandMig< EOT >) 1 1 box - (peoEA< EOT >) 2 1 box - (peoPopEval< EOT >) 3 1 box - (peoSyncMultiStart< EOT >) 4 1 box - (peoTransform< EOT >) 5 1 box - (peoParaPopEval< EOT >) 2.5 0 box - (peoSeqPopEval< EOT >) 3.5 0 box - (peoParaSGATransform< EOT >) 4.5 0 box - (peoSeqTransform< EOT >) 5.5 0 box + (Communicable) 3 5 box + (Cooperative) 0 4 box + (Runner) 2 4 box + (Service) 4 4 box + (Worker) 5 4 box + (peoAsyncIslandMig< EOT >) 1 3 box + (peoSyncIslandMig< EOT >) 1 2 box + (peoEA< EOT >) 3 3 box + (peoParallelAlgorithmWrapper) 3 2 box + (peoPopEval< EOT >) 5 3 box +5 3 mark + (peoSynchronousMultiStart< EntityType >) 5 2 box + (peoSyncMultiStart< EOT >) 5 1 box + (peoTransform< EOT >) 5 0 box +5 0 mark % ----- relations ----- solid -1 3 2.25 out +1 3 4.25 out solid -0.5 5 3 conn +0 5 5 conn solid -0 0.5 2.75 in +0 0 4.75 in solid -1 0.5 1.25 out +1 0 3.25 out solid -0 1 2 conn +0 2 4.75 in solid -0 2 2.75 in +1 2 3.25 out solid -1 2 1.25 out +0 4 4.75 in solid -0 4 2.75 in +1 4 3.25 out solid -1 4 1.25 out +0 5 4.75 in solid -3 5 2 conn +0 0 3.5 hedge solid -0 5 2.75 in +0 0 2.5 hedge solid -0 0 1.75 in +0 4 2.5 vedge solid -0 1 1.75 in +0 2 3.5 hedge solid -0 2 1.75 in +0 2 2.5 hedge solid -0 3 1.75 in +2 4 2.5 vedge solid -1 3 0.25 out +0 4 3.5 hedge solid -2.5 3.5 1 conn +0 4 2.5 hedge solid -0 4 1.75 in +0 4 1.5 hedge solid -0 5 1.75 in +0 4 0.5 hedge solid -1 5 0.25 out -solid -4.5 5.5 1 conn -solid -0 2.5 0.75 in -solid -0 3.5 0.75 in -solid -0 4.5 0.75 in -solid -0 5.5 0.75 in +4 4 0.5 vedge diff --git a/trunk/paradiseo-peo/doc/latex/classCommunicable.tex b/trunk/paradiseo-peo/doc/latex/classCommunicable.tex index 3d4ee6164..44bcd5647 100644 --- a/trunk/paradiseo-peo/doc/latex/classCommunicable.tex +++ b/trunk/paradiseo-peo/doc/latex/classCommunicable.tex @@ -5,7 +5,7 @@ Inheritance diagram for Communicable::\begin{figure}[H] \begin{center} \leavevmode -\includegraphics[height=1.6cm]{classCommunicable} +\includegraphics[height=2.22222cm]{classCommunicable} \end{center} \end{figure} \subsection*{Public Member Functions} @@ -79,7 +79,7 @@ static unsigned \hyperlink{classCommunicable_7a6acfdc781a67c9c0ec4f17893f86c3}{n -Definition at line 16 of file communicable.h. +Definition at line 44 of file communicable.h. The documentation for this class was generated from the following files:\begin{CompactItemize} \item diff --git a/trunk/paradiseo-peo/doc/latex/classCommunicator.tex b/trunk/paradiseo-peo/doc/latex/classCommunicator.tex index a8d08b499..1252e00ff 100644 --- a/trunk/paradiseo-peo/doc/latex/classCommunicator.tex +++ b/trunk/paradiseo-peo/doc/latex/classCommunicator.tex @@ -28,7 +28,7 @@ void \hyperlink{classCommunicator_142fae13b16b166519315f248a513c62}{start} ()} -Definition at line 15 of file comm.h. +Definition at line 43 of file comm.h. The documentation for this class was generated from the following files:\begin{CompactItemize} \item diff --git a/trunk/paradiseo-peo/doc/latex/classCooperative.tex b/trunk/paradiseo-peo/doc/latex/classCooperative.tex index 43224f537..772edcf01 100644 --- a/trunk/paradiseo-peo/doc/latex/classCooperative.tex +++ b/trunk/paradiseo-peo/doc/latex/classCooperative.tex @@ -46,7 +46,7 @@ virtual void \hyperlink{classCooperative_4439ddeaa1246a2e44c003bfb781739b}{notif -Definition at line 17 of file cooperative.h. +Definition at line 45 of file cooperative.h. The documentation for this class was generated from the following files:\begin{CompactItemize} \item diff --git a/trunk/paradiseo-peo/doc/latex/classReactiveThread.tex b/trunk/paradiseo-peo/doc/latex/classReactiveThread.tex index c350c6eef..1b9508e9d 100644 --- a/trunk/paradiseo-peo/doc/latex/classReactiveThread.tex +++ b/trunk/paradiseo-peo/doc/latex/classReactiveThread.tex @@ -41,7 +41,7 @@ sem\_\-t \hyperlink{classReactiveThread_915e5a42dc8cb1bcf6738d5fe883a4e7}{sem}} -Definition at line 16 of file reac\_\-thread.h. +Definition at line 44 of file reac\_\-thread.h. The documentation for this class was generated from the following files:\begin{CompactItemize} \item diff --git a/trunk/paradiseo-peo/doc/latex/classRingTopology.tex b/trunk/paradiseo-peo/doc/latex/classRingTopology.tex index 379dd1961..20e33d7b4 100644 --- a/trunk/paradiseo-peo/doc/latex/classRingTopology.tex +++ b/trunk/paradiseo-peo/doc/latex/classRingTopology.tex @@ -23,7 +23,7 @@ void \hyperlink{classRingTopology_292a7746993788f96042f2f628cfcbc5}{set\-Neighbo -Definition at line 14 of file ring\_\-topo.h. +Definition at line 42 of file ring\_\-topo.h. The documentation for this class was generated from the following files:\begin{CompactItemize} \item diff --git a/trunk/paradiseo-peo/doc/latex/classRunner.eps b/trunk/paradiseo-peo/doc/latex/classRunner.eps index 6e1d6846c..0bc955061 100644 --- a/trunk/paradiseo-peo/doc/latex/classRunner.eps +++ b/trunk/paradiseo-peo/doc/latex/classRunner.eps @@ -5,7 +5,7 @@ %%For: %Magnification: 1.00 %%Orientation: Portrait -%%BoundingBox: 0 0 500 280.374 +%%BoundingBox: 0 0 500 161.29 %%Pages: 0 %%BeginSetup %%EndSetup @@ -19,7 +19,7 @@ /marginwidth 10 def /distx 20 def /disty 40 def -/boundaspect 1.78333 def % aspect ratio of the BoundingBox (width/height) +/boundaspect 3.1 def % aspect ratio of the BoundingBox (width/height) /boundx 500 def /boundy boundx boundaspect div def /xspacing 0 def @@ -177,6 +177,7 @@ boxfont setfont (Communicable) cw (Thread) cw (peoEA< EOT >) cw +(peoParallelAlgorithmWrapper) cw /boxwidth boxwidth marginwidth 2 mul add def /xspacing boxwidth distx add def /yspacing boxheight disty add def @@ -191,7 +192,8 @@ boundx scalefactor div boundy scalefactor div scale (Runner) 0.5 1 box (Communicable) 0 2 box (Thread) 1 2 box - (peoEA< EOT >) 0.5 0 box + (peoEA< EOT >) 0 0 box + (peoParallelAlgorithmWrapper) 1 0 box % ----- relations ----- @@ -206,4 +208,8 @@ solid solid 1 0.5 0.25 out solid -0 0.5 0.75 in +0 1 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in diff --git a/trunk/paradiseo-peo/doc/latex/classRunner.tex b/trunk/paradiseo-peo/doc/latex/classRunner.tex index 5fc2e5e12..ce98b3b32 100644 --- a/trunk/paradiseo-peo/doc/latex/classRunner.tex +++ b/trunk/paradiseo-peo/doc/latex/classRunner.tex @@ -71,7 +71,7 @@ unsigned \hyperlink{classRunner_1989c1f8e0b0b54ad2e60a341007e59d}{id}} -Definition at line 19 of file runner.h. +Definition at line 47 of file runner.h. The documentation for this class was generated from the following files:\begin{CompactItemize} \item diff --git a/trunk/paradiseo-peo/doc/latex/classService.eps b/trunk/paradiseo-peo/doc/latex/classService.eps index 77ffc2408..b2c160b85 100644 --- a/trunk/paradiseo-peo/doc/latex/classService.eps +++ b/trunk/paradiseo-peo/doc/latex/classService.eps @@ -5,7 +5,7 @@ %%For: %Magnification: 1.00 %%Orientation: Portrait -%%BoundingBox: 0 0 500 100 +%%BoundingBox: 0 0 500 63.4921 %%Pages: 0 %%BeginSetup %%EndSetup @@ -19,13 +19,13 @@ /marginwidth 10 def /distx 20 def /disty 40 def -/boundaspect 5 def % aspect ratio of the BoundingBox (width/height) +/boundaspect 7.875 def % aspect ratio of the BoundingBox (width/height) /boundx 500 def /boundy boundx boundaspect div def /xspacing 0 def /yspacing 0 def /rows 4 def -/cols 4 def +/cols 5 def /scalefactor 0 def /boxfont /Times-Roman findfont fontheight scalefont def @@ -176,6 +176,7 @@ boxfont setfont (Service) cw (Communicable) cw (peoPopEval< EOT >) cw +(peoSynchronousMultiStart< EntityType >) cw (peoSyncMultiStart< EOT >) cw (peoTransform< EOT >) cw (peoParaPopEval< EOT >) cw @@ -193,26 +194,27 @@ boundx scalefactor div boundy scalefactor div scale % ----- classes ----- - (Service) 1.5 2 box - (Communicable) 1.5 3 box + (Service) 2 2 box + (Communicable) 2 3 box (peoPopEval< EOT >) 0.5 1 box - (peoSyncMultiStart< EOT >) 1.5 1 box - (peoTransform< EOT >) 2.5 1 box + (peoSynchronousMultiStart< EntityType >) 1.5 1 box + (peoSyncMultiStart< EOT >) 2.5 1 box + (peoTransform< EOT >) 3.5 1 box (peoParaPopEval< EOT >) 0 0 box (peoSeqPopEval< EOT >) 1 0 box - (peoParaSGATransform< EOT >) 2 0 box - (peoSeqTransform< EOT >) 3 0 box + (peoParaSGATransform< EOT >) 3 0 box + (peoSeqTransform< EOT >) 4 0 box % ----- relations ----- solid -0 1.5 2 out +0 2 2 out solid -1 1.5 3 in +1 2 3 in solid -1 1.5 1.25 out +1 2 1.25 out solid -0.5 2.5 2 conn +0.5 3.5 2 conn solid 0 0.5 1.75 in solid @@ -224,14 +226,16 @@ solid solid 0 2.5 1.75 in solid -1 2.5 0.25 out +0 3.5 1.75 in solid -2 3 1 conn +1 3.5 0.25 out +solid +3 4 1 conn solid 0 0 0.75 in solid 0 1 0.75 in solid -0 2 0.75 in -solid 0 3 0.75 in +solid +0 4 0.75 in diff --git a/trunk/paradiseo-peo/doc/latex/classService.tex b/trunk/paradiseo-peo/doc/latex/classService.tex index 7d0ea5f92..fad0d49e2 100644 --- a/trunk/paradiseo-peo/doc/latex/classService.tex +++ b/trunk/paradiseo-peo/doc/latex/classService.tex @@ -5,7 +5,7 @@ Inheritance diagram for Service::\begin{figure}[H] \begin{center} \leavevmode -\includegraphics[height=2.8cm]{classService} +\includegraphics[height=1.77778cm]{classService} \end{center} \end{figure} \subsection*{Public Member Functions} @@ -91,7 +91,7 @@ unsigned \hyperlink{classService_a5b2ad9520bb3710b54348b99acebd58}{num\_\-sent\_ -Definition at line 17 of file service.h. +Definition at line 45 of file service.h. The documentation for this class was generated from the following files:\begin{CompactItemize} \item diff --git a/trunk/paradiseo-peo/doc/latex/classThread.eps b/trunk/paradiseo-peo/doc/latex/classThread.eps index e02a5f5fe..b0fe5e8f1 100644 --- a/trunk/paradiseo-peo/doc/latex/classThread.eps +++ b/trunk/paradiseo-peo/doc/latex/classThread.eps @@ -5,7 +5,7 @@ %%For: %Magnification: 1.00 %%Orientation: Portrait -%%BoundingBox: 0 0 500 183.486 +%%BoundingBox: 0 0 500 80.6452 %%Pages: 0 %%BeginSetup %%EndSetup @@ -19,13 +19,13 @@ /marginwidth 10 def /distx 20 def /disty 40 def -/boundaspect 2.725 def % aspect ratio of the BoundingBox (width/height) +/boundaspect 6.2 def % aspect ratio of the BoundingBox (width/height) /boundx 500 def /boundy boundx boundaspect div def /xspacing 0 def /yspacing 0 def /rows 3 def -/cols 3 def +/cols 4 def /scalefactor 0 def /boxfont /Times-Roman findfont fontheight scalefont def @@ -179,6 +179,7 @@ boxfont setfont (Communicator) cw (Worker) cw (peoEA< EOT >) cw +(peoParallelAlgorithmWrapper) cw /boxwidth boxwidth marginwidth 2 mul add def /xspacing boxwidth distx add def /yspacing boxheight disty add def @@ -190,19 +191,20 @@ boundx scalefactor div boundy scalefactor div scale % ----- classes ----- - (Thread) 1.25 2 box + (Thread) 1.5 2 box (ReactiveThread) 0.5 1 box - (Runner) 2 1 box + (Runner) 2.5 1 box (Communicator) 0 0 box (Worker) 1 0 box (peoEA< EOT >) 2 0 box + (peoParallelAlgorithmWrapper) 3 0 box % ----- relations ----- solid -1 1.25 1.25 out +1 1.5 1.25 out solid -0.5 2 2 conn +0.5 2.5 2 conn solid 0 0.5 1.75 in solid @@ -210,12 +212,16 @@ solid solid 0 1 1 conn solid -0 2 1.75 in +0 2.5 1.75 in solid -1 2 0.25 out +1 2.5 0.25 out +solid +2 3 1 conn solid 0 0 0.75 in solid 0 1 0.75 in solid 0 2 0.75 in +solid +0 3 0.75 in diff --git a/trunk/paradiseo-peo/doc/latex/classThread.tex b/trunk/paradiseo-peo/doc/latex/classThread.tex index 46d9b9d3e..2c95acf63 100644 --- a/trunk/paradiseo-peo/doc/latex/classThread.tex +++ b/trunk/paradiseo-peo/doc/latex/classThread.tex @@ -5,7 +5,7 @@ Inheritance diagram for Thread::\begin{figure}[H] \begin{center} \leavevmode -\includegraphics[height=3cm]{classThread} +\includegraphics[height=2.25806cm]{classThread} \end{center} \end{figure} \subsection*{Public Member Functions} @@ -46,7 +46,7 @@ bool \hyperlink{classThread_1b155d63bca3096ac4a1d039aea83c7c}{act}} -Definition at line 16 of file thread.h. +Definition at line 44 of file thread.h. The documentation for this class was generated from the following files:\begin{CompactItemize} \item diff --git a/trunk/paradiseo-peo/doc/latex/classTopology.tex b/trunk/paradiseo-peo/doc/latex/classTopology.tex index 3bdb11a3e..532211163 100644 --- a/trunk/paradiseo-peo/doc/latex/classTopology.tex +++ b/trunk/paradiseo-peo/doc/latex/classTopology.tex @@ -36,7 +36,7 @@ std::vector$<$ \hyperlink{classCooperative}{Cooperative} $\ast$ $>$ \hyperlink{c -Definition at line 16 of file topology.h. +Definition at line 44 of file topology.h. The documentation for this class was generated from the following files:\begin{CompactItemize} \item diff --git a/trunk/paradiseo-peo/doc/latex/classWorker.tex b/trunk/paradiseo-peo/doc/latex/classWorker.tex index fe55f2a2f..4cd676866 100644 --- a/trunk/paradiseo-peo/doc/latex/classWorker.tex +++ b/trunk/paradiseo-peo/doc/latex/classWorker.tex @@ -86,7 +86,7 @@ bool \hyperlink{classWorker_7ba5a18b2918cf9e704536b763be37f7}{toto}} -Definition at line 18 of file worker.h. +Definition at line 46 of file worker.h. The documentation for this class was generated from the following files:\begin{CompactItemize} \item diff --git a/trunk/paradiseo-peo/doc/latex/classpeoAggEvalFunc.eps b/trunk/paradiseo-peo/doc/latex/classpeoAggEvalFunc.eps index b8d4453ed..de2aa80a5 100644 --- a/trunk/paradiseo-peo/doc/latex/classpeoAggEvalFunc.eps +++ b/trunk/paradiseo-peo/doc/latex/classpeoAggEvalFunc.eps @@ -5,7 +5,7 @@ %%For: %Magnification: 1.00 %%Orientation: Portrait -%%BoundingBox: 0 0 500 437.158 +%%BoundingBox: 0 0 500 218.579 %%Pages: 0 %%BeginSetup %%EndSetup @@ -19,13 +19,13 @@ /marginwidth 10 def /distx 20 def /disty 40 def -/boundaspect 1.14375 def % aspect ratio of the BoundingBox (width/height) +/boundaspect 2.2875 def % aspect ratio of the BoundingBox (width/height) /boundx 500 def /boundy boundx boundaspect div def /xspacing 0 def /yspacing 0 def /rows 4 def -/cols 1 def +/cols 2 def /scalefactor 0 def /boxfont /Times-Roman findfont fontheight scalefont def @@ -176,6 +176,7 @@ boxfont setfont (peoAggEvalFunc< EOT >) cw (eoBF< A1, A2, R >) cw (eoFunctorBase) cw +(MergeRouteEval) cw (peoNoAggEvalFunc< EOT >) cw /boxwidth boxwidth marginwidth 2 mul add def /xspacing boxwidth distx add def @@ -188,22 +189,27 @@ boundx scalefactor div boundy scalefactor div scale % ----- classes ----- - (peoAggEvalFunc< EOT >) 0 1 box - (eoBF< A1, A2, R >) 0 2 box - (eoFunctorBase) 0 3 box - (peoNoAggEvalFunc< EOT >) 0 0 box + (peoAggEvalFunc< EOT >) 0.5 1 box + (eoBF< A1, A2, R >) 0.5 2 box + (eoFunctorBase) 0.5 3 box + (MergeRouteEval) 0 0 box + (peoNoAggEvalFunc< EOT >) 1 0 box % ----- relations ----- solid -0 0 1 out +0 0.5 1 out solid -1 0 2 in +1 0.5 2 in solid -0 0 2 out +0 0.5 2 out solid -1 0 3 in +1 0.5 3 in solid -1 0 0.25 out +1 0.5 0.25 out +solid +0 1 1 conn solid 0 0 0.75 in +solid +0 1 0.75 in diff --git a/trunk/paradiseo-peo/doc/latex/classpeoAggEvalFunc.tex b/trunk/paradiseo-peo/doc/latex/classpeoAggEvalFunc.tex index ac91f551f..378801387 100644 --- a/trunk/paradiseo-peo/doc/latex/classpeoAggEvalFunc.tex +++ b/trunk/paradiseo-peo/doc/latex/classpeoAggEvalFunc.tex @@ -32,7 +32,7 @@ The aggregation object is called in an iterative manner for each of the results -Definition at line 25 of file peo\-Agg\-Eval\-Func.h. +Definition at line 53 of file peo\-Agg\-Eval\-Func.h. The documentation for this class was generated from the following file:\begin{CompactItemize} \item diff --git a/trunk/paradiseo-peo/doc/latex/classpeoAsyncIslandMig.tex b/trunk/paradiseo-peo/doc/latex/classpeoAsyncIslandMig.tex index 3970c8539..bb0bcc2cf 100644 --- a/trunk/paradiseo-peo/doc/latex/classpeoAsyncIslandMig.tex +++ b/trunk/paradiseo-peo/doc/latex/classpeoAsyncIslandMig.tex @@ -172,7 +172,7 @@ The above steps only create an asynchronous migration object associated to an ev -Definition at line 112 of file peo\-Async\-Island\-Mig.h. +Definition at line 140 of file peo\-Async\-Island\-Mig.h. \subsection{Constructor \& Destructor Documentation} \hypertarget{classpeoAsyncIslandMig_e0f706cbf4148d3ca327227a5c7a9fdf}{ @@ -191,7 +191,7 @@ Constructor for the \hyperlink{classpeoAsyncIslandMig}{peo\-Async\-Island\-Mig} \end{Desc} -Definition at line 171 of file peo\-Async\-Island\-Mig.h. +Definition at line 199 of file peo\-Async\-Island\-Mig.h. References Topology::add(). @@ -209,7 +209,7 @@ The emigrant individuals are selected from the source population and sent to the Implements \bf{eo\-F$<$ void $>$}. -Definition at line 248 of file peo\-Async\-Island\-Mig.h. +Definition at line 276 of file peo\-Async\-Island\-Mig.h. References peo\-Async\-Island\-Mig$<$ EOT $>$::cont, peo\-Async\-Island\-Mig$<$ EOT $>$::emigrate(), peo\-Async\-Island\-Mig$<$ EOT $>$::immigrate(), and peo\-Async\-Island\-Mig$<$ EOT $>$::source. diff --git a/trunk/paradiseo-peo/doc/latex/classpeoEA.tex b/trunk/paradiseo-peo/doc/latex/classpeoEA.tex index 4d7a535ad..395b2e720 100644 --- a/trunk/paradiseo-peo/doc/latex/classpeoEA.tex +++ b/trunk/paradiseo-peo/doc/latex/classpeoEA.tex @@ -94,7 +94,7 @@ ea\-Alg( population ); ~ &// specifying the initial population for the algorithm -Definition at line 54 of file peo\-EA.h. +Definition at line 82 of file peo\-EA.h. \subsection{Constructor \& Destructor Documentation} \hypertarget{classpeoEA_dbfc4f8907bef234602149229f132371}{ @@ -115,7 +115,7 @@ Depending on the requirements, a sequential or a parallel evaluation operator ma \end{Desc} -Definition at line 98 of file peo\-EA.h. +Definition at line 126 of file peo\-EA.h. References peo\-EA$<$ EOT $>$::pop\_\-eval, and peo\-EA$<$ EOT $>$::trans. @@ -136,7 +136,7 @@ References peo\-EA$<$ EOT $>$::pop\_\-eval, and peo\-EA$<$ EOT $>$::trans. \end{Desc} -Definition at line 114 of file peo\-EA.h. +Definition at line 142 of file peo\-EA.h. References peo\-EA$<$ EOT $>$::pop. diff --git a/trunk/paradiseo-peo/doc/latex/classpeoNoAggEvalFunc.tex b/trunk/paradiseo-peo/doc/latex/classpeoNoAggEvalFunc.tex index 5604e3840..ff2628bb6 100644 --- a/trunk/paradiseo-peo/doc/latex/classpeoNoAggEvalFunc.tex +++ b/trunk/paradiseo-peo/doc/latex/classpeoNoAggEvalFunc.tex @@ -32,7 +32,7 @@ The class is provided as a mean of declaring that no aggregation is required for -Definition at line 19 of file peo\-No\-Agg\-Eval\-Func.h. +Definition at line 47 of file peo\-No\-Agg\-Eval\-Func.h. The documentation for this class was generated from the following file:\begin{CompactItemize} \item diff --git a/trunk/paradiseo-peo/doc/latex/classpeoParaPopEval.tex b/trunk/paradiseo-peo/doc/latex/classpeoParaPopEval.tex index 1d94eb62c..7c1d7ae9f 100644 --- a/trunk/paradiseo-peo/doc/latex/classpeoParaPopEval.tex +++ b/trunk/paradiseo-peo/doc/latex/classpeoParaPopEval.tex @@ -103,7 +103,7 @@ The class offers the possibility of chosing between a single-function evaluation -Definition at line 26 of file peo\-Para\-Pop\-Eval.h. +Definition at line 54 of file peo\-Para\-Pop\-Eval.h. \subsection{Constructor \& Destructor Documentation} \hypertarget{classpeoParaPopEval_bcb540510a7038520bec41a7af332daf}{ @@ -122,7 +122,7 @@ Constructor function - an EO-derived evaluation functor has to be specified; an \end{Desc} -Definition at line 102 of file peo\-Para\-Pop\-Eval.h. +Definition at line 130 of file peo\-Para\-Pop\-Eval.h. References peo\-Para\-Pop\-Eval$<$ EOT $>$::one\_\-func.\hypertarget{classpeoParaPopEval_1cc13a1ec366f95d219d682eccb455bc}{ \index{peoParaPopEval@{peo\-Para\-Pop\-Eval}!peoParaPopEval@{peoParaPopEval}} @@ -140,7 +140,7 @@ Constructor function - a vector of EO-derived evaluation functors has to be spec \end{Desc} -Definition at line 111 of file peo\-Para\-Pop\-Eval.h. +Definition at line 139 of file peo\-Para\-Pop\-Eval.h. \subsection{Member Function Documentation} \hypertarget{classpeoParaPopEval_aeaa4fca4f8650e453e308838b4a2cb5}{ @@ -161,7 +161,7 @@ Operator for applying the evaluation functor (direct or aggregate) for each indi Implements \hyperlink{classpeoPopEval_2f208067a5e39c3b26c1234050a41e8f}{peo\-Pop\-Eval$<$ EOT $>$}. -Definition at line 122 of file peo\-Para\-Pop\-Eval.h. +Definition at line 150 of file peo\-Para\-Pop\-Eval.h. References peo\-Para\-Pop\-Eval$<$ EOT $>$::funcs, peo\-Para\-Pop\-Eval$<$ EOT $>$::progression, Service::request\-Resource\-Request(), Communicable::stop(), peo\-Para\-Pop\-Eval$<$ EOT $>$::tasks, and peo\-Para\-Pop\-Eval$<$ EOT $>$::total.\hypertarget{classpeoParaPopEval_fea632bd645ab11182782fd3c038d6d8}{ \index{peoParaPopEval@{peo\-Para\-Pop\-Eval}!packData@{packData}} @@ -176,7 +176,7 @@ There is no need to explicitly call the function. Reimplemented from \hyperlink{classService_aea4b8f7f8fb88e83862ee4bfd9ab207}{Service}. -Definition at line 143 of file peo\-Para\-Pop\-Eval.h. +Definition at line 171 of file peo\-Para\-Pop\-Eval.h. References peo\-Para\-Pop\-Eval$<$ EOT $>$::progression, and peo\-Para\-Pop\-Eval$<$ EOT $>$::tasks.\hypertarget{classpeoParaPopEval_410bf4c173e2f36df82251cb16ce1b05}{ \index{peoParaPopEval@{peo\-Para\-Pop\-Eval}!unpackData@{unpackData}} @@ -191,7 +191,7 @@ There is no need to explicitly call the function. Reimplemented from \hyperlink{classService_3bd87b444710813d30fd754d4d0b4df3}{Service}. -Definition at line 157 of file peo\-Para\-Pop\-Eval.h. +Definition at line 185 of file peo\-Para\-Pop\-Eval.h. References peo\-Para\-Pop\-Eval$<$ EOT $>$::ad\_\-sol, peo\-Para\-Pop\-Eval$<$ EOT $>$::num\_\-func, and peo\-Para\-Pop\-Eval$<$ EOT $>$::sol.\hypertarget{classpeoParaPopEval_24bb4ae84b0b9f64e7170e3d2b0e1223}{ \index{peoParaPopEval@{peo\-Para\-Pop\-Eval}!packResult@{packResult}} @@ -206,7 +206,7 @@ There is no need to explicitly call the function. Reimplemented from \hyperlink{classService_e5e4f90b2315e15c2a2913bd370f4cf5}{Service}. -Definition at line 174 of file peo\-Para\-Pop\-Eval.h. +Definition at line 202 of file peo\-Para\-Pop\-Eval.h. References peo\-Para\-Pop\-Eval$<$ EOT $>$::ad\_\-sol, and peo\-Para\-Pop\-Eval$<$ EOT $>$::sol.\hypertarget{classpeoParaPopEval_fd7f0afe9cba30be39269d16097e190e}{ \index{peoParaPopEval@{peo\-Para\-Pop\-Eval}!unpackResult@{unpackResult}} @@ -221,7 +221,7 @@ There is no need to explicitly call the function. Reimplemented from \hyperlink{classService_45c06344edbfa482b91f68e2035a6099}{Service}. -Definition at line 183 of file peo\-Para\-Pop\-Eval.h. +Definition at line 211 of file peo\-Para\-Pop\-Eval.h. References peo\-Para\-Pop\-Eval$<$ EOT $>$::ad\_\-sol, Service::get\-Owner(), peo\-Para\-Pop\-Eval$<$ EOT $>$::merge\_\-eval, peo\-Para\-Pop\-Eval$<$ EOT $>$::progression, Communicable::resume(), Thread::set\-Active(), and peo\-Para\-Pop\-Eval$<$ EOT $>$::total.\hypertarget{classpeoParaPopEval_1f78c3cec2940af08a059cc1aa96a9c8}{ \index{peoParaPopEval@{peo\-Para\-Pop\-Eval}!notifySendingData@{notifySendingData}} @@ -236,7 +236,7 @@ There is no need to explicitly call the function. Reimplemented from \hyperlink{classService_81ad4d6ebb50045b8977e2ab74826f30}{Service}. -Definition at line 214 of file peo\-Para\-Pop\-Eval.h.\hypertarget{classpeoParaPopEval_b77031fc4807921ffaf7cf6b669a7665}{ +Definition at line 242 of file peo\-Para\-Pop\-Eval.h.\hypertarget{classpeoParaPopEval_b77031fc4807921ffaf7cf6b669a7665}{ \index{peoParaPopEval@{peo\-Para\-Pop\-Eval}!notifySendingAllResourceRequests@{notifySendingAllResourceRequests}} \index{notifySendingAllResourceRequests@{notifySendingAllResourceRequests}!peoParaPopEval@{peo\-Para\-Pop\-Eval}} \subsubsection[notifySendingAllResourceRequests]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval}$<$ EOT $>$::notify\-Sending\-All\-Resource\-Requests ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}} @@ -249,7 +249,7 @@ There is no need to explicitly call the function. Reimplemented from \hyperlink{classService_f94cc8a5c2665d4574041737e61e9ffc}{Service}. -Definition at line 219 of file peo\-Para\-Pop\-Eval.h. +Definition at line 247 of file peo\-Para\-Pop\-Eval.h. References Service::get\-Owner(), and Thread::set\-Passive(). diff --git a/trunk/paradiseo-peo/doc/latex/classpeoParaSGATransform.tex b/trunk/paradiseo-peo/doc/latex/classpeoParaSGATransform.tex index 805baa496..c86bf9422 100644 --- a/trunk/paradiseo-peo/doc/latex/classpeoParaSGATransform.tex +++ b/trunk/paradiseo-peo/doc/latex/classpeoParaSGATransform.tex @@ -113,7 +113,7 @@ unsigned \hyperlink{classpeoParaSGATransform_589ea7cd72d522ae51a07de4d8ffbf11}{n -Definition at line 21 of file peo\-Para\-SGATransform.h. +Definition at line 49 of file peo\-Para\-SGATransform.h. The documentation for this class was generated from the following file:\begin{CompactItemize} \item diff --git a/trunk/paradiseo-peo/doc/latex/classpeoPopEval.tex b/trunk/paradiseo-peo/doc/latex/classpeoPopEval.tex index f727c5fdc..a43d26bb8 100644 --- a/trunk/paradiseo-peo/doc/latex/classpeoPopEval.tex +++ b/trunk/paradiseo-peo/doc/latex/classpeoPopEval.tex @@ -32,7 +32,7 @@ The derived classes may be used as wrappers for {\bf \doxyref{EO}}-derived evalu -Definition at line 19 of file peo\-Pop\-Eval.h. +Definition at line 47 of file peo\-Pop\-Eval.h. The documentation for this class was generated from the following file:\begin{CompactItemize} \item diff --git a/trunk/paradiseo-peo/doc/latex/classpeoSeqPopEval.tex b/trunk/paradiseo-peo/doc/latex/classpeoSeqPopEval.tex index 2cc8ba91f..1fb6c32f0 100644 --- a/trunk/paradiseo-peo/doc/latex/classpeoSeqPopEval.tex +++ b/trunk/paradiseo-peo/doc/latex/classpeoSeqPopEval.tex @@ -39,7 +39,7 @@ The specified \doxyref{EO} evaluation object is applyied in an iterative manner -Definition at line 21 of file peo\-Seq\-Pop\-Eval.h. +Definition at line 49 of file peo\-Seq\-Pop\-Eval.h. \subsection{Constructor \& Destructor Documentation} \hypertarget{classpeoSeqPopEval_a41f91ab4b2aeb325ff75feb66d4e003}{ @@ -58,7 +58,7 @@ Constructor function - it only sets an internal reference to point to the specif \end{Desc} -Definition at line 41 of file peo\-Seq\-Pop\-Eval.h. +Definition at line 69 of file peo\-Seq\-Pop\-Eval.h. \subsection{Member Function Documentation} \hypertarget{classpeoSeqPopEval_b2c88b9a3ad9091949acf741844eb02f}{ @@ -79,7 +79,7 @@ Operator for evaluating all the individuals of a given population - in a sequent Implements \hyperlink{classpeoPopEval_2f208067a5e39c3b26c1234050a41e8f}{peo\-Pop\-Eval$<$ EOT $>$}. -Definition at line 46 of file peo\-Seq\-Pop\-Eval.h. +Definition at line 74 of file peo\-Seq\-Pop\-Eval.h. References peo\-Seq\-Pop\-Eval$<$ EOT $>$::eval. diff --git a/trunk/paradiseo-peo/doc/latex/classpeoSeqTransform.tex b/trunk/paradiseo-peo/doc/latex/classpeoSeqTransform.tex index 363cb8141..723940aa1 100644 --- a/trunk/paradiseo-peo/doc/latex/classpeoSeqTransform.tex +++ b/trunk/paradiseo-peo/doc/latex/classpeoSeqTransform.tex @@ -64,7 +64,7 @@ A minimal set of interface functions is also provided for creating the link with -Definition at line 20 of file peo\-Seq\-Transform.h. +Definition at line 48 of file peo\-Seq\-Transform.h. \subsection{Constructor \& Destructor Documentation} \hypertarget{classpeoSeqTransform_3b8e4ed19d9458938eb669d83a53c626}{ @@ -83,7 +83,7 @@ Constructor function - sets an internal reference towards the specified EO-deriv \end{Desc} -Definition at line 55 of file peo\-Seq\-Transform.h. +Definition at line 83 of file peo\-Seq\-Transform.h. \subsection{Member Function Documentation} \hypertarget{classpeoSeqTransform_1ba63536abb6c4e1c369e0b7e066872e}{ @@ -102,7 +102,7 @@ Operator for applying the specified transform operators on each individual of th \end{Desc} -Definition at line 60 of file peo\-Seq\-Transform.h. +Definition at line 88 of file peo\-Seq\-Transform.h. References peo\-Seq\-Transform$<$ EOT $>$::trans. diff --git a/trunk/paradiseo-peo/doc/latex/classpeoSyncIslandMig.tex b/trunk/paradiseo-peo/doc/latex/classpeoSyncIslandMig.tex index c49a5ec31..9a94013a2 100644 --- a/trunk/paradiseo-peo/doc/latex/classpeoSyncIslandMig.tex +++ b/trunk/paradiseo-peo/doc/latex/classpeoSyncIslandMig.tex @@ -181,7 +181,7 @@ The above steps only create a synchronous migration object associated to an evol -Definition at line 114 of file peo\-Sync\-Island\-Mig.h. +Definition at line 142 of file peo\-Sync\-Island\-Mig.h. \subsection{Constructor \& Destructor Documentation} \hypertarget{classpeoSyncIslandMig_96b7b6de20b5e318a8b1cde76842305c}{ @@ -200,7 +200,7 @@ Constructor for the \hyperlink{classpeoSyncIslandMig}{peo\-Sync\-Island\-Mig} cl \end{Desc} -Definition at line 178 of file peo\-Sync\-Island\-Mig.h. +Definition at line 206 of file peo\-Sync\-Island\-Mig.h. References Topology::add(), and peo\-Sync\-Island\-Mig$<$ EOT $>$::sync. @@ -218,7 +218,7 @@ The emigrant individuals are selected from the source population and sent to the Implements \bf{eo\-F$<$ void $>$}. -Definition at line 252 of file peo\-Sync\-Island\-Mig.h. +Definition at line 280 of file peo\-Sync\-Island\-Mig.h. References peo\-Sync\-Island\-Mig$<$ EOT $>$::cont, peo\-Sync\-Island\-Mig$<$ EOT $>$::emigrate(), Cooperative::get\-Owner(), peo\-Sync\-Island\-Mig$<$ EOT $>$::immigrate(), Thread::set\-Active(), peo\-Sync\-Island\-Mig$<$ EOT $>$::source, Communicable::stop(), and peo\-Sync\-Island\-Mig$<$ EOT $>$::sync. diff --git a/trunk/paradiseo-peo/doc/latex/classpeoSyncMultiStart.tex b/trunk/paradiseo-peo/doc/latex/classpeoSyncMultiStart.tex index 0d9edadaa..e47f6bc6d 100644 --- a/trunk/paradiseo-peo/doc/latex/classpeoSyncMultiStart.tex +++ b/trunk/paradiseo-peo/doc/latex/classpeoSyncMultiStart.tex @@ -98,7 +98,7 @@ As a simple example, several hill climbing algorithms may be synchronously launc -Definition at line 36 of file peo\-Sync\-Multi\-Start.h. +Definition at line 64 of file peo\-Sync\-Multi\-Start.h. \subsection{Constructor \& Destructor Documentation} \hypertarget{classpeoSyncMultiStart_d29f94aad3c1f443bfffc8b6aee0704c}{ @@ -117,7 +117,7 @@ Constructor function - several simple parameters are required for defining the c \end{Desc} -Definition at line 106 of file peo\-Sync\-Multi\-Start.h. +Definition at line 134 of file peo\-Sync\-Multi\-Start.h. \subsection{Member Function Documentation} \hypertarget{classpeoSyncMultiStart_76385b33fe514f91cb83f0fbecbeb3c2}{ @@ -133,7 +133,7 @@ There is no need to explicitly call the operator - automatically called as check Implements \bf{eo\-F$<$ void $>$}. -Definition at line 161 of file peo\-Sync\-Multi\-Start.h. +Definition at line 189 of file peo\-Sync\-Multi\-Start.h. References peo\-Sync\-Multi\-Start$<$ EOT $>$::idx, peo\-Sync\-Multi\-Start$<$ EOT $>$::impr\_\-sel, peo\-Sync\-Multi\-Start$<$ EOT $>$::num\_\-term, peo\-Sync\-Multi\-Start$<$ EOT $>$::pop, Service::request\-Resource\-Request(), peo\-Sync\-Multi\-Start$<$ EOT $>$::sel, peo\-Sync\-Multi\-Start$<$ EOT $>$::select, and Communicable::stop().\hypertarget{classpeoSyncMultiStart_8becfab1922b64708dca5a53e2932a5a}{ \index{peoSyncMultiStart@{peo\-Sync\-Multi\-Start}!packData@{packData}} @@ -148,7 +148,7 @@ There is no need to explicitly call the function. Reimplemented from \hyperlink{classService_aea4b8f7f8fb88e83862ee4bfd9ab207}{Service}. -Definition at line 120 of file peo\-Sync\-Multi\-Start.h. +Definition at line 148 of file peo\-Sync\-Multi\-Start.h. References peo\-Sync\-Multi\-Start$<$ EOT $>$::idx, and peo\-Sync\-Multi\-Start$<$ EOT $>$::sel.\hypertarget{classpeoSyncMultiStart_2903a441b77cded266b5fb651e17a5b5}{ \index{peoSyncMultiStart@{peo\-Sync\-Multi\-Start}!unpackData@{unpackData}} @@ -163,7 +163,7 @@ There is no need to explicitly call the function. Reimplemented from \hyperlink{classService_3bd87b444710813d30fd754d4d0b4df3}{Service}. -Definition at line 126 of file peo\-Sync\-Multi\-Start.h. +Definition at line 154 of file peo\-Sync\-Multi\-Start.h. References peo\-Sync\-Multi\-Start$<$ EOT $>$::sol.\hypertarget{classpeoSyncMultiStart_a4d1c2943c290de540800087b54dc49b}{ \index{peoSyncMultiStart@{peo\-Sync\-Multi\-Start}!execute@{execute}} @@ -178,7 +178,7 @@ There is no need to explicitly call the function. Reimplemented from \hyperlink{classService_e4f2894e6121e60f38d41cfbd7447ae4}{Service}. -Definition at line 132 of file peo\-Sync\-Multi\-Start.h. +Definition at line 160 of file peo\-Sync\-Multi\-Start.h. References peo\-Sync\-Multi\-Start$<$ EOT $>$::ls, and peo\-Sync\-Multi\-Start$<$ EOT $>$::sol.\hypertarget{classpeoSyncMultiStart_6c48eb0dae741cff7203b65e226f9616}{ \index{peoSyncMultiStart@{peo\-Sync\-Multi\-Start}!packResult@{packResult}} @@ -193,7 +193,7 @@ There is no need to explicitly call the function. Reimplemented from \hyperlink{classService_e5e4f90b2315e15c2a2913bd370f4cf5}{Service}. -Definition at line 138 of file peo\-Sync\-Multi\-Start.h. +Definition at line 166 of file peo\-Sync\-Multi\-Start.h. References peo\-Sync\-Multi\-Start$<$ EOT $>$::sol.\hypertarget{classpeoSyncMultiStart_c3cbd1f10a89d1915c5ccf82a2c34a1d}{ \index{peoSyncMultiStart@{peo\-Sync\-Multi\-Start}!unpackResult@{unpackResult}} @@ -208,7 +208,7 @@ There is no need to explicitly call the function. Reimplemented from \hyperlink{classService_45c06344edbfa482b91f68e2035a6099}{Service}. -Definition at line 144 of file peo\-Sync\-Multi\-Start.h. +Definition at line 172 of file peo\-Sync\-Multi\-Start.h. References Service::get\-Owner(), peo\-Sync\-Multi\-Start$<$ EOT $>$::impr\_\-sel, peo\-Sync\-Multi\-Start$<$ EOT $>$::num\_\-term, peo\-Sync\-Multi\-Start$<$ EOT $>$::pop, peo\-Sync\-Multi\-Start$<$ EOT $>$::replace, Communicable::resume(), peo\-Sync\-Multi\-Start$<$ EOT $>$::sel, Thread::set\-Active(), and peo\-Sync\-Multi\-Start$<$ EOT $>$::sol.\hypertarget{classpeoSyncMultiStart_32ec0d01d3fd8a9932abd68f4781fc94}{ \index{peoSyncMultiStart@{peo\-Sync\-Multi\-Start}!notifySendingData@{notifySendingData}} @@ -223,7 +223,7 @@ There is no need to explicitly call the function. Reimplemented from \hyperlink{classService_81ad4d6ebb50045b8977e2ab74826f30}{Service}. -Definition at line 172 of file peo\-Sync\-Multi\-Start.h.\hypertarget{classpeoSyncMultiStart_fc90282cc4e93cdea8f82fd52dd78fb0}{ +Definition at line 200 of file peo\-Sync\-Multi\-Start.h.\hypertarget{classpeoSyncMultiStart_fc90282cc4e93cdea8f82fd52dd78fb0}{ \index{peoSyncMultiStart@{peo\-Sync\-Multi\-Start}!notifySendingAllResourceRequests@{notifySendingAllResourceRequests}} \index{notifySendingAllResourceRequests@{notifySendingAllResourceRequests}!peoSyncMultiStart@{peo\-Sync\-Multi\-Start}} \subsubsection[notifySendingAllResourceRequests]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start}$<$ EOT $>$::notify\-Sending\-All\-Resource\-Requests ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}} @@ -236,7 +236,7 @@ There is no need to explicitly call the function. Reimplemented from \hyperlink{classService_f94cc8a5c2665d4574041737e61e9ffc}{Service}. -Definition at line 177 of file peo\-Sync\-Multi\-Start.h. +Definition at line 205 of file peo\-Sync\-Multi\-Start.h. References Service::get\-Owner(), and Thread::set\-Passive(). diff --git a/trunk/paradiseo-peo/doc/latex/classpeoTransform.tex b/trunk/paradiseo-peo/doc/latex/classpeoTransform.tex index 218909383..5207893f6 100644 --- a/trunk/paradiseo-peo/doc/latex/classpeoTransform.tex +++ b/trunk/paradiseo-peo/doc/latex/classpeoTransform.tex @@ -22,7 +22,7 @@ The \hyperlink{classpeoTransform}{peo\-Transform} class acts only as an interfac -Definition at line 20 of file peo\-Transform.h. +Definition at line 48 of file peo\-Transform.h. The documentation for this class was generated from the following file:\begin{CompactItemize} \item diff --git a/trunk/paradiseo-peo/doc/latex/doxygen.sty b/trunk/paradiseo-peo/doc/latex/doxygen.sty index dc3bf5e7e..e00898f58 100644 --- a/trunk/paradiseo-peo/doc/latex/doxygen.sty +++ b/trunk/paradiseo-peo/doc/latex/doxygen.sty @@ -10,8 +10,8 @@ {\fancyplain{}{\bfseries\rightmark}} \rhead[\fancyplain{}{\bfseries\leftmark}] {\fancyplain{}{\bfseries\thepage}} -\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Thu Jul 5 13:43:30 2007 for Paradis\-EO-PEO by Doxygen }]{} -\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Thu Jul 5 13:43:30 2007 for Paradis\-EO-PEO by Doxygen }} +\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Mon Oct 8 11:16:45 2007 for Paradis\-EO-PEOMoving\-Objects by Doxygen }]{} +\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Mon Oct 8 11:16:45 2007 for Paradis\-EO-PEOMoving\-Objects by Doxygen }} \cfoot{} \newenvironment{Code} {\footnotesize} diff --git a/trunk/paradiseo-peo/doc/latex/hierarchy.tex b/trunk/paradiseo-peo/doc/latex/hierarchy.tex index 9bc0e8623..385abf60e 100644 --- a/trunk/paradiseo-peo/doc/latex/hierarchy.tex +++ b/trunk/paradiseo-peo/doc/latex/hierarchy.tex @@ -1,4 +1,4 @@ -\section{Paradis\-EO-PEO Class Hierarchy} +\section{Paradis\-EO-PEOMoving\-Objects Class Hierarchy} This inheritance list is sorted roughly, but not completely, alphabetically:\begin{CompactList} \item \contentsline{section}{Communicable}{\pageref{classCommunicable}}{} \begin{CompactList} @@ -10,6 +10,7 @@ This inheritance list is sorted roughly, but not completely, alphabetically:\beg \item \contentsline{section}{Runner}{\pageref{classRunner}}{} \begin{CompactList} \item \contentsline{section}{peo\-EA$<$ EOT $>$}{\pageref{classpeoEA}}{} +\item \contentsline{section}{peo\-Parallel\-Algorithm\-Wrapper}{\pageref{classpeoParallelAlgorithmWrapper}}{} \end{CompactList} \item \contentsline{section}{Service}{\pageref{classService}}{} \begin{CompactList} @@ -18,6 +19,7 @@ This inheritance list is sorted roughly, but not completely, alphabetically:\beg \item \contentsline{section}{peo\-Para\-Pop\-Eval$<$ EOT $>$}{\pageref{classpeoParaPopEval}}{} \item \contentsline{section}{peo\-Seq\-Pop\-Eval$<$ EOT $>$}{\pageref{classpeoSeqPopEval}}{} \end{CompactList} +\item \contentsline{section}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$}{\pageref{classpeoSynchronousMultiStart}}{} \item \contentsline{section}{peo\-Sync\-Multi\-Start$<$ EOT $>$}{\pageref{classpeoSyncMultiStart}}{} \item \contentsline{section}{peo\-Transform$<$ EOT $>$}{\pageref{classpeoTransform}}{} \begin{CompactList} @@ -31,11 +33,14 @@ This inheritance list is sorted roughly, but not completely, alphabetically:\beg \item eo\-BF$<$ A1, A2, R $>${\tt \mbox{[}external\mbox{]}}\begin{CompactList} \item \contentsline{section}{peo\-Agg\-Eval\-Func$<$ EOT $>$}{\pageref{classpeoAggEvalFunc}}{} \begin{CompactList} +\item \contentsline{section}{Merge\-Route\-Eval}{\pageref{classMergeRouteEval}}{} \item \contentsline{section}{peo\-No\-Agg\-Eval\-Func$<$ EOT $>$}{\pageref{classpeoNoAggEvalFunc}}{} \end{CompactList} +\item \contentsline{section}{peo\-Agg\-Eval\-Func$<$ eo\-Vector$<$ int, Node $>$ $>$}{\pageref{classpeoAggEvalFunc}}{} \end{CompactList} \item eo\-F$<$ void $>${\tt \mbox{[}external\mbox{]}}\begin{CompactList} \item eo\-Updater{\tt \mbox{[}external\mbox{]}}\begin{CompactList} +\item \contentsline{section}{Display\-Best\-Route}{\pageref{classDisplayBestRoute}}{} \item \contentsline{section}{peo\-Async\-Island\-Mig$<$ EOT $>$}{\pageref{classpeoAsyncIslandMig}}{} \item \contentsline{section}{peo\-Sync\-Island\-Mig$<$ EOT $>$}{\pageref{classpeoSyncIslandMig}}{} \item \contentsline{section}{peo\-Sync\-Multi\-Start$<$ EOT $>$}{\pageref{classpeoSyncMultiStart}}{} @@ -47,6 +52,25 @@ This inheritance list is sorted roughly, but not completely, alphabetically:\beg \end{CompactList} \end{CompactList} \end{CompactList} +\item \contentsline{section}{peo\-Parallel\-Algorithm\-Wrapper::Abstract\-Algorithm}{\pageref{structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm}}{} +\begin{CompactList} +\item \contentsline{section}{peo\-Parallel\-Algorithm\-Wrapper::Algorithm$<$ Algorithm\-Type, Algorithm\-Data\-Type $>$}{\pageref{structpeoParallelAlgorithmWrapper_1_1Algorithm}}{} +\item \contentsline{section}{peo\-Parallel\-Algorithm\-Wrapper::Algorithm$<$ Algorithm\-Type, void $>$}{\pageref{structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4}}{} +\end{CompactList} +\item \contentsline{section}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Aggregation\-Algorithm}{\pageref{structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm}}{} +\begin{CompactList} +\item \contentsline{section}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Aggregation\-Algorithm$<$ Aggregation\-Algorithm\-Type $>$}{\pageref{structpeoSynchronousMultiStart_1_1AggregationAlgorithm}}{} +\item \contentsline{section}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::No\-Aggregation\-Function}{\pageref{structpeoSynchronousMultiStart_1_1NoAggregationFunction}}{} +\end{CompactList} +\item \contentsline{section}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Algorithm}{\pageref{structpeoSynchronousMultiStart_1_1AbstractAlgorithm}}{} +\begin{CompactList} +\item \contentsline{section}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Algorithm$<$ Algorithm\-Type $>$}{\pageref{structpeoSynchronousMultiStart_1_1Algorithm}}{} +\end{CompactList} +\item \contentsline{section}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Data\-Type}{\pageref{structpeoSynchronousMultiStart_1_1AbstractDataType}}{} +\begin{CompactList} +\item \contentsline{section}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Data\-Type$<$ Type $>$}{\pageref{structpeoSynchronousMultiStart_1_1DataType}}{} +\end{CompactList} +\item \contentsline{section}{Random\-Exploration\-Algorithm}{\pageref{structRandomExplorationAlgorithm}}{} \item \contentsline{section}{SEND\_\-REQUEST}{\pageref{structSEND__REQUEST}}{} \item \contentsline{section}{Thread}{\pageref{classThread}}{} \begin{CompactList} diff --git a/trunk/paradiseo-peo/doc/latex/main.tex b/trunk/paradiseo-peo/doc/latex/main.tex index dca7752e8..fe3667dc0 100644 --- a/trunk/paradiseo-peo/doc/latex/main.tex +++ b/trunk/paradiseo-peo/doc/latex/main.tex @@ -49,4 +49,11 @@ Helpers cooperate between them and interact with the components of the upper lay According to the generality of their embedded features, the classes of the architecture split in two major categories: {\em Provided classes\/} and {\em Required classes\/}. Provided classes embody the factored out part of the metaheuristics. They are generic, implemented in the framework, and ensure the control at run time. Required classes are those that must be supplied by the user. They encapsulate the problem-specific aspects of the application. These classes are fixed but not implemented in Paradis\-EO. The programmer has the burden to develop them using the OO specialization mechanism.\hypertarget{main_tutorials}{}\section{Paradis\-EO-PEO Tutorials}\label{main_tutorials} The basisc of the Paradis\-EO framework philosophy are exposed in a few simple tutorials: \begin{itemize} \item \href{lesson1/html/main.html}{\tt creating a simple Paradis\-EO evolutionary algorithm}; \end{itemize} -All the presented examples have as case study the traveling salesman problem (TSP). Different operators and auxiliary objects were designed, standing as a \href{lsnshared/html/index.html}{\tt common shared source code base}. While not being part of the Paradis\-EO-PEO framework, it may represent a startpoint for a better understanding of the presented tutorials. \ No newline at end of file +All the presented examples have as case study the traveling salesman problem (TSP). Different operators and auxiliary objects were designed, standing as a \href{lsnshared/html/index.html}{\tt common shared source code base}. While not being part of the Paradis\-EO-PEO framework, it may represent a startpoint for a better understanding of the presented tutorials.\hypertarget{main_LICENCE}{}\section{LICENCE}\label{main_LICENCE} +This software is governed by the Ce\-CILL 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 Ce\-CILL license as circulated by CEA, CNRS and INRIA at the following URL \char`\"{}http://www.cecill.info\char`\"{}. + +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 Ce\-CILL license and that you accept its terms. + +Paradis\-EO Web\-Site : \href{http://paradiseo.gforge.inria.fr}\tt{http://paradiseo.gforge.inria.fr} Contact: \href{mailto:paradiseo-help@lists.gforge.inria.fr}\tt{paradiseo-help@lists.gforge.inria.fr} \ No newline at end of file diff --git a/trunk/paradiseo-peo/doc/latex/namespaces.tex b/trunk/paradiseo-peo/doc/latex/namespaces.tex index b05536ba2..c69deee37 100644 --- a/trunk/paradiseo-peo/doc/latex/namespaces.tex +++ b/trunk/paradiseo-peo/doc/latex/namespaces.tex @@ -1,4 +1,4 @@ -\section{Paradis\-EO-PEO Namespace List} +\section{Paradis\-EO-PEOMoving\-Objects Namespace List} Here is a list of all documented namespaces with brief descriptions:\begin{CompactList} \item\contentsline{section}{\hyperlink{namespacepeo}{peo} }{\pageref{namespacepeo}}{} \end{CompactList} diff --git a/trunk/paradiseo-peo/doc/latex/refman.tex b/trunk/paradiseo-peo/doc/latex/refman.tex index d5b5327a9..e2e595b18 100644 --- a/trunk/paradiseo-peo/doc/latex/refman.tex +++ b/trunk/paradiseo-peo/doc/latex/refman.tex @@ -31,11 +31,11 @@ \begin{titlepage} \vspace*{7cm} \begin{center} -{\Large Paradis\-EO-PEO Reference Manual\\[1ex]\large 0.1 }\\ +{\Large Paradis\-EO-PEOMoving\-Objects Reference Manual\\[1ex]\large 1.0 }\\ \vspace*{1cm} {\large Generated by Doxygen 1.4.7}\\ \vspace*{0.5cm} -{\small Thu Jul 5 13:43:30 2007}\\ +{\small Mon Oct 8 11:16:45 2007}\\ \end{center} \end{titlepage} \clearemptydoublepage @@ -45,30 +45,45 @@ \pagenumbering{arabic} \chapter{The Paradis\-EO-PEO Framework } \label{index}\hypertarget{index}{}\input{main} -\chapter{Paradis\-EO-PEO Namespace Index} +\chapter{Paradis\-EO-PEOMoving\-Objects Namespace Index} \input{namespaces} -\chapter{Paradis\-EO-PEO Hierarchical Index} +\chapter{Paradis\-EO-PEOMoving\-Objects Hierarchical Index} \input{hierarchy} -\chapter{Paradis\-EO-PEO Class Index} +\chapter{Paradis\-EO-PEOMoving\-Objects Class Index} \input{annotated} -\chapter{Paradis\-EO-PEO Namespace Documentation} +\chapter{Paradis\-EO-PEOMoving\-Objects Namespace Documentation} \input{namespacepeo} -\chapter{Paradis\-EO-PEO Class Documentation} +\chapter{Paradis\-EO-PEOMoving\-Objects Class Documentation} \input{classCommunicable} \include{classCommunicator} \include{classCooperative} +\include{classDisplayBestRoute} +\include{classMergeRouteEval} \include{classpeoAggEvalFunc} \include{classpeoAsyncIslandMig} \include{classpeoEA} \include{classpeoNoAggEvalFunc} +\include{classpeoParallelAlgorithmWrapper} +\include{structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm} +\include{structpeoParallelAlgorithmWrapper_1_1Algorithm} +\include{structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4} \include{classpeoParaPopEval} \include{classpeoParaSGATransform} \include{classpeoPopEval} \include{classpeoSeqPopEval} \include{classpeoSeqTransform} +\include{classpeoSynchronousMultiStart} +\include{structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm} +\include{structpeoSynchronousMultiStart_1_1AbstractAlgorithm} +\include{structpeoSynchronousMultiStart_1_1AbstractDataType} +\include{structpeoSynchronousMultiStart_1_1AggregationAlgorithm} +\include{structpeoSynchronousMultiStart_1_1Algorithm} +\include{structpeoSynchronousMultiStart_1_1DataType} +\include{structpeoSynchronousMultiStart_1_1NoAggregationFunction} \include{classpeoSyncIslandMig} \include{classpeoSyncMultiStart} \include{classpeoTransform} +\include{structRandomExplorationAlgorithm} \include{classReactiveThread} \include{classRingTopology} \include{classRunner} diff --git a/trunk/paradiseo-peo/doc/latex/structSEND__REQUEST.tex b/trunk/paradiseo-peo/doc/latex/structSEND__REQUEST.tex index 6678d8e30..7b319bcac 100644 --- a/trunk/paradiseo-peo/doc/latex/structSEND__REQUEST.tex +++ b/trunk/paradiseo-peo/doc/latex/structSEND__REQUEST.tex @@ -27,7 +27,7 @@ int \hyperlink{structSEND__REQUEST_3126b3ef9d6533d3086760e413a7f23f}{tag}} -Definition at line 24 of file send.cpp. +Definition at line 52 of file send.cpp. The documentation for this struct was generated from the following file:\begin{CompactItemize} \item diff --git a/trunk/paradiseo-peo/doc/man/man3/Communicable.3 b/trunk/paradiseo-peo/doc/man/man3/Communicable.3 index b79685283..d0e543861 100644 --- a/trunk/paradiseo-peo/doc/man/man3/Communicable.3 +++ b/trunk/paradiseo-peo/doc/man/man3/Communicable.3 @@ -1,4 +1,4 @@ -.TH "Communicable" 3 "5 Jul 2007" "Version 0.1" "ParadisEO-PEO" \" -*- nroff -*- +.TH "Communicable" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- .ad l .nh .SH NAME @@ -55,8 +55,8 @@ Inherited by \fBCooperative\fP, \fBRunner\fP, \fBService\fP, and \fBWorker\fP. .in -1c .SH "Detailed Description" .PP -Definition at line 16 of file communicable.h. +Definition at line 44 of file communicable.h. .SH "Author" .PP -Generated automatically by Doxygen for ParadisEO-PEO from the source code. +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/Communicator.3 b/trunk/paradiseo-peo/doc/man/man3/Communicator.3 index dd8a76269..4c541f2d4 100644 --- a/trunk/paradiseo-peo/doc/man/man3/Communicator.3 +++ b/trunk/paradiseo-peo/doc/man/man3/Communicator.3 @@ -1,4 +1,4 @@ -.TH "Communicator" 3 "5 Jul 2007" "Version 0.1" "ParadisEO-PEO" \" -*- nroff -*- +.TH "Communicator" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- .ad l .nh .SH NAME @@ -20,8 +20,8 @@ Inherits \fBReactiveThread\fP. .in -1c .SH "Detailed Description" .PP -Definition at line 15 of file comm.h. +Definition at line 43 of file comm.h. .SH "Author" .PP -Generated automatically by Doxygen for ParadisEO-PEO from the source code. +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/Cooperative.3 b/trunk/paradiseo-peo/doc/man/man3/Cooperative.3 index 07f0daf1b..9aa4a6bc7 100644 --- a/trunk/paradiseo-peo/doc/man/man3/Cooperative.3 +++ b/trunk/paradiseo-peo/doc/man/man3/Cooperative.3 @@ -1,4 +1,4 @@ -.TH "Cooperative" 3 "5 Jul 2007" "Version 0.1" "ParadisEO-PEO" \" -*- nroff -*- +.TH "Cooperative" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- .ad l .nh .SH NAME @@ -35,8 +35,8 @@ Inherited by \fBpeoAsyncIslandMig< EOT >\fP, and \fBpeoSyncIslandMig< EOT >\fP. .in -1c .SH "Detailed Description" .PP -Definition at line 17 of file cooperative.h. +Definition at line 45 of file cooperative.h. .SH "Author" .PP -Generated automatically by Doxygen for ParadisEO-PEO from the source code. +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/ReactiveThread.3 b/trunk/paradiseo-peo/doc/man/man3/ReactiveThread.3 index b7b6eebbd..8467f49d3 100644 --- a/trunk/paradiseo-peo/doc/man/man3/ReactiveThread.3 +++ b/trunk/paradiseo-peo/doc/man/man3/ReactiveThread.3 @@ -1,4 +1,4 @@ -.TH "ReactiveThread" 3 "5 Jul 2007" "Version 0.1" "ParadisEO-PEO" \" -*- nroff -*- +.TH "ReactiveThread" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- .ad l .nh .SH NAME @@ -32,8 +32,8 @@ Inherited by \fBCommunicator\fP, and \fBWorker\fP. .in -1c .SH "Detailed Description" .PP -Definition at line 16 of file reac_thread.h. +Definition at line 44 of file reac_thread.h. .SH "Author" .PP -Generated automatically by Doxygen for ParadisEO-PEO from the source code. +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/RingTopology.3 b/trunk/paradiseo-peo/doc/man/man3/RingTopology.3 index 943200c5f..a8d404156 100644 --- a/trunk/paradiseo-peo/doc/man/man3/RingTopology.3 +++ b/trunk/paradiseo-peo/doc/man/man3/RingTopology.3 @@ -1,4 +1,4 @@ -.TH "RingTopology" 3 "5 Jul 2007" "Version 0.1" "ParadisEO-PEO" \" -*- nroff -*- +.TH "RingTopology" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- .ad l .nh .SH NAME @@ -17,8 +17,8 @@ Inherits \fBTopology\fP. .in -1c .SH "Detailed Description" .PP -Definition at line 14 of file ring_topo.h. +Definition at line 42 of file ring_topo.h. .SH "Author" .PP -Generated automatically by Doxygen for ParadisEO-PEO from the source code. +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/Runner.3 b/trunk/paradiseo-peo/doc/man/man3/Runner.3 index 55d84fc33..abdc983ec 100644 --- a/trunk/paradiseo-peo/doc/man/man3/Runner.3 +++ b/trunk/paradiseo-peo/doc/man/man3/Runner.3 @@ -1,4 +1,4 @@ -.TH "Runner" 3 "5 Jul 2007" "Version 0.1" "ParadisEO-PEO" \" -*- nroff -*- +.TH "Runner" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- .ad l .nh .SH NAME @@ -8,7 +8,7 @@ Runner \- .PP Inherits \fBCommunicable\fP, and \fBThread\fP. .PP -Inherited by \fBpeoEA< EOT >\fP. +Inherited by \fBpeoEA< EOT >\fP, and \fBpeoParallelAlgorithmWrapper\fP. .PP .SS "Public Member Functions" @@ -50,8 +50,8 @@ Inherited by \fBpeoEA< EOT >\fP. .in -1c .SH "Detailed Description" .PP -Definition at line 19 of file runner.h. +Definition at line 47 of file runner.h. .SH "Author" .PP -Generated automatically by Doxygen for ParadisEO-PEO from the source code. +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/SEND_REQUEST.3 b/trunk/paradiseo-peo/doc/man/man3/SEND_REQUEST.3 index f0ec40d76..de6fbfb17 100644 --- a/trunk/paradiseo-peo/doc/man/man3/SEND_REQUEST.3 +++ b/trunk/paradiseo-peo/doc/man/man3/SEND_REQUEST.3 @@ -1,4 +1,4 @@ -.TH "SEND_REQUEST" 3 "5 Jul 2007" "Version 0.1" "ParadisEO-PEO" \" -*- nroff -*- +.TH "SEND_REQUEST" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- .ad l .nh .SH NAME @@ -21,8 +21,8 @@ SEND_REQUEST \- .in -1c .SH "Detailed Description" .PP -Definition at line 24 of file send.cpp. +Definition at line 52 of file send.cpp. .SH "Author" .PP -Generated automatically by Doxygen for ParadisEO-PEO from the source code. +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/Service.3 b/trunk/paradiseo-peo/doc/man/man3/Service.3 index d502272ac..242238f59 100644 --- a/trunk/paradiseo-peo/doc/man/man3/Service.3 +++ b/trunk/paradiseo-peo/doc/man/man3/Service.3 @@ -1,4 +1,4 @@ -.TH "Service" 3 "5 Jul 2007" "Version 0.1" "ParadisEO-PEO" \" -*- nroff -*- +.TH "Service" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- .ad l .nh .SH NAME @@ -8,7 +8,7 @@ Service \- .PP Inherits \fBCommunicable\fP. .PP -Inherited by \fBpeoPopEval< EOT >\fP, \fBpeoSyncMultiStart< EOT >\fP, and \fBpeoTransform< EOT >\fP. +Inherited by \fBpeoPopEval< EOT >\fP, \fBpeoPopEval< eoVector< int, Node > >\fP, \fBpeoSynchronousMultiStart< EntityType >\fP, \fBpeoSynchronousMultiStart< eoVector< int, Node > >\fP, \fBpeoSyncMultiStart< EOT >\fP, and \fBpeoTransform< EOT >\fP. .PP .SS "Public Member Functions" @@ -62,8 +62,8 @@ Inherited by \fBpeoPopEval< EOT >\fP, \fBpeoSyncMultiStart< EOT >\fP, and \fBpeo .in -1c .SH "Detailed Description" .PP -Definition at line 17 of file service.h. +Definition at line 45 of file service.h. .SH "Author" .PP -Generated automatically by Doxygen for ParadisEO-PEO from the source code. +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/Thread.3 b/trunk/paradiseo-peo/doc/man/man3/Thread.3 index 002aa208f..668641367 100644 --- a/trunk/paradiseo-peo/doc/man/man3/Thread.3 +++ b/trunk/paradiseo-peo/doc/man/man3/Thread.3 @@ -1,4 +1,4 @@ -.TH "Thread" 3 "5 Jul 2007" "Version 0.1" "ParadisEO-PEO" \" -*- nroff -*- +.TH "Thread" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- .ad l .nh .SH NAME @@ -33,8 +33,8 @@ Inherited by \fBReactiveThread\fP, and \fBRunner\fP. .in -1c .SH "Detailed Description" .PP -Definition at line 16 of file thread.h. +Definition at line 44 of file thread.h. .SH "Author" .PP -Generated automatically by Doxygen for ParadisEO-PEO from the source code. +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/Topology.3 b/trunk/paradiseo-peo/doc/man/man3/Topology.3 index f5494be2f..5d4e939ee 100644 --- a/trunk/paradiseo-peo/doc/man/man3/Topology.3 +++ b/trunk/paradiseo-peo/doc/man/man3/Topology.3 @@ -1,4 +1,4 @@ -.TH "Topology" 3 "5 Jul 2007" "Version 0.1" "ParadisEO-PEO" \" -*- nroff -*- +.TH "Topology" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- .ad l .nh .SH NAME @@ -27,8 +27,8 @@ Inherited by \fBRingTopology\fP. .in -1c .SH "Detailed Description" .PP -Definition at line 16 of file topology.h. +Definition at line 44 of file topology.h. .SH "Author" .PP -Generated automatically by Doxygen for ParadisEO-PEO from the source code. +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/Worker.3 b/trunk/paradiseo-peo/doc/man/man3/Worker.3 index 3ebab6c09..2327bb56a 100644 --- a/trunk/paradiseo-peo/doc/man/man3/Worker.3 +++ b/trunk/paradiseo-peo/doc/man/man3/Worker.3 @@ -1,4 +1,4 @@ -.TH "Worker" 3 "5 Jul 2007" "Version 0.1" "ParadisEO-PEO" \" -*- nroff -*- +.TH "Worker" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- .ad l .nh .SH NAME @@ -57,8 +57,8 @@ Inherits \fBCommunicable\fP, and \fBReactiveThread\fP. .in -1c .SH "Detailed Description" .PP -Definition at line 18 of file worker.h. +Definition at line 46 of file worker.h. .SH "Author" .PP -Generated automatically by Doxygen for ParadisEO-PEO from the source code. +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/peo.3 b/trunk/paradiseo-peo/doc/man/man3/peo.3 index a337a3b4b..ed1fecf92 100644 --- a/trunk/paradiseo-peo/doc/man/man3/peo.3 +++ b/trunk/paradiseo-peo/doc/man/man3/peo.3 @@ -1,4 +1,4 @@ -.TH "peo" 3 "5 Jul 2007" "Version 0.1" "ParadisEO-PEO" \" -*- nroff -*- +.TH "peo" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- .ad l .nh .SH NAME @@ -40,4 +40,4 @@ peo \- .in -1c .SH "Author" .PP -Generated automatically by Doxygen for ParadisEO-PEO from the source code. +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/peoAggEvalFunc.3 b/trunk/paradiseo-peo/doc/man/man3/peoAggEvalFunc.3 index 66fb766eb..4109b0e40 100644 --- a/trunk/paradiseo-peo/doc/man/man3/peoAggEvalFunc.3 +++ b/trunk/paradiseo-peo/doc/man/man3/peoAggEvalFunc.3 @@ -1,4 +1,4 @@ -.TH "peoAggEvalFunc" 3 "5 Jul 2007" "Version 0.1" "ParadisEO-PEO" \" -*- nroff -*- +.TH "peoAggEvalFunc" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- .ad l .nh .SH NAME @@ -12,7 +12,7 @@ peoAggEvalFunc \- The \fBpeoAggEvalFunc\fP class offers only the interface for c .PP Inherits \fBeoBF< A1, A2, R >< const EOT &, EOT::Fitness &, void >\fP. .PP -Inherited by \fBpeoNoAggEvalFunc< EOT >\fP. +Inherited by \fBMergeRouteEval\fP, and \fBpeoNoAggEvalFunc< EOT >\fP. .PP .SH "Detailed Description" .PP @@ -26,8 +26,8 @@ void operator()( EOT& __eot, const typename EOT :: Fitness& __partial_fittness ) .PP The aggregation object is called in an iterative manner for each of the results obtained by applying partial evaluation functions. .PP -Definition at line 25 of file peoAggEvalFunc.h. +Definition at line 53 of file peoAggEvalFunc.h. .SH "Author" .PP -Generated automatically by Doxygen for ParadisEO-PEO from the source code. +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/peoAsyncIslandMig.3 b/trunk/paradiseo-peo/doc/man/man3/peoAsyncIslandMig.3 index bc54b3aef..fd5d5126c 100644 --- a/trunk/paradiseo-peo/doc/man/man3/peoAsyncIslandMig.3 +++ b/trunk/paradiseo-peo/doc/man/man3/peoAsyncIslandMig.3 @@ -1,4 +1,4 @@ -.TH "peoAsyncIslandMig" 3 "5 Jul 2007" "Version 0.1" "ParadisEO-PEO" \" -*- nroff -*- +.TH "peoAsyncIslandMig" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- .ad l .nh .SH NAME @@ -130,7 +130,7 @@ The source and the destination population for the migration object were specifie .PP The above steps only create an asynchronous migration object associated to an evolutionary algorithm. The creation of several islands requires the reiteration of the steps 2 through 4 for creating distinct algorithms, with distinct populations and the associated distinctly parametrized migration objects. The interconnecting element is the underlying topology, defined at step 1 (the same C++ migTopology object has to be passed as parameter for all the migration objects, in order to interconnect them). .PP -Definition at line 112 of file peoAsyncIslandMig.h. +Definition at line 140 of file peoAsyncIslandMig.h. .SH "Constructor & Destructor Documentation" .PP .SS "template \fBpeoAsyncIslandMig\fP< EOT >::\fBpeoAsyncIslandMig\fP (\fBeoContinue\fP< EOT > & __cont, \fBeoSelect\fP< EOT > & __select, \fBeoReplacement\fP< EOT > & __replace, \fBTopology\fP & __topology, \fBeoPop\fP< EOT > & __source, \fBeoPop\fP< EOT > & __destination)" @@ -154,7 +154,7 @@ Constructor for the \fBpeoAsyncIslandMig\fP class; the characteristics of the mi .PP .PP -Definition at line 171 of file peoAsyncIslandMig.h. +Definition at line 199 of file peoAsyncIslandMig.h. .PP References Topology::add(). .SH "Member Function Documentation" @@ -167,10 +167,10 @@ The emigrant individuals are selected from the source population and sent to the .PP Implements \fBeoF< void >\fP. .PP -Definition at line 248 of file peoAsyncIslandMig.h. +Definition at line 276 of file peoAsyncIslandMig.h. .PP References peoAsyncIslandMig< EOT >::cont, peoAsyncIslandMig< EOT >::emigrate(), peoAsyncIslandMig< EOT >::immigrate(), and peoAsyncIslandMig< EOT >::source. .SH "Author" .PP -Generated automatically by Doxygen for ParadisEO-PEO from the source code. +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/peoEA.3 b/trunk/paradiseo-peo/doc/man/man3/peoEA.3 index 4f6ae6da4..9bfa31f02 100644 --- a/trunk/paradiseo-peo/doc/man/man3/peoEA.3 +++ b/trunk/paradiseo-peo/doc/man/man3/peoEA.3 @@ -1,4 +1,4 @@ -.TH "peoEA" 3 "5 Jul 2007" "Version 0.1" "ParadisEO-PEO" \" -*- nroff -*- +.TH "peoEA" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- .ad l .nh .SH NAME @@ -60,7 +60,7 @@ In addition, as compared with the algorithms provided by the \fBEO\fP framework, .PP ... eoPop< EOT > population( POP_SIZE, popInitializer ); // creation of a population with POP_SIZE individuals - the popInitializer is a functor to be called for each individual eoGenContinue< EOT > eaCont( NUM_GEN ); // number of generations for the evolutionary algorithm eoCheckPoint< EOT > eaCheckpointContinue( eaCont ); // checkpoint incorporating the continuation criterion - startpoint for adding other checkpoint objects peoSeqPopEval< EOT > eaPopEval( evalFunction ); // sequential evaluation functor wrapper - evalFunction represents the actual evaluation functor eoRankingSelect< EOT > selectionStrategy; // selection strategy for creating the offspring population - a simple ranking selection in this case eoSelectNumber< EOT > eaSelect( selectionStrategy, POP_SIZE ); // the number of individuals to be selected for creating the offspring population eoRankingSelect< EOT > selectionStrategy; // selection strategy for creating the offspring population - a simple ranking selection in this case eoSGATransform< EOT > transform( crossover, CROSS_RATE, mutation, MUT_RATE ); // transformation operator - crossover and mutation operators with their associated probabilities peoSeqTransform< EOT > eaTransform( transform ); // ParadisEO specific sequential operator - a parallel version may be specified in the same manner eoPlusReplacement< EOT > eaReplace; // replacement strategy - for integrating the offspring resulting individuals in the initial population peoEA< EOT > eaAlg( eaCheckpointContinue, eaPopEval, eaSelect, eaTransform, eaReplace ); // ParadisEO evolutionary algorithm integrating the above defined objects eaAlg( population ); // specifying the initial population for the algorithm ... .PP -Definition at line 54 of file peoEA.h. +Definition at line 82 of file peoEA.h. .SH "Constructor & Destructor Documentation" .PP .SS "template \fBpeoEA\fP< EOT >::\fBpeoEA\fP (\fBeoContinue\fP< EOT > & __cont, \fBpeoPopEval\fP< EOT > & __pop_eval, \fBeoSelect\fP< EOT > & __select, \fBpeoTransform\fP< EOT > & __trans, \fBeoReplacement\fP< EOT > & __replace)" @@ -84,7 +84,7 @@ Depending on the requirements, a sequential or a parallel evaluation operator ma .PP .PP -Definition at line 98 of file peoEA.h. +Definition at line 126 of file peoEA.h. .PP References peoEA< EOT >::pop_eval, and peoEA< EOT >::trans. .SH "Member Function Documentation" @@ -100,10 +100,10 @@ References peoEA< EOT >::pop_eval, and peoEA< EOT >::trans. .PP .PP -Definition at line 114 of file peoEA.h. +Definition at line 142 of file peoEA.h. .PP References peoEA< EOT >::pop. .SH "Author" .PP -Generated automatically by Doxygen for ParadisEO-PEO from the source code. +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/peoNoAggEvalFunc.3 b/trunk/paradiseo-peo/doc/man/man3/peoNoAggEvalFunc.3 index c2df6a16e..caa54ee6a 100644 --- a/trunk/paradiseo-peo/doc/man/man3/peoNoAggEvalFunc.3 +++ b/trunk/paradiseo-peo/doc/man/man3/peoNoAggEvalFunc.3 @@ -1,4 +1,4 @@ -.TH "peoNoAggEvalFunc" 3 "5 Jul 2007" "Version 0.1" "ParadisEO-PEO" \" -*- nroff -*- +.TH "peoNoAggEvalFunc" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- .ad l .nh .SH NAME @@ -28,8 +28,8 @@ The \fBpeoNoAggEvalFunc\fP class does nothing more than an association between a The class is provided as a mean of declaring that no aggregation is required for the evaluation function - the fitness value is explicitly specified. .PP -Definition at line 19 of file peoNoAggEvalFunc.h. +Definition at line 47 of file peoNoAggEvalFunc.h. .SH "Author" .PP -Generated automatically by Doxygen for ParadisEO-PEO from the source code. +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/peoParaPopEval.3 b/trunk/paradiseo-peo/doc/man/man3/peoParaPopEval.3 index b0f85ca26..a2533e127 100644 --- a/trunk/paradiseo-peo/doc/man/man3/peoParaPopEval.3 +++ b/trunk/paradiseo-peo/doc/man/man3/peoParaPopEval.3 @@ -1,4 +1,4 @@ -.TH "peoParaPopEval" 3 "5 Jul 2007" "Version 0.1" "ParadisEO-PEO" \" -*- nroff -*- +.TH "peoParaPopEval" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- .ad l .nh .SH NAME @@ -98,7 +98,7 @@ The \fBpeoParaPopEval\fP represents a wrapper for creating a functor capable of The class offers the possibility of chosing between a single-function evaluation and an aggregate evaluation function, including several sub-evalution functions. .PP -Definition at line 26 of file peoParaPopEval.h. +Definition at line 54 of file peoParaPopEval.h. .SH "Constructor & Destructor Documentation" .PP .SS "template \fBpeoParaPopEval\fP< EOT >::\fBpeoParaPopEval\fP (\fBeoEvalFunc\fP< EOT > & __eval_func)" @@ -112,7 +112,7 @@ Constructor function - an EO-derived evaluation functor has to be specified; an .PP .PP -Definition at line 102 of file peoParaPopEval.h. +Definition at line 130 of file peoParaPopEval.h. .PP References peoParaPopEval< EOT >::one_func. .SS "template \fBpeoParaPopEval\fP< EOT >::\fBpeoParaPopEval\fP (const std::vector< \fBeoEvalFunc\fP< EOT > * > & __funcs, \fBpeoAggEvalFunc\fP< EOT > & __merge_eval)" @@ -128,7 +128,7 @@ Constructor function - a vector of EO-derived evaluation functors has to be spec .PP .PP -Definition at line 111 of file peoParaPopEval.h. +Definition at line 139 of file peoParaPopEval.h. .SH "Member Function Documentation" .PP .SS "template void \fBpeoParaPopEval\fP< EOT >::operator() (\fBeoPop\fP< EOT > & __pop)\fC [virtual]\fP" @@ -144,7 +144,7 @@ Operator for applying the evaluation functor (direct or aggregate) for each indi .PP Implements \fBpeoPopEval< EOT >\fP. .PP -Definition at line 122 of file peoParaPopEval.h. +Definition at line 150 of file peoParaPopEval.h. .PP References peoParaPopEval< EOT >::funcs, peoParaPopEval< EOT >::progression, Service::requestResourceRequest(), Communicable::stop(), peoParaPopEval< EOT >::tasks, and peoParaPopEval< EOT >::total. .SS "template void \fBpeoParaPopEval\fP< EOT >::packData ()\fC [virtual]\fP" @@ -155,7 +155,7 @@ There is no need to explicitly call the function. .PP Reimplemented from \fBService\fP. .PP -Definition at line 143 of file peoParaPopEval.h. +Definition at line 171 of file peoParaPopEval.h. .PP References peoParaPopEval< EOT >::progression, and peoParaPopEval< EOT >::tasks. .SS "template void \fBpeoParaPopEval\fP< EOT >::unpackData ()\fC [virtual]\fP" @@ -166,7 +166,7 @@ There is no need to explicitly call the function. .PP Reimplemented from \fBService\fP. .PP -Definition at line 157 of file peoParaPopEval.h. +Definition at line 185 of file peoParaPopEval.h. .PP References peoParaPopEval< EOT >::ad_sol, peoParaPopEval< EOT >::num_func, and peoParaPopEval< EOT >::sol. .SS "template void \fBpeoParaPopEval\fP< EOT >::packResult ()\fC [virtual]\fP" @@ -177,7 +177,7 @@ There is no need to explicitly call the function. .PP Reimplemented from \fBService\fP. .PP -Definition at line 174 of file peoParaPopEval.h. +Definition at line 202 of file peoParaPopEval.h. .PP References peoParaPopEval< EOT >::ad_sol, and peoParaPopEval< EOT >::sol. .SS "template void \fBpeoParaPopEval\fP< EOT >::unpackResult ()\fC [virtual]\fP" @@ -188,7 +188,7 @@ There is no need to explicitly call the function. .PP Reimplemented from \fBService\fP. .PP -Definition at line 183 of file peoParaPopEval.h. +Definition at line 211 of file peoParaPopEval.h. .PP References peoParaPopEval< EOT >::ad_sol, Service::getOwner(), peoParaPopEval< EOT >::merge_eval, peoParaPopEval< EOT >::progression, Communicable::resume(), Thread::setActive(), and peoParaPopEval< EOT >::total. .SS "template void \fBpeoParaPopEval\fP< EOT >::notifySendingData ()\fC [virtual]\fP" @@ -199,7 +199,7 @@ There is no need to explicitly call the function. .PP Reimplemented from \fBService\fP. .PP -Definition at line 214 of file peoParaPopEval.h. +Definition at line 242 of file peoParaPopEval.h. .SS "template void \fBpeoParaPopEval\fP< EOT >::notifySendingAllResourceRequests ()\fC [virtual]\fP" .PP Auxiliary function for notifications between the process requesting an evaluation operation and the processes that performs the actual evaluation phase. @@ -208,10 +208,10 @@ There is no need to explicitly call the function. .PP Reimplemented from \fBService\fP. .PP -Definition at line 219 of file peoParaPopEval.h. +Definition at line 247 of file peoParaPopEval.h. .PP References Service::getOwner(), and Thread::setPassive(). .SH "Author" .PP -Generated automatically by Doxygen for ParadisEO-PEO from the source code. +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/peoParaSGATransform.3 b/trunk/paradiseo-peo/doc/man/man3/peoParaSGATransform.3 index 749a44b21..978501baf 100644 --- a/trunk/paradiseo-peo/doc/man/man3/peoParaSGATransform.3 +++ b/trunk/paradiseo-peo/doc/man/man3/peoParaSGATransform.3 @@ -1,4 +1,4 @@ -.TH "peoParaSGATransform" 3 "5 Jul 2007" "Version 0.1" "ParadisEO-PEO" \" -*- nroff -*- +.TH "peoParaSGATransform" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- .ad l .nh .SH NAME @@ -76,8 +76,8 @@ Inherits \fBpeoTransform< EOT >< EOT >\fP. .SS "template class peoParaSGATransform< EOT >" .PP -Definition at line 21 of file peoParaSGATransform.h. +Definition at line 49 of file peoParaSGATransform.h. .SH "Author" .PP -Generated automatically by Doxygen for ParadisEO-PEO from the source code. +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/peoPopEval.3 b/trunk/paradiseo-peo/doc/man/man3/peoPopEval.3 index 74da17ed3..2b0d9884f 100644 --- a/trunk/paradiseo-peo/doc/man/man3/peoPopEval.3 +++ b/trunk/paradiseo-peo/doc/man/man3/peoPopEval.3 @@ -1,4 +1,4 @@ -.TH "peoPopEval" 3 "5 Jul 2007" "Version 0.1" "ParadisEO-PEO" \" -*- nroff -*- +.TH "peoPopEval" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- .ad l .nh .SH NAME @@ -30,8 +30,8 @@ The \fB\fBpeoPopEval\fP\fP class provides the interface for constructing Paradis The derived classes may be used as wrappers for \fB\fBEO\fP\fP-derived evaluation functors. In order to have an example, please refer to the implementation of the \fB\fBpeoSeqPopEval\fP\fP and \fB\fBpeoParaPopEval\fP\fP classes. .PP -Definition at line 19 of file peoPopEval.h. +Definition at line 47 of file peoPopEval.h. .SH "Author" .PP -Generated automatically by Doxygen for ParadisEO-PEO from the source code. +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/peoSeqPopEval.3 b/trunk/paradiseo-peo/doc/man/man3/peoSeqPopEval.3 index dad8e7f30..745865e94 100644 --- a/trunk/paradiseo-peo/doc/man/man3/peoSeqPopEval.3 +++ b/trunk/paradiseo-peo/doc/man/man3/peoSeqPopEval.3 @@ -1,4 +1,4 @@ -.TH "peoSeqPopEval" 3 "5 Jul 2007" "Version 0.1" "ParadisEO-PEO" \" -*- nroff -*- +.TH "peoSeqPopEval" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- .ad l .nh .SH NAME @@ -39,7 +39,7 @@ The \fBpeoSeqPopEval\fP class acts only as a ParadisEO specific sequential evalu The specified \fBEO\fP evaluation object is applyied in an iterative manner to each individual of a specified population. .PP -Definition at line 21 of file peoSeqPopEval.h. +Definition at line 49 of file peoSeqPopEval.h. .SH "Constructor & Destructor Documentation" .PP .SS "template \fBpeoSeqPopEval\fP< EOT >::\fBpeoSeqPopEval\fP (\fBeoEvalFunc\fP< EOT > & __eval)" @@ -53,7 +53,7 @@ Constructor function - it only sets an internal reference to point to the specif .PP .PP -Definition at line 41 of file peoSeqPopEval.h. +Definition at line 69 of file peoSeqPopEval.h. .SH "Member Function Documentation" .PP .SS "template void \fBpeoSeqPopEval\fP< EOT >::operator() (\fBeoPop\fP< EOT > & __pop)\fC [virtual]\fP" @@ -69,10 +69,10 @@ Operator for evaluating all the individuals of a given population - in a sequent .PP Implements \fBpeoPopEval< EOT >\fP. .PP -Definition at line 46 of file peoSeqPopEval.h. +Definition at line 74 of file peoSeqPopEval.h. .PP References peoSeqPopEval< EOT >::eval. .SH "Author" .PP -Generated automatically by Doxygen for ParadisEO-PEO from the source code. +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/peoSeqTransform.3 b/trunk/paradiseo-peo/doc/man/man3/peoSeqTransform.3 index ab92b53cd..78cb6d706 100644 --- a/trunk/paradiseo-peo/doc/man/man3/peoSeqTransform.3 +++ b/trunk/paradiseo-peo/doc/man/man3/peoSeqTransform.3 @@ -1,4 +1,4 @@ -.TH "peoSeqTransform" 3 "5 Jul 2007" "Version 0.1" "ParadisEO-PEO" \" -*- nroff -*- +.TH "peoSeqTransform" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- .ad l .nh .SH NAME @@ -59,7 +59,7 @@ The \fBpeoSeqTransform\fP represent a wrapper for offering the possibility of us A minimal set of interface functions is also provided for creating the link with the parallel architecture of the ParadisEO framework. .PP -Definition at line 20 of file peoSeqTransform.h. +Definition at line 48 of file peoSeqTransform.h. .SH "Constructor & Destructor Documentation" .PP .SS "template \fBpeoSeqTransform\fP< EOT >::\fBpeoSeqTransform\fP (\fBeoTransform\fP< EOT > & __trans)" @@ -73,7 +73,7 @@ Constructor function - sets an internal reference towards the specified EO-deriv .PP .PP -Definition at line 55 of file peoSeqTransform.h. +Definition at line 83 of file peoSeqTransform.h. .SH "Member Function Documentation" .PP .SS "template void \fBpeoSeqTransform\fP< EOT >::operator() (\fBeoPop\fP< EOT > & __pop)" @@ -87,10 +87,10 @@ Operator for applying the specified transform operators on each individual of th .PP .PP -Definition at line 60 of file peoSeqTransform.h. +Definition at line 88 of file peoSeqTransform.h. .PP References peoSeqTransform< EOT >::trans. .SH "Author" .PP -Generated automatically by Doxygen for ParadisEO-PEO from the source code. +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/peoSyncIslandMig.3 b/trunk/paradiseo-peo/doc/man/man3/peoSyncIslandMig.3 index 57918dbbd..d9854a182 100644 --- a/trunk/paradiseo-peo/doc/man/man3/peoSyncIslandMig.3 +++ b/trunk/paradiseo-peo/doc/man/man3/peoSyncIslandMig.3 @@ -1,4 +1,4 @@ -.TH "peoSyncIslandMig" 3 "5 Jul 2007" "Version 0.1" "ParadisEO-PEO" \" -*- nroff -*- +.TH "peoSyncIslandMig" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- .ad l .nh .SH NAME @@ -137,7 +137,7 @@ The source and the destination population for the migration object were specifie .PP The above steps only create a synchronous migration object associated to an evolutionary algorithm. The creation of several islands requires the reiteration of the steps 2 through 4 for creating distinct algorithms, with distinct populations and the associated distinctly parametrized migration objects. The interconnecting element is the underlying topology, defined at step 1 (the same C++ migTopology object has to be passed as parameter for all the migration objects, in order to interconnect them). .PP -Definition at line 114 of file peoSyncIslandMig.h. +Definition at line 142 of file peoSyncIslandMig.h. .SH "Constructor & Destructor Documentation" .PP .SS "template \fBpeoSyncIslandMig\fP< EOT >::\fBpeoSyncIslandMig\fP (unsigned __frequency, \fBeoSelect\fP< EOT > & __select, \fBeoReplacement\fP< EOT > & __replace, \fBTopology\fP & __topology, \fBeoPop\fP< EOT > & __source, \fBeoPop\fP< EOT > & __destination)" @@ -161,7 +161,7 @@ Constructor for the \fBpeoSyncIslandMig\fP class; the characteristics of the mig .PP .PP -Definition at line 178 of file peoSyncIslandMig.h. +Definition at line 206 of file peoSyncIslandMig.h. .PP References Topology::add(), and peoSyncIslandMig< EOT >::sync. .SH "Member Function Documentation" @@ -174,10 +174,10 @@ The emigrant individuals are selected from the source population and sent to the .PP Implements \fBeoF< void >\fP. .PP -Definition at line 252 of file peoSyncIslandMig.h. +Definition at line 280 of file peoSyncIslandMig.h. .PP References peoSyncIslandMig< EOT >::cont, peoSyncIslandMig< EOT >::emigrate(), Cooperative::getOwner(), peoSyncIslandMig< EOT >::immigrate(), Thread::setActive(), peoSyncIslandMig< EOT >::source, Communicable::stop(), and peoSyncIslandMig< EOT >::sync. .SH "Author" .PP -Generated automatically by Doxygen for ParadisEO-PEO from the source code. +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/peoSyncMultiStart.3 b/trunk/paradiseo-peo/doc/man/man3/peoSyncMultiStart.3 index 4bca1683b..5decd8736 100644 --- a/trunk/paradiseo-peo/doc/man/man3/peoSyncMultiStart.3 +++ b/trunk/paradiseo-peo/doc/man/man3/peoSyncMultiStart.3 @@ -1,4 +1,4 @@ -.TH "peoSyncMultiStart" 3 "5 Jul 2007" "Version 0.1" "ParadisEO-PEO" \" -*- nroff -*- +.TH "peoSyncMultiStart" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- .ad l .nh .SH NAME @@ -94,7 +94,7 @@ The \fBpeoSyncMultiStart\fP class provides the basis for implementing the synchr As a simple example, several hill climbing algorithms may be synchronously launched on the specified population, each algorithm acting upon one individual only, the final result being integrated back in the population. A \fBpeoSyncMultiStart\fP object can be specified as checkpoint object for a classic ParadisEO evolutionary algorithm thus allowing for simple hybridization schemes which combine the evolutionary approach with a local search approach, for example, executed at the end of each generation. .PP -Definition at line 36 of file peoSyncMultiStart.h. +Definition at line 64 of file peoSyncMultiStart.h. .SH "Constructor & Destructor Documentation" .PP .SS "template \fBpeoSyncMultiStart\fP< EOT >::\fBpeoSyncMultiStart\fP (\fBeoContinue\fP< EOT > & __cont, \fBeoSelect\fP< EOT > & __select, \fBeoReplacement\fP< EOT > & __replace, \fBmoAlgo\fP< EOT > & __ls, \fBeoPop\fP< EOT > & __pop)" @@ -116,7 +116,7 @@ Constructor function - several simple parameters are required for defining the c .PP .PP -Definition at line 106 of file peoSyncMultiStart.h. +Definition at line 134 of file peoSyncMultiStart.h. .SH "Member Function Documentation" .PP .SS "template void \fBpeoSyncMultiStart\fP< EOT >::operator() ()\fC [virtual]\fP" @@ -127,7 +127,7 @@ There is no need to explicitly call the operator - automatically called as check .PP Implements \fBeoF< void >\fP. .PP -Definition at line 161 of file peoSyncMultiStart.h. +Definition at line 189 of file peoSyncMultiStart.h. .PP References peoSyncMultiStart< EOT >::idx, peoSyncMultiStart< EOT >::impr_sel, peoSyncMultiStart< EOT >::num_term, peoSyncMultiStart< EOT >::pop, Service::requestResourceRequest(), peoSyncMultiStart< EOT >::sel, peoSyncMultiStart< EOT >::select, and Communicable::stop(). .SS "template void \fBpeoSyncMultiStart\fP< EOT >::packData ()\fC [virtual]\fP" @@ -138,7 +138,7 @@ There is no need to explicitly call the function. .PP Reimplemented from \fBService\fP. .PP -Definition at line 120 of file peoSyncMultiStart.h. +Definition at line 148 of file peoSyncMultiStart.h. .PP References peoSyncMultiStart< EOT >::idx, and peoSyncMultiStart< EOT >::sel. .SS "template void \fBpeoSyncMultiStart\fP< EOT >::unpackData ()\fC [virtual]\fP" @@ -149,7 +149,7 @@ There is no need to explicitly call the function. .PP Reimplemented from \fBService\fP. .PP -Definition at line 126 of file peoSyncMultiStart.h. +Definition at line 154 of file peoSyncMultiStart.h. .PP References peoSyncMultiStart< EOT >::sol. .SS "template void \fBpeoSyncMultiStart\fP< EOT >::execute ()\fC [virtual]\fP" @@ -160,7 +160,7 @@ There is no need to explicitly call the function. .PP Reimplemented from \fBService\fP. .PP -Definition at line 132 of file peoSyncMultiStart.h. +Definition at line 160 of file peoSyncMultiStart.h. .PP References peoSyncMultiStart< EOT >::ls, and peoSyncMultiStart< EOT >::sol. .SS "template void \fBpeoSyncMultiStart\fP< EOT >::packResult ()\fC [virtual]\fP" @@ -171,7 +171,7 @@ There is no need to explicitly call the function. .PP Reimplemented from \fBService\fP. .PP -Definition at line 138 of file peoSyncMultiStart.h. +Definition at line 166 of file peoSyncMultiStart.h. .PP References peoSyncMultiStart< EOT >::sol. .SS "template void \fBpeoSyncMultiStart\fP< EOT >::unpackResult ()\fC [virtual]\fP" @@ -182,7 +182,7 @@ There is no need to explicitly call the function. .PP Reimplemented from \fBService\fP. .PP -Definition at line 144 of file peoSyncMultiStart.h. +Definition at line 172 of file peoSyncMultiStart.h. .PP References Service::getOwner(), peoSyncMultiStart< EOT >::impr_sel, peoSyncMultiStart< EOT >::num_term, peoSyncMultiStart< EOT >::pop, peoSyncMultiStart< EOT >::replace, Communicable::resume(), peoSyncMultiStart< EOT >::sel, Thread::setActive(), and peoSyncMultiStart< EOT >::sol. .SS "template void \fBpeoSyncMultiStart\fP< EOT >::notifySendingData ()\fC [virtual]\fP" @@ -193,7 +193,7 @@ There is no need to explicitly call the function. .PP Reimplemented from \fBService\fP. .PP -Definition at line 172 of file peoSyncMultiStart.h. +Definition at line 200 of file peoSyncMultiStart.h. .SS "template void \fBpeoSyncMultiStart\fP< EOT >::notifySendingAllResourceRequests ()\fC [virtual]\fP" .PP Auxiliary function for notifications between the process requesting the synchronous multi-start execution and the processes that performs the actual execution phase. @@ -202,10 +202,10 @@ There is no need to explicitly call the function. .PP Reimplemented from \fBService\fP. .PP -Definition at line 177 of file peoSyncMultiStart.h. +Definition at line 205 of file peoSyncMultiStart.h. .PP References Service::getOwner(), and Thread::setPassive(). .SH "Author" .PP -Generated automatically by Doxygen for ParadisEO-PEO from the source code. +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/peoTransform.3 b/trunk/paradiseo-peo/doc/man/man3/peoTransform.3 index 488597bae..2ffdb3dd9 100644 --- a/trunk/paradiseo-peo/doc/man/man3/peoTransform.3 +++ b/trunk/paradiseo-peo/doc/man/man3/peoTransform.3 @@ -1,4 +1,4 @@ -.TH "peoTransform" 3 "5 Jul 2007" "Version 0.1" "ParadisEO-PEO" \" -*- nroff -*- +.TH "peoTransform" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- .ad l .nh .SH NAME @@ -20,8 +20,8 @@ Inherited by \fBpeoParaSGATransform< EOT >\fP, and \fBpeoSeqTransform< EOT >\fP. .SS "template class peoTransform< EOT >" The \fBpeoTransform\fP class acts only as an interface for creating transform operators - for an example please refer to the \fB\fBpeoSeqTransform\fP\fP and the \fB\fBpeoParaSGATransform\fP\fP classes. .PP -Definition at line 20 of file peoTransform.h. +Definition at line 48 of file peoTransform.h. .SH "Author" .PP -Generated automatically by Doxygen for ParadisEO-PEO from the source code. +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/src/peo b/trunk/paradiseo-peo/src/peo index 27c7d0014..e55873115 100644 --- a/trunk/paradiseo-peo/src/peo +++ b/trunk/paradiseo-peo/src/peo @@ -1,9 +1,37 @@ -// "ParadisEO-PEO" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __peo_ diff --git a/trunk/paradiseo-peo/src/peo.h b/trunk/paradiseo-peo/src/peo.h index 42f50032b..db00f0e4a 100644 --- a/trunk/paradiseo-peo/src/peo.h +++ b/trunk/paradiseo-peo/src/peo.h @@ -1,9 +1,37 @@ -// "paradiseo.h" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __peo_h_ @@ -257,8 +285,37 @@ //! All the presented examples have as case study the traveling salesman problem (TSP). Different operators and auxiliary objects were designed, //! standing as a common shared source code base. While not being //! part of the ParadisEO-PEO framework, it may represent a startpoint for a better understanding of the presented tutorials. - - +//! +//! \section LICENCE +//! +//! +//!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 +//! #include "core/peo_init.h" #include "core/peo_run.h" diff --git a/trunk/paradiseo-peo/src/peoAggEvalFunc.h b/trunk/paradiseo-peo/src/peoAggEvalFunc.h index c7f492305..8727112d3 100644 --- a/trunk/paradiseo-peo/src/peoAggEvalFunc.h +++ b/trunk/paradiseo-peo/src/peoAggEvalFunc.h @@ -1,9 +1,37 @@ -// "peoAggEvalFunc.h" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __peoAggEvalFunc_h diff --git a/trunk/paradiseo-peo/src/peoAsyncIslandMig.h b/trunk/paradiseo-peo/src/peoAsyncIslandMig.h index 8c82e2f5f..a2dc1140e 100644 --- a/trunk/paradiseo-peo/src/peoAsyncIslandMig.h +++ b/trunk/paradiseo-peo/src/peoAsyncIslandMig.h @@ -1,9 +1,37 @@ -// "peoAsyncIslandMig.h" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __peoAsyncIslandMig_h diff --git a/trunk/paradiseo-peo/src/peoEA.h b/trunk/paradiseo-peo/src/peoEA.h index ad4d3710d..f55996577 100644 --- a/trunk/paradiseo-peo/src/peoEA.h +++ b/trunk/paradiseo-peo/src/peoEA.h @@ -1,9 +1,37 @@ -// "peoEA.h" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __peoEA_h diff --git a/trunk/paradiseo-peo/src/peoNoAggEvalFunc.h b/trunk/paradiseo-peo/src/peoNoAggEvalFunc.h index d3a701123..28d49db5f 100644 --- a/trunk/paradiseo-peo/src/peoNoAggEvalFunc.h +++ b/trunk/paradiseo-peo/src/peoNoAggEvalFunc.h @@ -1,9 +1,37 @@ -// "peoNoAggEvalFunc.h" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __peoNoAggEvalFunc_h diff --git a/trunk/paradiseo-peo/src/peoParaPopEval.h b/trunk/paradiseo-peo/src/peoParaPopEval.h index 4f9697802..dade642c7 100644 --- a/trunk/paradiseo-peo/src/peoParaPopEval.h +++ b/trunk/paradiseo-peo/src/peoParaPopEval.h @@ -1,9 +1,37 @@ -// "peoParaPopEval.h" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __peoParaPopEval_h diff --git a/trunk/paradiseo-peo/src/peoParaSGATransform.h b/trunk/paradiseo-peo/src/peoParaSGATransform.h index 6e64a25b2..68f503b8b 100644 --- a/trunk/paradiseo-peo/src/peoParaSGATransform.h +++ b/trunk/paradiseo-peo/src/peoParaSGATransform.h @@ -1,9 +1,37 @@ -// "peoParaSGATransform.h" - -//(c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __peoParaSGATransform_h diff --git a/trunk/paradiseo-peo/src/peoParallelAlgorithmWrapper.h b/trunk/paradiseo-peo/src/peoParallelAlgorithmWrapper.h index bd4311f63..64ebb6d05 100644 --- a/trunk/paradiseo-peo/src/peoParallelAlgorithmWrapper.h +++ b/trunk/paradiseo-peo/src/peoParallelAlgorithmWrapper.h @@ -1,9 +1,37 @@ -// "peoParallelAlgorithmWrapper.h" - -// (c) OPAC Team, LIFL, September 2007 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __peoParaAlgorithm_h diff --git a/trunk/paradiseo-peo/src/peoPopEval.h b/trunk/paradiseo-peo/src/peoPopEval.h index 440d638ae..316b8e122 100644 --- a/trunk/paradiseo-peo/src/peoPopEval.h +++ b/trunk/paradiseo-peo/src/peoPopEval.h @@ -1,9 +1,37 @@ -// "peoPopEval.h" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __peoPopEval_h diff --git a/trunk/paradiseo-peo/src/peoSeqPopEval.h b/trunk/paradiseo-peo/src/peoSeqPopEval.h index 769c4f891..2c118a945 100644 --- a/trunk/paradiseo-peo/src/peoSeqPopEval.h +++ b/trunk/paradiseo-peo/src/peoSeqPopEval.h @@ -1,9 +1,37 @@ -// "peoSeqPopEval.h" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __peoSeqPopEval_h diff --git a/trunk/paradiseo-peo/src/peoSeqTransform.h b/trunk/paradiseo-peo/src/peoSeqTransform.h index 6834f550d..981e8ac54 100644 --- a/trunk/paradiseo-peo/src/peoSeqTransform.h +++ b/trunk/paradiseo-peo/src/peoSeqTransform.h @@ -1,9 +1,37 @@ -// "peoSeqTransform.h" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __peoSeqTransform_h diff --git a/trunk/paradiseo-peo/src/peoSyncIslandMig.h b/trunk/paradiseo-peo/src/peoSyncIslandMig.h index a6b0b13b1..53f1215c6 100644 --- a/trunk/paradiseo-peo/src/peoSyncIslandMig.h +++ b/trunk/paradiseo-peo/src/peoSyncIslandMig.h @@ -1,9 +1,37 @@ -// "peoSyncIslandMig.h" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __peoSyncIslandMig_h diff --git a/trunk/paradiseo-peo/src/peoSyncMultiStart.h b/trunk/paradiseo-peo/src/peoSyncMultiStart.h index bfeb5aa6e..d0481ce76 100644 --- a/trunk/paradiseo-peo/src/peoSyncMultiStart.h +++ b/trunk/paradiseo-peo/src/peoSyncMultiStart.h @@ -1,9 +1,37 @@ -// "peoSyncMultiStart.h" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __peoSyncMultiStart_h diff --git a/trunk/paradiseo-peo/src/peoSynchronousMultiStart.h b/trunk/paradiseo-peo/src/peoSynchronousMultiStart.h index 7df3b27a0..580a2e61e 100644 --- a/trunk/paradiseo-peo/src/peoSynchronousMultiStart.h +++ b/trunk/paradiseo-peo/src/peoSynchronousMultiStart.h @@ -1,3 +1,38 @@ +/* +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __peoSynchronousMultiStart_h #define __peoSynchronousMultiStart_h diff --git a/trunk/paradiseo-peo/src/peoTransform.h b/trunk/paradiseo-peo/src/peoTransform.h index fd07f9d3a..710b0b974 100644 --- a/trunk/paradiseo-peo/src/peoTransform.h +++ b/trunk/paradiseo-peo/src/peoTransform.h @@ -1,9 +1,37 @@ -// "peoTransform.h" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __peoTransform_h diff --git a/trunk/paradiseo-peo/src/rmc/mpi/comm.cpp b/trunk/paradiseo-peo/src/rmc/mpi/comm.cpp index 1352c66fb..107d0666c 100644 --- a/trunk/paradiseo-peo/src/rmc/mpi/comm.cpp +++ b/trunk/paradiseo-peo/src/rmc/mpi/comm.cpp @@ -1,9 +1,37 @@ -// "comm.cpp" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ diff --git a/trunk/paradiseo-peo/src/rmc/mpi/comm.h b/trunk/paradiseo-peo/src/rmc/mpi/comm.h index 1ecf4b89a..5184d45f1 100644 --- a/trunk/paradiseo-peo/src/rmc/mpi/comm.h +++ b/trunk/paradiseo-peo/src/rmc/mpi/comm.h @@ -1,9 +1,37 @@ -// "comm.h" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __comm_mpi_h diff --git a/trunk/paradiseo-peo/src/rmc/mpi/coop.cpp b/trunk/paradiseo-peo/src/rmc/mpi/coop.cpp index f24ffea1c..b4b57d7ba 100644 --- a/trunk/paradiseo-peo/src/rmc/mpi/coop.cpp +++ b/trunk/paradiseo-peo/src/rmc/mpi/coop.cpp @@ -1,9 +1,37 @@ -// "coop.cpp" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include "../../core/cooperative.h" diff --git a/trunk/paradiseo-peo/src/rmc/mpi/mess.cpp b/trunk/paradiseo-peo/src/rmc/mpi/mess.cpp index 1ccedb51e..2352e45ba 100644 --- a/trunk/paradiseo-peo/src/rmc/mpi/mess.cpp +++ b/trunk/paradiseo-peo/src/rmc/mpi/mess.cpp @@ -1,9 +1,37 @@ -// "mess.cpp" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include diff --git a/trunk/paradiseo-peo/src/rmc/mpi/mess.h b/trunk/paradiseo-peo/src/rmc/mpi/mess.h index 6e40a154a..2fb9a59d1 100644 --- a/trunk/paradiseo-peo/src/rmc/mpi/mess.h +++ b/trunk/paradiseo-peo/src/rmc/mpi/mess.h @@ -1,9 +1,37 @@ -// "mess.h" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __mess_rmc_h diff --git a/trunk/paradiseo-peo/src/rmc/mpi/node.cpp b/trunk/paradiseo-peo/src/rmc/mpi/node.cpp index b17b032bf..dcd156781 100644 --- a/trunk/paradiseo-peo/src/rmc/mpi/node.cpp +++ b/trunk/paradiseo-peo/src/rmc/mpi/node.cpp @@ -1,9 +1,37 @@ -// "node.cpp" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include diff --git a/trunk/paradiseo-peo/src/rmc/mpi/node.h b/trunk/paradiseo-peo/src/rmc/mpi/node.h index 3fc345c8d..76babf5b7 100644 --- a/trunk/paradiseo-peo/src/rmc/mpi/node.h +++ b/trunk/paradiseo-peo/src/rmc/mpi/node.h @@ -1,9 +1,37 @@ -// "node.h" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __node_h diff --git a/trunk/paradiseo-peo/src/rmc/mpi/param.cpp b/trunk/paradiseo-peo/src/rmc/mpi/param.cpp index 22d387ad0..821e58179 100644 --- a/trunk/paradiseo-peo/src/rmc/mpi/param.cpp +++ b/trunk/paradiseo-peo/src/rmc/mpi/param.cpp @@ -1,9 +1,37 @@ -// "param.cpp" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include diff --git a/trunk/paradiseo-peo/src/rmc/mpi/param.h b/trunk/paradiseo-peo/src/rmc/mpi/param.h index 9fdc99e59..b868a1db7 100644 --- a/trunk/paradiseo-peo/src/rmc/mpi/param.h +++ b/trunk/paradiseo-peo/src/rmc/mpi/param.h @@ -1,9 +1,37 @@ -// "param.h" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __rmc_param_h diff --git a/trunk/paradiseo-peo/src/rmc/mpi/recv.cpp b/trunk/paradiseo-peo/src/rmc/mpi/recv.cpp index a2d12795c..39b98fd79 100644 --- a/trunk/paradiseo-peo/src/rmc/mpi/recv.cpp +++ b/trunk/paradiseo-peo/src/rmc/mpi/recv.cpp @@ -1,9 +1,37 @@ -// "recv.cpp" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include "comm.h" diff --git a/trunk/paradiseo-peo/src/rmc/mpi/recv.h b/trunk/paradiseo-peo/src/rmc/mpi/recv.h index 5832a7584..ad6eec330 100644 --- a/trunk/paradiseo-peo/src/rmc/mpi/recv.h +++ b/trunk/paradiseo-peo/src/rmc/mpi/recv.h @@ -1,9 +1,37 @@ -// "recv.h" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __recv_h diff --git a/trunk/paradiseo-peo/src/rmc/mpi/rmc.cpp b/trunk/paradiseo-peo/src/rmc/mpi/rmc.cpp index 5730f837f..21473a057 100644 --- a/trunk/paradiseo-peo/src/rmc/mpi/rmc.cpp +++ b/trunk/paradiseo-peo/src/rmc/mpi/rmc.cpp @@ -1,9 +1,37 @@ -// "rmc.cpp" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include "send.h" diff --git a/trunk/paradiseo-peo/src/rmc/mpi/runner.cpp b/trunk/paradiseo-peo/src/rmc/mpi/runner.cpp index 7fe7673e0..2b844a2aa 100644 --- a/trunk/paradiseo-peo/src/rmc/mpi/runner.cpp +++ b/trunk/paradiseo-peo/src/rmc/mpi/runner.cpp @@ -1,9 +1,37 @@ -// "runner.cpp" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include "../../core/messaging.h" diff --git a/trunk/paradiseo-peo/src/rmc/mpi/scheduler.cpp b/trunk/paradiseo-peo/src/rmc/mpi/scheduler.cpp index 40de0e3f7..aef662050 100644 --- a/trunk/paradiseo-peo/src/rmc/mpi/scheduler.cpp +++ b/trunk/paradiseo-peo/src/rmc/mpi/scheduler.cpp @@ -1,9 +1,37 @@ -// "sched_thread.cpp" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include diff --git a/trunk/paradiseo-peo/src/rmc/mpi/scheduler.h b/trunk/paradiseo-peo/src/rmc/mpi/scheduler.h index 2bae123ff..cbb61891a 100644 --- a/trunk/paradiseo-peo/src/rmc/mpi/scheduler.h +++ b/trunk/paradiseo-peo/src/rmc/mpi/scheduler.h @@ -1,9 +1,37 @@ -// "scheduler.h" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __scheduler_h diff --git a/trunk/paradiseo-peo/src/rmc/mpi/schema.cpp b/trunk/paradiseo-peo/src/rmc/mpi/schema.cpp index fa202b462..56736ec7a 100644 --- a/trunk/paradiseo-peo/src/rmc/mpi/schema.cpp +++ b/trunk/paradiseo-peo/src/rmc/mpi/schema.cpp @@ -1,9 +1,37 @@ -// "schema.cpp" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include diff --git a/trunk/paradiseo-peo/src/rmc/mpi/schema.h b/trunk/paradiseo-peo/src/rmc/mpi/schema.h index 4a16ce15e..5982bf41b 100644 --- a/trunk/paradiseo-peo/src/rmc/mpi/schema.h +++ b/trunk/paradiseo-peo/src/rmc/mpi/schema.h @@ -1,9 +1,37 @@ -// "schema.h" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __schema_h diff --git a/trunk/paradiseo-peo/src/rmc/mpi/send.cpp b/trunk/paradiseo-peo/src/rmc/mpi/send.cpp index a6c7288af..f2209884b 100644 --- a/trunk/paradiseo-peo/src/rmc/mpi/send.cpp +++ b/trunk/paradiseo-peo/src/rmc/mpi/send.cpp @@ -1,9 +1,37 @@ -// "send.cpp" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include diff --git a/trunk/paradiseo-peo/src/rmc/mpi/send.h b/trunk/paradiseo-peo/src/rmc/mpi/send.h index ddf264440..b1bdc2300 100644 --- a/trunk/paradiseo-peo/src/rmc/mpi/send.h +++ b/trunk/paradiseo-peo/src/rmc/mpi/send.h @@ -1,9 +1,37 @@ -// "send.h" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __send_h diff --git a/trunk/paradiseo-peo/src/rmc/mpi/service.cpp b/trunk/paradiseo-peo/src/rmc/mpi/service.cpp index 93647f035..f26f70b3d 100644 --- a/trunk/paradiseo-peo/src/rmc/mpi/service.cpp +++ b/trunk/paradiseo-peo/src/rmc/mpi/service.cpp @@ -1,9 +1,37 @@ -// "service.h" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include "../../core/service.h" diff --git a/trunk/paradiseo-peo/src/rmc/mpi/tags.h b/trunk/paradiseo-peo/src/rmc/mpi/tags.h index ce29a7b80..3e4e15009 100644 --- a/trunk/paradiseo-peo/src/rmc/mpi/tags.h +++ b/trunk/paradiseo-peo/src/rmc/mpi/tags.h @@ -1,9 +1,37 @@ -// "tags.h" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __tags_h diff --git a/trunk/paradiseo-peo/src/rmc/mpi/worker.cpp b/trunk/paradiseo-peo/src/rmc/mpi/worker.cpp index 3fc4218e1..53ad72925 100644 --- a/trunk/paradiseo-peo/src/rmc/mpi/worker.cpp +++ b/trunk/paradiseo-peo/src/rmc/mpi/worker.cpp @@ -1,9 +1,37 @@ -// "worker.cpp" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include diff --git a/trunk/paradiseo-peo/src/rmc/mpi/worker.h b/trunk/paradiseo-peo/src/rmc/mpi/worker.h index e47d5cc35..43c4ec62c 100644 --- a/trunk/paradiseo-peo/src/rmc/mpi/worker.h +++ b/trunk/paradiseo-peo/src/rmc/mpi/worker.h @@ -1,9 +1,37 @@ -// "worker.h" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __worker_h diff --git a/trunk/paradiseo-peo/src/rmc/mpi/xml_parser.cpp b/trunk/paradiseo-peo/src/rmc/mpi/xml_parser.cpp index 75436c477..1f044ba90 100644 --- a/trunk/paradiseo-peo/src/rmc/mpi/xml_parser.cpp +++ b/trunk/paradiseo-peo/src/rmc/mpi/xml_parser.cpp @@ -1,9 +1,37 @@ -// "xml_parser.h" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include diff --git a/trunk/paradiseo-peo/src/rmc/mpi/xml_parser.h b/trunk/paradiseo-peo/src/rmc/mpi/xml_parser.h index 169bb0288..b54fbeed9 100644 --- a/trunk/paradiseo-peo/src/rmc/mpi/xml_parser.h +++ b/trunk/paradiseo-peo/src/rmc/mpi/xml_parser.h @@ -1,9 +1,37 @@ -// "xml_parser.h" - -// (c) OPAC Team, LIFL, August 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __xml_parser_h diff --git a/trunk/paradiseo-peo/test/t-peo.cpp b/trunk/paradiseo-peo/test/t-peo.cpp index bab79d559..2772a1fe0 100644 --- a/trunk/paradiseo-peo/test/t-peo.cpp +++ b/trunk/paradiseo-peo/test/t-peo.cpp @@ -1,3 +1,38 @@ +/* +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* +*/ //----------------------------------------------------------------------------- // t-peo.cpp //----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-peo/tutorial/CMakeLists.txt b/trunk/paradiseo-peo/tutorial/CMakeLists.txt index 7fb11f7d1..00c6290e5 100644 --- a/trunk/paradiseo-peo/tutorial/CMakeLists.txt +++ b/trunk/paradiseo-peo/tutorial/CMakeLists.txt @@ -11,6 +11,6 @@ SET(TSP_BINARY_DIR ${ParadisEO-PEO_BINARY_DIR}/tutorial/examples/tsp) ### 2) Where must cmake go now ? ###################################################################################### -SUBDIRS(examples Lesson1 Lesson2 Lesson3 LessonParallelAlgorithm Walkthrough) +SUBDIRS(examples Lesson1 Lesson2 Lesson3 Walkthrough) ###################################################################################### diff --git a/trunk/paradiseo-peo/tutorial/Lesson1/main.cpp b/trunk/paradiseo-peo/tutorial/Lesson1/main.cpp index 858aa2ce5..4137b97fb 100644 --- a/trunk/paradiseo-peo/tutorial/Lesson1/main.cpp +++ b/trunk/paradiseo-peo/tutorial/Lesson1/main.cpp @@ -1,9 +1,37 @@ -// "main.cpp" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include "route.h" diff --git a/trunk/paradiseo-peo/tutorial/Lesson2/main.cpp b/trunk/paradiseo-peo/tutorial/Lesson2/main.cpp index b30b647e0..57321420a 100644 --- a/trunk/paradiseo-peo/tutorial/Lesson2/main.cpp +++ b/trunk/paradiseo-peo/tutorial/Lesson2/main.cpp @@ -1,9 +1,37 @@ -// "main.cpp" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include "route.h" diff --git a/trunk/paradiseo-peo/tutorial/Lesson3/main.cpp b/trunk/paradiseo-peo/tutorial/Lesson3/main.cpp index 9970e867b..3776baa37 100644 --- a/trunk/paradiseo-peo/tutorial/Lesson3/main.cpp +++ b/trunk/paradiseo-peo/tutorial/Lesson3/main.cpp @@ -1,9 +1,37 @@ -// "main.cpp" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include "route.h" diff --git a/trunk/paradiseo-peo/tutorial/Walkthrough/exampleA.cpp b/trunk/paradiseo-peo/tutorial/Walkthrough/exampleA.cpp index 6a41143e2..22a71196e 100644 --- a/trunk/paradiseo-peo/tutorial/Walkthrough/exampleA.cpp +++ b/trunk/paradiseo-peo/tutorial/Walkthrough/exampleA.cpp @@ -1,3 +1,38 @@ +/* +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* +*/ // (c) OPAC Team, LIFL, July 2007 // // Contact: paradiseo-help@lists.gforge.inria.fr diff --git a/trunk/paradiseo-peo/tutorial/Walkthrough/exampleB.cpp b/trunk/paradiseo-peo/tutorial/Walkthrough/exampleB.cpp index 0bc08a2f4..e5a5a6039 100644 --- a/trunk/paradiseo-peo/tutorial/Walkthrough/exampleB.cpp +++ b/trunk/paradiseo-peo/tutorial/Walkthrough/exampleB.cpp @@ -1,3 +1,38 @@ +/* +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* +*/ // (c) OPAC Team, LIFL, July 2007 // // Contact: paradiseo-help@lists.gforge.inria.fr diff --git a/trunk/paradiseo-peo/tutorial/Walkthrough/exampleC.cpp b/trunk/paradiseo-peo/tutorial/Walkthrough/exampleC.cpp index d0429775b..7676ac577 100644 --- a/trunk/paradiseo-peo/tutorial/Walkthrough/exampleC.cpp +++ b/trunk/paradiseo-peo/tutorial/Walkthrough/exampleC.cpp @@ -1,3 +1,38 @@ +/* +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* +*/ // (c) OPAC Team, LIFL, July 2007 // // Contact: paradiseo-help@lists.gforge.inria.fr diff --git a/trunk/paradiseo-peo/tutorial/Walkthrough/exampleD.cpp b/trunk/paradiseo-peo/tutorial/Walkthrough/exampleD.cpp index 8d29d543e..5e2c17271 100644 --- a/trunk/paradiseo-peo/tutorial/Walkthrough/exampleD.cpp +++ b/trunk/paradiseo-peo/tutorial/Walkthrough/exampleD.cpp @@ -1,3 +1,38 @@ +/* +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* +*/ // (c) OPAC Team, LIFL, July 2007 // // Contact: paradiseo-help@lists.gforge.inria.fr diff --git a/trunk/paradiseo-peo/tutorial/Walkthrough/exampleE.cpp b/trunk/paradiseo-peo/tutorial/Walkthrough/exampleE.cpp index 33e65fb01..0812ce9f5 100644 --- a/trunk/paradiseo-peo/tutorial/Walkthrough/exampleE.cpp +++ b/trunk/paradiseo-peo/tutorial/Walkthrough/exampleE.cpp @@ -1,3 +1,38 @@ +/* +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* +*/ // (c) OPAC Team, LIFL, July 2007 // // Contact: paradiseo-help@lists.gforge.inria.fr diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/city_swap.cpp b/trunk/paradiseo-peo/tutorial/examples/tsp/city_swap.cpp index cf5afae8a..4cf961da5 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/city_swap.cpp +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/city_swap.cpp @@ -1,9 +1,37 @@ -// "city_swap.cpp" - -// (c) OPAC Team, LIFL, 2002 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/city_swap.h b/trunk/paradiseo-peo/tutorial/examples/tsp/city_swap.h index cd7a6aaaf..8a0756968 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/city_swap.h +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/city_swap.h @@ -1,9 +1,37 @@ -// "city_swap.h" - -// (c) OPAC Team, LIFL, 2002 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 city_swap_h diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/data.cpp b/trunk/paradiseo-peo/tutorial/examples/tsp/data.cpp index 415c30aa1..4bbdd1a96 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/data.cpp +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/data.cpp @@ -1,9 +1,37 @@ -// "data.cpp" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/data.h b/trunk/paradiseo-peo/tutorial/examples/tsp/data.h index c00c6edfb..2ec56fdd4 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/data.h +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/data.h @@ -1,9 +1,37 @@ -// "data.h" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __data_h diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/display.cpp b/trunk/paradiseo-peo/tutorial/examples/tsp/display.cpp index 0fbaad4b2..69ebfaf9d 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/display.cpp +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/display.cpp @@ -1,9 +1,37 @@ -// "display.cpp" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/display.h b/trunk/paradiseo-peo/tutorial/examples/tsp/display.h index f534943d6..b39c307ca 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/display.h +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/display.h @@ -1,9 +1,37 @@ -// "display.h" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __display_h diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/display_best_route.cpp b/trunk/paradiseo-peo/tutorial/examples/tsp/display_best_route.cpp index 14b1ba0a3..6bbe6630d 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/display_best_route.cpp +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/display_best_route.cpp @@ -1,9 +1,37 @@ -// "display_best_route.cpp" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include "display_best_route.h" diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/display_best_route.h b/trunk/paradiseo-peo/tutorial/examples/tsp/display_best_route.h index 5571c35be..734f8a855 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/display_best_route.h +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/display_best_route.h @@ -1,9 +1,37 @@ -// "display_best_route.h" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __display_best_route_h diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/edge_xover.cpp b/trunk/paradiseo-peo/tutorial/examples/tsp/edge_xover.cpp index 441262e26..a2dac3a9a 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/edge_xover.cpp +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/edge_xover.cpp @@ -1,9 +1,37 @@ -// "edge_xover.cpp" - -// (c) OPAC Team, LIFL, 2003 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/edge_xover.h b/trunk/paradiseo-peo/tutorial/examples/tsp/edge_xover.h index e8bb1f063..75d91a22e 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/edge_xover.h +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/edge_xover.h @@ -1,9 +1,37 @@ -// "edge_xover.h" - -// (c) OPAC Team, LIFL, 2003 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 edge_xover_h diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/merge_route_eval.cpp b/trunk/paradiseo-peo/tutorial/examples/tsp/merge_route_eval.cpp index 1c0d66870..dc005214b 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/merge_route_eval.cpp +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/merge_route_eval.cpp @@ -1,9 +1,37 @@ -// "merge_route_eval.cpp" - -// (c) OPAC Team, LIFL, 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include "merge_route_eval.h" diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/merge_route_eval.h b/trunk/paradiseo-peo/tutorial/examples/tsp/merge_route_eval.h index dd4a9534d..78c7b8a65 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/merge_route_eval.h +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/merge_route_eval.h @@ -1,9 +1,37 @@ -// "merge_route_eval.h" - -// (c) OPAC Team, LIFL, 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __merge_route_eval_h diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/mix.h b/trunk/paradiseo-peo/tutorial/examples/tsp/mix.h index ce5d9bf9e..ce6e31a26 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/mix.h +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/mix.h @@ -1,10 +1,37 @@ - - /* - file: 'mix.h' - author: S. CAHON - mail: paradiseo-help@lists.gforge.inria.fr - date: dec. 2005 +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __mix_h diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/node.cpp b/trunk/paradiseo-peo/tutorial/examples/tsp/node.cpp index cf0c0f523..48f76484d 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/node.cpp +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/node.cpp @@ -1,9 +1,37 @@ -// "node.cpp" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/node.h b/trunk/paradiseo-peo/tutorial/examples/tsp/node.h index fe735361a..bbc68c7f6 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/node.h +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/node.h @@ -1,9 +1,37 @@ -// "node.h" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __node_h diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/opt_route.cpp b/trunk/paradiseo-peo/tutorial/examples/tsp/opt_route.cpp index 2ee739358..a8f85e3a1 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/opt_route.cpp +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/opt_route.cpp @@ -1,9 +1,37 @@ -// "opt_route.cpp" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include "opt_route.h" diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/opt_route.h b/trunk/paradiseo-peo/tutorial/examples/tsp/opt_route.h index 52df469de..8a5767285 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/opt_route.h +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/opt_route.h @@ -1,9 +1,37 @@ -// "opt_route.h" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __opt_route_h diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/order_xover.cpp b/trunk/paradiseo-peo/tutorial/examples/tsp/order_xover.cpp index 5f8b3ba65..f69eaff30 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/order_xover.cpp +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/order_xover.cpp @@ -1,9 +1,37 @@ -// "order_xover.cpp" - -// (c) OPAC Team, LIFL, 2002 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/order_xover.h b/trunk/paradiseo-peo/tutorial/examples/tsp/order_xover.h index 9fc1907d8..bd14f5a50 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/order_xover.h +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/order_xover.h @@ -1,9 +1,37 @@ -// "order_xover.h" - -// (c) OPAC Team, LIFL, 2003 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 order_xover_h diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/param.cpp b/trunk/paradiseo-peo/tutorial/examples/tsp/param.cpp index ba41c71d3..92dc5f256 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/param.cpp +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/param.cpp @@ -1,9 +1,37 @@ -// "param.cpp" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/param.h b/trunk/paradiseo-peo/tutorial/examples/tsp/param.h index ee21bf4d8..25b981696 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/param.h +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/param.h @@ -1,9 +1,37 @@ -// "param.h" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __param_h diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/part_route_eval.cpp b/trunk/paradiseo-peo/tutorial/examples/tsp/part_route_eval.cpp index e2d362230..d78c6c6e7 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/part_route_eval.cpp +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/part_route_eval.cpp @@ -1,9 +1,37 @@ -// "part_route_eval.cpp" - -// (c) OPAC Team, LIFL, 2003 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include "part_route_eval.h" diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/part_route_eval.h b/trunk/paradiseo-peo/tutorial/examples/tsp/part_route_eval.h index 891737760..8d144555d 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/part_route_eval.h +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/part_route_eval.h @@ -1,9 +1,37 @@ -// "part_route_eval.h" - -// (c) OPAC Team, LIFL, 2005 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __part_route_eval_h diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/partial_mapped_xover.cpp b/trunk/paradiseo-peo/tutorial/examples/tsp/partial_mapped_xover.cpp index 1ad819a2d..8c37ad6a0 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/partial_mapped_xover.cpp +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/partial_mapped_xover.cpp @@ -1,9 +1,37 @@ -// "partial_mapped_xover.cpp" - -// (c) OPAC Team, LIFL, 2003 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/partial_mapped_xover.h b/trunk/paradiseo-peo/tutorial/examples/tsp/partial_mapped_xover.h index 0c08531be..e3ff29ad7 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/partial_mapped_xover.h +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/partial_mapped_xover.h @@ -1,9 +1,37 @@ -// "partial_mapped_xover.h" - -// (c) OPAC Team, LIFL, 2003 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 partial_mapped_xover_h diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/route.cpp b/trunk/paradiseo-peo/tutorial/examples/tsp/route.cpp index eea64ab51..73a035539 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/route.cpp +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/route.cpp @@ -1,9 +1,37 @@ -// "route.cpp" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include "route.h" diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/route.h b/trunk/paradiseo-peo/tutorial/examples/tsp/route.h index 0ba026675..13071e2ec 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/route.h +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/route.h @@ -1,9 +1,37 @@ -// "route.h" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __route_h diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/route_eval.cpp b/trunk/paradiseo-peo/tutorial/examples/tsp/route_eval.cpp index f654ed4d3..58309465d 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/route_eval.cpp +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/route_eval.cpp @@ -1,9 +1,37 @@ -// "route_eval.cpp" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include "route_eval.h" diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/route_eval.h b/trunk/paradiseo-peo/tutorial/examples/tsp/route_eval.h index 295f9a39b..5e79b7b9f 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/route_eval.h +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/route_eval.h @@ -1,9 +1,37 @@ -// "route_eval.h" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __route_eval_h diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/route_init.cpp b/trunk/paradiseo-peo/tutorial/examples/tsp/route_init.cpp index 93733f210..6e611d76e 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/route_init.cpp +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/route_init.cpp @@ -1,9 +1,37 @@ -// "route_init.cpp" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/route_init.h b/trunk/paradiseo-peo/tutorial/examples/tsp/route_init.h index 937b38265..b5311b1f7 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/route_init.h +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/route_init.h @@ -1,9 +1,37 @@ -// "route_init.h" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __route_init_h diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt.cpp b/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt.cpp index 8852ff910..f149b6de1 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt.cpp +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt.cpp @@ -1,9 +1,37 @@ -// "two_opt.cpp" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include "two_opt.h" diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt.h b/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt.h index 0989f5e6e..5c9e985ea 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt.h +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt.h @@ -1,9 +1,37 @@ -// "two_opt.h" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __two_opt_h diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_incr_eval.cpp b/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_incr_eval.cpp index b3985f66e..60be43d9f 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_incr_eval.cpp +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_incr_eval.cpp @@ -1,9 +1,37 @@ -// "TwoOptIncrEval.cpp" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include "two_opt_incr_eval.h" diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_incr_eval.h b/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_incr_eval.h index 5f88496ed..7cce92aa7 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_incr_eval.h +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_incr_eval.h @@ -1,9 +1,37 @@ -// "TwoOptIncrEval.h" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __two_opt_incr_eval_h diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_init.cpp b/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_init.cpp index e19abc467..862b5236e 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_init.cpp +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_init.cpp @@ -1,9 +1,37 @@ -// "two_opt_init.cpp" - -// (c) OPAC Team, LIFL, 2003 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include "two_opt_init.h" diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_init.h b/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_init.h index 9b4dd0bad..fc290b4f8 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_init.h +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_init.h @@ -1,9 +1,37 @@ -// "two_opt_init.h" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __two_opt_init_h diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_next.cpp b/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_next.cpp index 9b7f8be16..a80e973be 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_next.cpp +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_next.cpp @@ -1,9 +1,37 @@ -// "two_opt_next.cpp" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include "two_opt_next.h" diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_next.h b/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_next.h index cd6605a8d..09844b8c4 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_next.h +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_next.h @@ -1,9 +1,37 @@ -// "two_opt_next.h" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __two_opt_next_h diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_rand.cpp b/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_rand.cpp index 69d64879b..9fa9270c8 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_rand.cpp +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_rand.cpp @@ -1,9 +1,37 @@ -// "two_opt_rand.cpp" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 +* */ #include diff --git a/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_rand.h b/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_rand.h index 44f602b53..c2cac3a7b 100644 --- a/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_rand.h +++ b/trunk/paradiseo-peo/tutorial/examples/tsp/two_opt_rand.h @@ -1,9 +1,37 @@ -// "two_opt_rand.h" - -// (c) OPAC Team, LIFL, January 2006 - /* - Contact: paradiseo-help@lists.gforge.inria.fr +* +* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +* (C) OPAC Team, LIFL, 2002-2007 +* +* Sebastien Cahon, Alexandru-Adrian Tantar +* +* 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 __two_opt_rand_h