/*************************************************************************************************************************************/ /* */ /* T E S T D U P A R A L L E L I S M E A S Y N C H R O N E : */ /* */ /* */ /* Author of '$xtKg/parallele.01$K' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 1987??????????). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* I N T E R F A C E ' listG ' : */ /* */ /* */ /* :Debut_listG: */ /* :Fin_listG: */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* D I R E C T I V E S S P E C I F I Q U E S D E C O M P I L A T I O N : */ /* */ /*************************************************************************************************************************************/ @define PRAGMA_CPP_____MODULE_NON_DERIVABLE /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* F I C H I E R S D ' I N C L U D E S : */ /* */ /*************************************************************************************************************************************/ #include INCLUDES_BASE /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* P A R A M E T R E S : */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* F O N C T I O N A R B I T R A I R E : */ /* */ /*************************************************************************************************************************************/ BFonctionI #define NOMBRE_DE_TOURS \ PARE(40) DEFV(Local,DEFV(FonctionI,fonction())) /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock INIT_ERROR; DEFV(Int,INIT(numero,ZERO)); /* Numero d'iteration. */ /*..............................................................................................................................*/ DoIn(numero,W,NOMBRE_DE_TOURS,I) Bblock CAL2(Prin0("impression asynchrone dans une fonction parallele au programme principal\n")); Eblock EDoI RETU_ERROR; Eblock EFonctionI /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* T E S T D U P A R A L L E L I S M E A S Y N C H R O N E : */ /* */ /*************************************************************************************************************************************/ BCommande(nombre_d_arguments,arguments) /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock DEFV(processus,identificateur); /* Identificateur du processus fils. */ DEFV(Int,INIT(numero,ZERO)); /* Numero d'iteration. */ /*..............................................................................................................................*/ GET_ARGUMENTS_(nombre_d_arguments ,BLOC(VIDE;) ); iPARALLELE(fonction(),identificateur); DoIn(numero,W,NOMBRE_DE_TOURS,I) Bblock CAL2(Prin0("impression asynchrone dans le programme principal\n")); Eblock EDoI RETU_Commande; Eblock ECommande