/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*       M O D E L E   B I D I M E N S I O N N E L   D E   C O T E S   A V E C   E R O S I O N  :                                    */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xci/CoastL_2D.11$K' :                                                                                          */
/*                                                                                                                                   */
/*                    Jean-Francois COLONNA (LACTAMME, 20011204143305).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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_____POUR_LES_Istore_Iupdate_NE_PAS_VERIFIER_LES_MULTIPLES_UTILISATIONS_DE_L_IMAGE_____IFmageR
                                        /* Introduit le 20060124130301.                                                              */

@define   PRAGMA_CL_____MODULE_NON_OPTIMISABLE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        F I C H I E R S   D ' I N C L U D E S  :                                                                                   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  INCLUDES_BASE
#include  image_image_IMAGESF_EXT

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        P A R A M E T R E S  :                                                                                                     */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  xci/sequence.01.I"

#define   EDITER_LES_PARAMETRES_DU_NOYAU                                                                                                \
                    FAUX                                                                                                                \
                                        /* Faut-il editer les parametres du noyau et sortir immediatement ('VRAI') ou exploiter      */ \
                                        /* le modele d'erosion de cotes bidimensionnel ('FAUX') ?                                    */
#define   LISTER_LE_CONTENU_DU_NOYAU                                                                                                    \
                    FAUX                                                                                                                \
                                        /* Faut-il lister le contenu du noyau ('VRAI') ou pas ('FAUX') ?                             */

#define   GENERER_LES_CONDITIONS_INITIALES                                                                                              \
                    VRAI                                                                                                                \
                                        /* Doit-on generer les conditions initiales en tant que premiere image ('VRAI') ou bien      */ \
                                        /* le premier resultat du modele ('FAUX') ?                                                  */

#define   IMPOSER_LES_EXTREMA_DES_CONDITIONS_INITIALES                                                                                  \
                    FAUX
#define   MINIMUM_IMPOSE_POUR_LES_CONDITIONS_INITIALES                                                                                  \
                    NIVEAU_DE_LA_TERRE_DANS_Ierode__CoastLines_2D
#define   MAXIMUM_IMPOSE_POUR_LES_CONDITIONS_INITIALES                                                                                  \
                    NIVEAU_DE_LA___MER_DANS_Ierode__CoastLines_2D
                                        /* Faut-il imposer ('VRAI') ou pas ('FAUX') les extrema des conditions initiales, et si      */
                                        /* 'IL_FAUT(imposer_les_extrema_des_conditions_initiales)', valeurs implicites ?             */
#define   EDITER_LES_EXTREMA_DES_CONDITIONS_INITIALES                                                                                   \
                    FAUX                                                                                                                \
                                        /* Faut-il editer les extrema des des conditions initiales, ('VRAI') ou pas ('FAUX') ?       */

#define   NOMBRE_D_ITERATIONS                                                                                                           \
                    UN                                                                                                                  \
                                        /* Nombre d'iterations.                                                                      */
#define   ALLER_PLUTOT_D_ALTERNANCES_EN_ALTERNANCES                                                                                     \
                    FAUX                                                                                                                \
                                        /* Effectuer un nombre d'iterations donne a l'avance ('FAUX') ou bien aller d'alternance     */ \
                                        /* ("erosion-affaiblissement") en alternance ('VRAI') ?                                      */

#define   DECREMENTER_LE_MARQUEUR_DES_POINTS_ERODES_APRES_L_EROSION                                                                     \
                    VRAI                                                                                                                \
                                        /* Pour decrementer 'Ierode__CoastLines_2D_____marqueur_des_points_erodes' apres chaque      */ \
                                        /* iteration ('VRAI') ou avant ('FAUX'). En decrementant avant, on garantit ainsi que le     */ \
                                        /* niveau de marquage de la mer est strictement superieur a celui de la cote. Ceci a ete     */ \
                                        /* introduit le 20040909133200...                                                            */
#define   DECREMENT_DU_MARQUEUR_DES_POINTS_ERODES                                                                                       \
                    FZERO                                                                                                               \
                                        /* Decrement de 'Ierode__CoastLines_2D_____marqueur_des_points_erodes' avant ou apres        */ \
                                        /* chaque iteration...                                                                       */

#define   TAUX_D_AFFAIBLISSEMENT_DE_LA_DURETE_DE_LA_TERRE                                                                               \
                    GRO5(FRA10(FRA10(FRA10(FU))))                                                                                       \
                                        /* Taux d'affaiblissement de la durete de la terre.                                          */
#define   FACTEUR_D_ANTI_CORROSITE_DE_LA_MER                                                                                            \
                    GRO5(FRA10(FU))                                                                                                     \
                                        /* Facteur d'anti-corrosite de la mer.                                                       */

#define   EDITER_LES_ALTERNANCES_D_EROSION_ET_D_AFFAIBLISSEMENT_DE_LA_TERRE                                                             \
                    FAUX                                                                                                                \
                                        /* Faut-il editer les alternances d'erosion et d'affaiblissement de la terre ('VRAI') ou     */ \
                                        /* pas ('FAUX') ?                                                                            */
#define   ALTERNER_L_EROSION_ET_L_AFFAIBLISSEMENT_DE_LA_TERRE                                                                           \
                    FAUX                                                                                                                \
                                        /* Faut-il alterner l'erosion et l'affaiblissement de la terre ('VRAI') ou bien faire les    */ \
                                        /* deux en meme temps ('FAUX') ?                                                             */
#define   FAIRE_EROSION_ET_AFFAIBLISSEMENT_DE_LA_TERRE_EN_CAS_D_ALTERNANCE                                                              \
                    FAUX                                                                                                                \
                                        /* Si 'IL_FAUT(alterner_l_erosion_et_l_affaiblissement_de_la_terre)' peut-on, au moment de   */ \
                                        /* l'alternance, faire simultanement de l'erosion et de l'affaiblissement de la terre        */ \
                                        /* ('VRAI') ou pas ('FAUX') ?                                                                */

#define   EDITER_LA_LONGUEUR_DE_LA_COTE_COURANTE                                                                                        \
                    FAUX                                                                                                                \
                                        /* Faut-il editer la longueur de la cote courante ('VRAI') ou pas ('FAUX') ?                 */
#define   NOMBRE_DE_CHIFFRES_A_EDITER                                                                                                   \
                    NOMBRE_DE_CHIFFRES                                                                                                  \
                                        /* Nombre de chiffres a editer pour les numeros d'image.                                     */

#define   CONVERTIR_EN_IMAGES_STANDARDS                                                                                                 \
                    VRAI                                                                                                                \
                                        /* Faut-il convertir les images Resultats en images standards ('VRAI') ou les laisser        */ \
                                        /* sous forme d'images flottantes ('FAUX') ?                                                 */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        M A C R O S   U T I L E S  :                                                                                               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  xci/Verhulst.01.I"
                                        /* Introduit le 20040916111805.                                                              */

#define   NOMBRE_DE_CHIFFRES_NECESSAIRES(dimension)                                                                                     \
                    ADD2(NOMBRE_DE_CHIFFRES_DECIMAUX(dimension),UN)                                                                     \
                                        /* Choix du nombre de chiffres necessaires pour editer une dimension. On notera qu'il y      */ \
                                        /* a deux 'TRPU(...)', le deuxieme etant destine au signe qui compte pour un caractere.      */ \
                                        /*                                                                                           */ \
                                        /* La procedure 'NOMBRE_DE_CHIFFRES_DECIMAUX(...)' fut introduite le 20051210182403. Les     */ \
                                        /* deux 'TRPU(...)' furent donc remplaces par 'un 'ADD2(...,UN)'...                          */

#define   DECREMENTATION_DU_MARQUEUR_DES_POINTS_ERODES(decrementer)                                                                     \
                    Bblock                                                                                                              \
                    Test(IL_FAUT(decrementer))                                                                                          \
                         Bblock                                                                                                         \
                         Test(IL_NE_FAUT_PAS(Ierode__CoastLines_2D_____marquer_les_points_erodes_avec_la_force))                        \
                              Bblock                                                                                                    \
                              DECR(Ierode__CoastLines_2D_____marqueur_des_points_erodes                                                 \
                                  ,decrement_du_marqueur_des_points_erodes                                                              \
                                   );                                                                                                   \
                                        /* Gestion du marqueur des points erodes lorsqu'il est utile...                              */ \
                              Eblock                                                                                                    \
                         ATes                                                                                                           \
                              Bblock                                                                                                    \
                              Eblock                                                                                                    \
                         ETes                                                                                                           \
                         Eblock                                                                                                         \
                    ATes                                                                                                                \
                         Bblock                                                                                                         \
                         Eblock                                                                                                         \
                    ETes                                                                                                                \
                    Eblock                                                                                                              \
                                        /* Decrementation du marqueur des points erodes.                                             */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*       M O D E L E   B I D I M E N S I O N N E L   D E   C O T E S   A V E C   E R O S I O N  :                                    */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     DEFV(CHAR,INIC(POINTERc(nom_imageR),NOM_PIPE));
     DEFV(CHAR,INIC(POINTERc(nom_imageA),NOM_PIPE));
     DEFV(CHAR,INIC(POINTERc(nom_imageN),NOM_PIPE));
     DEFV(CHAR,INIC(POINTERc(nom_imageD),NOM_PIPE));
     DEFV(CHAR,INIC(POINTERc(nom_imageC),NOM_PIPE));
     DEFV(CHAR,INIC(POINTERc(nom_imageF),NOM_PIPE));

     DEFV(Int,INIT(premiere_image,PREMIERE_IMAGE));
                                        /* Numero de la premiere image,                                                              */
     DEFV(Int,INIT(derniere_image,DERNIERE_IMAGE));
                                        /* Numero de la derniere image.                                                              */
     DEFV(Int,INIT(pas_des_images,PAS_DES_IMAGES));
                                        /* Pas de passage d'un numero d'image a une autre.                                           */
     DEFV(Int,INIT(nombre_de_chiffres,NOMBRE_DE_CHIFFRES));
                                        /* Nombre de chiffres codant le numero des images de la serie...                             */
     DEFV(Int,INIT(numero_d_image,UNDEF));
                                        /* Numero de l'image courante.                                                               */

     DEFV(Logical,INIT(editer_les_parametres_du_noyau,EDITER_LES_PARAMETRES_DU_NOYAU));
                                        /* Faut-il editer les parametres du noyau et sortir immediatement ('VRAI') ou exploiter      */
                                        /* le modele d'erosion de cotes bidimensionnel ('FAUX') ?                                    */
     DEFV(Logical,INIT(lister_le_contenu_du_noyau,LISTER_LE_CONTENU_DU_NOYAU));
                                        /* Faut-il lister le contenu du noyau ('VRAI') ou pas ('FAUX') ?                             */

     DEFV(Logical,INIT(generer_les_conditions_initiales,GENERER_LES_CONDITIONS_INITIALES));
                                        /* Doit-on generer les conditions initiales en tant que premiere image ('VRAI') ou bien      */
                                        /* le premier resultat du modele ('FAUX') ?                                                  */

     DEFV(Logical,INIT(imposer_les_extrema_des_conditions_initiales,IMPOSER_LES_EXTREMA_DES_CONDITIONS_INITIALES));
     DEFV(genere_Float,INIT(minimum_impose_pour_les_conditions_initiales,MINIMUM_IMPOSE_POUR_LES_CONDITIONS_INITIALES));
     DEFV(genere_Float,INIT(maximum_impose_pour_les_conditions_initiales,MAXIMUM_IMPOSE_POUR_LES_CONDITIONS_INITIALES));
                                        /* Faut-il imposer ('VRAI') ou pas ('FAUX') les extrema des conditions initiales, et si      */
                                        /* 'IL_FAUT(imposer_les_extrema_des_conditions_initiales)', valeurs implicites ?             */
     DEFV(Logical,INIT(editer_les_extrema_des_conditions_initiales,EDITER_LES_EXTREMA_DES_CONDITIONS_INITIALES));
                                        /* Faut-il editer les extrema des des conditions initiales, ('VRAI') ou pas ('FAUX') ?       */

     DEFV(Positive,INIT(nombre_d_iterations,NOMBRE_D_ITERATIONS));
                                        /* Nombre d'iterations.                                                                      */
     DEFV(Logical,INIT(aller_plutot_d_alternances_en_alternances,ALLER_PLUTOT_D_ALTERNANCES_EN_ALTERNANCES));
                                        /* Effectuer un nombre d'iterations donne a l'avance ('FAUX') ou bien aller d'alternance     */
                                        /* ("erosion-affaiblissement") en alternance ('VRAI') ?                                      */

     DEFV(Logical,INIT(decrementer_le_marqueur_des_points_erodes_apres_l_erosion
                      ,DECREMENTER_LE_MARQUEUR_DES_POINTS_ERODES_APRES_L_EROSION
                       )
          );
                                        /* Pour decrementer 'Ierode__CoastLines_2D_____marqueur_des_points_erodes' apres chaque      */
                                        /* iteration ('VRAI') ou avant ('FAUX'). En decrementant avant, on garantit ainsi que le     */
                                        /* niveau de marquage de la mer est strictement superieur a celui de la cote. Ceci a ete     */
                                        /* introduit le 20040909133200...                                                            */
     DEFV(Float,INIT(decrement_du_marqueur_des_points_erodes,DECREMENT_DU_MARQUEUR_DES_POINTS_ERODES));
                                        /* Decrement de 'Ierode__CoastLines_2D_____marqueur_des_points_erodes' avant ou apres        */
                                        /* chaque iteration...                                                                       */

     DEFV(Float,INIT(taux_d_affaiblissement_de_la_durete_de_la_terre,TAUX_D_AFFAIBLISSEMENT_DE_LA_DURETE_DE_LA_TERRE));
                                        /* Taux d'affaiblissement de la durete de la terre.                                          */
     DEFV(Float,INIT(facteur_d_anti_corrosite_de_la_mer,FACTEUR_D_ANTI_CORROSITE_DE_LA_MER));
                                        /* Facteur d'anti-corrosite de la mer. L'experience montre qu'une valeur faible (par exemple */
                                        /* 0.1) pour l'anti-corrosite de la mer favorise l'existence d'iles et de cotes d'apparence  */
                                        /* plus tourmentees, alors qu'une valeur elevee (par exemple 0.9) favorise l'absence d'iles  */
                                        /* et produit des cotes plus "simples"...                                                    */

     DEFV(Logical,INIT(editer_les_alternances_d_erosion_et_d_affaiblissement_de_la_terre
                      ,EDITER_LES_ALTERNANCES_D_EROSION_ET_D_AFFAIBLISSEMENT_DE_LA_TERRE
                       )
          );
                                        /* Faut-il editer les alternances d'erosion et d'affaiblissement de la terre ('VRAI') ou     */
                                        /* pas ('FAUX') ?                                                                            */
     DEFV(Logical,INIT(alterner_l_erosion_et_l_affaiblissement_de_la_terre
                      ,ALTERNER_L_EROSION_ET_L_AFFAIBLISSEMENT_DE_LA_TERRE
                       )
          );
                                        /* Faut-il alterner l'erosion et l'affaiblissement de la terre ('VRAI') ou bien faire les    */
                                        /* deux en meme temps ('FAUX') ?                                                             */
     DEFV(Logical,INIT(faire_erosion_et_affaiblissement_de_la_terre_en_cas_d_alternance
                      ,FAIRE_EROSION_ET_AFFAIBLISSEMENT_DE_LA_TERRE_EN_CAS_D_ALTERNANCE
                       )
          );
                                        /* Si 'IL_FAUT(alterner_l_erosion_et_l_affaiblissement_de_la_terre)' peut-on, au moment de   */
                                        /* l'alternance, faire simultanement de l'erosion et de l'affaiblissement de la terre        */
                                        /* ('VRAI') ou pas ('FAUX') ?                                                                */

     DEFV(Logical,INIT(editer_la_longueur_de_la_cote_courante,EDITER_LA_LONGUEUR_DE_LA_COTE_COURANTE));
                                        /* Faut-il editer la longueur de la cote courante ('VRAI') ou pas ('FAUX') ?                 */
     DEFV(Int,INIT(nombre_de_chiffres_a_editer,NOMBRE_DE_CHIFFRES_A_EDITER));
                                        /* Nombre de chiffres a editer pour les numeros.                                             */

     DEFV(Logical,INIT(convertir_en_images_standards,CONVERTIR_EN_IMAGES_STANDARDS));
                                        /* Faut-il convertir les images Resultats en images standards ('VRAI') ou les laisser        */
                                        /* sous forme d'images flottantes ('FAUX') ?                                                 */
     /*..............................................................................................................................*/
     GET_ARGUMENTSi(nombre_d_arguments
                   ,BLOC(GET_ARGUMENT_C("imageA=""A=",nom_imageA);
                         GET_ARGUMENT_C("imageN=""N=",nom_imageN);
                         GET_ARGUMENT_C("imageD=""D=",nom_imageD);
                         GET_ARGUMENT_C("imageC=""C=",nom_imageC);
                         GET_ARGUMENT_C("imageR=""R=",nom_imageR);
                         GET_ARGUMENT_C("imageF=""F=",nom_imageF);

                         GET_ARGUMENT_I("premiere=",premiere_image);
                         GET_ARGUMENT_I("derniere=",derniere_image);
                         GET_ARGUMENT_I("pas=",pas_des_images);
                         GET_ARGUMENT_I("chiffres=",nombre_de_chiffres);

                         GET_ARGUMENT_L("initiales=",generer_les_conditions_initiales);

                         GET_ARGUMENT_L("periodiser_X=""periodX=",Ierode__CoastLines_2D_____periodiser_X);
                         GET_ARGUMENT_L("periodiser_Y=""periodY=",Ierode__CoastLines_2D_____periodiser_Y);
                         GET_ARGUMENT_L("symetriser_X=""symetrX=",Ierode__CoastLines_2D_____symetriser_X);
                         GET_ARGUMENT_L("symetriser_Y=""symetrY=",Ierode__CoastLines_2D_____symetriser_Y);
                         GET_ARGUMENT_L("prolonger_X=""prolX=",Ierode__CoastLines_2D_____prolonger_X);
                         GET_ARGUMENT_L("prolonger_Y=""prolY=",Ierode__CoastLines_2D_____prolonger_Y);
                         GET_ARGUMENT_F("niveau_hors_image=""niveau=",Ierode__CoastLines_2D_____niveau_hors_image);

                         GET_ARGUMENT_L("imposer_extrema=""extrema=",imposer_les_extrema_des_conditions_initiales);
                         GET_ARGUMENT_F("minimum=",minimum_impose_pour_les_conditions_initiales);
                         GET_ARGUMENT_F("maximum=",maximum_impose_pour_les_conditions_initiales);
                         GET_ARGUMENT_L("editer_extrema=",editer_les_extrema_des_conditions_initiales);

                         GET_ARGUMENT_I("ni=""iterations=",nombre_d_iterations);
                                        /* Le 20050623140540, "n=" et "N=" ont ete remplaces par "ni=" (double definition...).       */
                         GET_ARGUMENT_L("iterations_variables=",aller_plutot_d_alternances_en_alternances);

                         GET_ARGUMENT_L("noyau=",Ierode__CoastLines_2D_____utiliser_un_noyau);
                         GET_ARGUMENT_I("demi_dimension=""dd=",Ierode__CoastLines_2D_____demi_dimension_effective_du_noyau);
                         GET_ARGUMENT_L("editer_noyau=",editer_les_parametres_du_noyau);
                         GET_ARGUMENT_L("lister_noyau=",lister_le_contenu_du_noyau);

                         GET_ARGUMENT_F("sX__Y=""sXY=",Ierode__CoastLines_2D_____ponderation_du_point_sX__Y);
                         GET_ARGUMENT_F("_X_sY=""XsY=",Ierode__CoastLines_2D_____ponderation_du_point__X_sY);
                         GET_ARGUMENT_F("pX__Y=""pXY=",Ierode__CoastLines_2D_____ponderation_du_point_pX__Y);
                         GET_ARGUMENT_F("_X_pY=""XpY=",Ierode__CoastLines_2D_____ponderation_du_point__X_pY);

                         GET_ARGUMENT_I("dx=""dX=",Ierode__CoastLines_2D_____delta_X);
                         GET_ARGUMENT_I("dy=""dY=",Ierode__CoastLines_2D_____delta_Y);

                         GET_ARGUMENT_L("global=",Ierode__CoastLines_2D_____utiliser_la_longueur_globale);
                         GET_ARGUMENT_I("ddx=""ddX="
                                       ,Ierode__CoastLines_2D_____demi_dimension_X_du_domaine_de_calcul_de_la_longueur_locale
                                        );
                         GET_ARGUMENT_I("ddy=""ddY="
                                       ,Ierode__CoastLines_2D_____demi_dimension_Y_du_domaine_de_calcul_de_la_longueur_locale
                                        );
                         GET_ARGUMENT_F("fad=""ad="
                                       ,Ierode__CoastLines_2D_____agrandissement_du_domaine_de_calcul_de_la_longueur_locale
                                        );

                         GET_ARGUMENT_F("amplificateur=",Ierode__CoastLines_2D_____amplificateur_de_la_force);
                         GET_ARGUMENT_L("force_locale=",Ierode__CoastLines_2D_____la_force_depend_du_niveau_local_de_la_mer);

                         GET_ARGUMENT_L("marquer_force=",Ierode__CoastLines_2D_____marquer_les_points_erodes_avec_la_force);
                         GET_ARGUMENT_F("points_erodes=""mpe=",Ierode__CoastLines_2D_____marqueur_des_points_erodes);
                         GET_ARGUMENT_L("decrementer_apres=""dap=",decrementer_le_marqueur_des_points_erodes_apres_l_erosion);
                         GET_ARGUMENT_N("decrementer_avant=""dav=",decrementer_le_marqueur_des_points_erodes_apres_l_erosion);
                         GET_ARGUMENT_F("dmpe=""decrement_points_erodes=",decrement_du_marqueur_des_points_erodes);

                         GET_ARGUMENT_F("terre=""durete=""affaiblissement=",taux_d_affaiblissement_de_la_durete_de_la_terre);
                         GET_ARGUMENT_F("mer=""anti_corrosite=",facteur_d_anti_corrosite_de_la_mer);

                         GET_ARGUMENT_L("editer_alternances=",editer_les_alternances_d_erosion_et_d_affaiblissement_de_la_terre);
                         GET_ARGUMENT_L("alterner=",alterner_l_erosion_et_l_affaiblissement_de_la_terre);
                         GET_ARGUMENT_L("simultane=",faire_erosion_et_affaiblissement_de_la_terre_en_cas_d_alternance);

                         GET_ARGUMENT_I("voisinsA="
                                       ,Ierode__CoastLines_2D_____nombre_de_voisins_mer_d_un_point_terre_amorcant_l_erosion
                                        );
                         GET_ARGUMENT_I("voisinsF="
                                       ,Ierode__CoastLines_2D_____nombre_minimal_de_voisins_mer_d_un_point_terre_forcant_l_erosion
                                        );
                         GET_ARGUMENT_F("Fvoisins=",Ierode__CoastLines_2D_____facteur_du_nombre_d_etats_de_type___mer);
                         GET_ARGUMENT_F("Tvoisins=",Ierode__CoastLines_2D_____translateur_du_nombre_d_etats_de_type___mer);
                         GET_ARGUMENT_F("epaisseur=",Ierode__CoastLines_2D_____facteur_d_epaisseur_de_la_cote);
                         GET_ARGUMENT_I("points=""convolution=",Ierode__CoastLines_2D_____nombre_de_points_du_noyau_de_convolution);

                         GET_ARGUMENT_L("editer_longueur=",editer_la_longueur_de_la_cote_courante);
                         GET_ARGUMENT_I("nombre=""nc=""nchiffres=",nombre_de_chiffres_a_editer);
                                        /* Le 20050623140540, "chiffres=" a ete remplace par "nchiffres=" (double definition...) et  */
                                        /* "n=" a ete remplace par "nc=" (double definition...).                                     */

                         GET_ARGUMENT_L("convertir=",convertir_en_images_standards);
                         )
                    );

     Test(IL_FAUT(alterner_l_erosion_et_l_affaiblissement_de_la_terre))
          Bblock
          Eblock
     ATes
          Bblock
          Test(IL_FAUT(aller_plutot_d_alternances_en_alternances))
               Bblock
               PRINT_ATTENTION("la progression d'alternance en alternance ne peut avoir lieu que s'il y a bien alternance");
               PRINT_ATTENTION("la progression d'alternance en alternance est donc inhibee");

               EGAL(aller_plutot_d_alternances_en_alternances,FAUX);
                                        /* Et oui, car sinon, cela bouclerait...                                                     */
               Eblock
          ATes
               Bblock
               Eblock
          ETes
          Eblock
     ETes

     Test(IL_FAUT(editer_les_parametres_du_noyau))
          Bblock
          CAL3(Prme4("Xmin=%d  Xmax=%d  Ymin=%d  Ymax=%d\n"
                    ,PINTE(Ierode__CoastLines_2D_____XYmin),PINTE(Ierode__CoastLines_2D_____XYmax)
                    ,PINTE(Ierode__CoastLines_2D_____XYmin),PINTE(Ierode__CoastLines_2D_____XYmax)
                     )
               );
          CAL3(Prme4("XminR=%d XmaxR=%d YminR=%d YmaxR=%d\n"
                    ,PINTE(Ierode__CoastLines_2D_____XYmin),PINTE(Ierode__CoastLines_2D_____XYmax)
                    ,PINTE(Ierode__CoastLines_2D_____XYmin),PINTE(Ierode__CoastLines_2D_____XYmax)
                     )
               );
          CALS(Fsauts_de_lignes(UN));

          CAL3(Prme4("XYmaxNe   %d %d %d %d\n"
                    ,PINTE(Ierode__CoastLines_2D_____XYmin),PINTE(Ierode__CoastLines_2D_____XYmax)
                    ,PINTE(Ierode__CoastLines_2D_____XYmin),PINTE(Ierode__CoastLines_2D_____XYmax)
                     )
               );
                                        /* ATTENTION : on ne devra pas etre surpris par les valeurs ainsi obtenues. Par exemple, on  */
                                        /* obtiendra :                                                                               */
                                        /*                                                                                           */
                                        /*                  XYmax     128 128                                                        */
                                        /*                                                                                           */
                                        /* avec la valeur 64 pour 'DEMI_DIMENSION_MAXIMALE_DU_NOYAU_DANS_Ierode__CoastLines_2D', en  */
                                        /* se rappelant que l'on passe a 'DimNo_Ierode__CoastLines_2D' par un 'DOUP(...)'. Les       */
                                        /* extrema ainsi obtenus (128) different d'une unite de ceux fournis par 'Suq' (127) et      */
                                        /* les parites des deux dimensions respectives (129 et 128) sont elles-aussi differentes...  */
                                        /*                                                                                           */
                                        /* ATTENTION : passage de 'XYmax' a 'XYmaxNe' le 20020909112359.                             */
                                        /*                                                                                           */
                                        /* Pour l'usage de 'PINTE(...)' voir 'v $xil/defi_K2$vv$DEF 20230311135805' qui a ete        */
                                        /* introduit pour ces impressions le 20230311143843...                                       */
          Eblock
     ATes
          Bblock
          CALi(IFinitialisation(IFmageR,FZERO));
                                        /* Initialisation de l'image Resultat flottante (dans tous les cas car elle est calculee     */
                                        /* meme si 'IL_FAUT(convertir_en_images_standards)').                                        */

          Test(IL_FAUT(convertir_en_images_standards))
               Bblock
               CALi(Inoir(ImageR));
                                        /* Initialisation de l'image Resultat standard si elle est utile...                          */
               Eblock
          ATes
               Bblock
               Eblock
          ETes

          Test(IFNE_chaine(nom_imageN,NOM_PIPE))
               Bblock
               PUSH_DIMENSIONS_2D;
               SET_DIMENSIONS_2D_SANS_VALIDATION(Ierode__CoastLines_2D_____XYmin,Ierode__CoastLines_2D_____XYmax
                                                ,Ierode__CoastLines_2D_____XYmin,Ierode__CoastLines_2D_____XYmax
                                                 );
                                        /* Le noyau va etre recupere comme une "petite" image dont les dimensions sont definies      */
                                        /* par {Ierode__CoastLines_2D_____XYmin,Ierode__CoastLines_2D_____XYmax} et ce               */
                                        /* independemment de 'Ierode__CoastLines_2D_____demi_dimension_effective_du_noyau'...        */

               Test(PAS_D_ERREUR(CODE_ERROR(IloadF_image(PIerode__CoastLines_2D_____noyau,nom_imageN))))
                                        /* Chargement de l'image du noyau...                                                         */
                                        /*                                                                                           */
                                        /* ATTENTION : on notera que l'image 'nom_imageN' doit avoir comme taille la taille          */
                                        /* maximale du noyau correspondant a 'v $xiii/di_image$DEF DimNo_Ierode__CoastLines_2D',     */
                                        /* et non pas celle qui correspond a la taille effective de ce meme noyau                    */
                                        /* 'v $xiii/di_image$FON Ierode__CoastLines_2D_____demi_dimension_effective_du_noyau'.       */
                                        /*                                                                                           */
                                        /* ATTENTION : on notera de plus que l'on passe par 'PIerode__CoastLines_2D_____noyau' car,  */
                                        /* en effet, 'Ierode__CoastLines_2D_____noyau' n'est pas un vrai 'albumF' puisqu'il n'est    */
                                        /* cree par une allocation dynamique et variable...                                          */
                    Bblock
                    EGAL(Ierode__CoastLines_2D_____initialiser_le_noyau,FAUX);
                                        /* Evidemment, l'initialisation est faite...                                                 */

                    Test(IL_FAUT(lister_le_contenu_du_noyau))
                         Bblock
                         begin_imageQ(DoIn,Ierode__CoastLines_2D_____XYmin_effectif,Ierode__CoastLines_2D_____XYmax_effectif,PasY
                                     ,DoIn,Ierode__CoastLines_2D_____XYmin_effectif,Ierode__CoastLines_2D_____XYmax_effectif,PasX
                                      )
                              Bblock
                              CAL3(Prme5("noyau(%+0*d,%+0*d)=%+.^^^\n"
                                        ,NOMBRE_DE_CHIFFRES_NECESSAIRES(DEMI_DIMENSION_MAXIMALE_DU_NOYAU_DANS_Ierode__CoastLines_2D),X
                                        ,NOMBRE_DE_CHIFFRES_NECESSAIRES(DEMI_DIMENSION_MAXIMALE_DU_NOYAU_DANS_Ierode__CoastLines_2D),Y
                                        ,ACCES_NOYAU_DANS_Ierode__CoastLines_2D(X,Y)
                                         )
                                   );
                                        /* Le 20060105153507, le format "16g" est passe a "^^g" pour plus de souplesse...            */
                                        /*                                                                                           */
                                        /* Le 20091123123046, le format "^^g" est passe a "^^^" pour plus de souplesse...            */
                              Eblock
                         end_imageQ(EDoI,EDoI)
                         Eblock
                    ATes
                         Bblock
                         Eblock
                    ETes
                    Eblock
               ATes
                    Bblock
                    Test__CODE_ERREUR__ERREUR07;

                    INITIALISATION_EVENTUELLE_DU_NOYAU_DANS_Ierode__CoastLines_2D;
                                        /* Initialisation du noyau en cas d'erreur...                                                */
                    Eblock
               ETes

               PULL_DIMENSIONS_2D;
                                        /* Restauration des dimensions de travail...                                                 */
               Eblock
          ATes
               Bblock
               Eblock
          ETes

          LOAD_D_UNE_IMAGE_FLOTTANTE_DE_PARAMETRAGE(IFmageA1
                                                   ,nom_imageD
                                                   ,taux_d_affaiblissement_de_la_durete_de_la_terre
                                                   ,"taux d'affaiblissement global de durete"
                                                    );

          LOAD_D_UNE_IMAGE_FLOTTANTE_DE_PARAMETRAGE(IFmageA3
                                                   ,nom_imageC
                                                   ,facteur_d_anti_corrosite_de_la_mer
                                                   ,"facteur global de corrosite"
                                                    );

          Test(PAS_D_ERREUR(CODE_ERROR(IloadF_image(IFmageA,nom_imageA))))
               Bblock
               DEFV(Logical,INIT(c_est_la_premiere_iteration,VRAI));
                                        /* Afin de pouvoir faire la difference entre la premiere iteration et les suivantes...       */

               DEFV(genere_Float,INIT(niveau_minimum_de_IFmageA,minimum_impose_pour_les_conditions_initiales));
               DEFV(genere_Float,INIT(niveau_maximum_de_IFmageA,maximum_impose_pour_les_conditions_initiales));
                                        /* Extrema du champ initial ('IFmageA').                                                     */

               Test(IL_NE_FAUT_PAS(imposer_les_extrema_des_conditions_initiales))
                    Bblock
                    CALS(IFnivo_extrema(IFmageA
                                       ,ADRESSE(niveau_minimum_de_IFmageA)
                                       ,ADRESSE(niveau_maximum_de_IFmageA)
                                        )
                         );
                                        /* Recherche des extrema de 'IFmageA'.                                                       */
                    Eblock
               ATes
                    Bblock
                    Eblock
               ETes

               Test(IL_FAUT(editer_les_extrema_des_conditions_initiales))
                    Bblock
                    CAL3(Prme1("minimum des conditions initiales=%+.^^^\n",niveau_minimum_de_IFmageA));
                    CAL3(Prme1("maximum des conditions initiales=%+.^^^\n",niveau_maximum_de_IFmageA));
                                        /* Edition des extrema de 'IFmageA'.                                                         */
                                        /*                                                                                           */
                                        /* Le 20060105153507, le format "16g" est passe a "^^g" pour plus de souplesse...            */
                                        /*                                                                                           */
                                        /* Le 20091123123046, le format "^^g" est passe a "^^^" pour plus de souplesse...            */
                    Eblock
               ATes
                    Bblock
                    Eblock
               ETes

               EGAL(Ierode__CoastLines_2D_____niveau_de_la___mer,niveau_maximum_de_IFmageA);
               EGAL(Ierode__CoastLines_2D_____niveau_de_la_terre,niveau_minimum_de_IFmageA);
                                        /* Mise a jour du modele...                                                                  */

               Test(IL_NE_FAUT_PAS(Ierode__CoastLines_2D_____marquer_les_points_erodes_avec_la_force))
                    Bblock
                    Test(IFOU(SONT_DE_MEME_SIGNE(NEUT(Ierode__CoastLines_2D_____marqueur_des_points_erodes)
                                                ,Ierode__CoastLines_2D_____niveau_de_la_terre
                                                 )
                             ,SONT_DE_MEME_SIGNE(SOUS(Ierode__CoastLines_2D_____marqueur_des_points_erodes
                                                     ,MUL2(PRED(MUL2(NBRE(premiere_image,derniere_image),nombre_d_iterations))
                                                          ,decrement_du_marqueur_des_points_erodes
                                                           )
                                                      )
                                                ,Ierode__CoastLines_2D_____niveau_de_la_terre
                                                 )
                              )
                         )
                         Bblock
                         PRINT_ATTENTION("il va y avoir confusion entre le marqueur des points erodes et le niveau de la terre");

                         CAL3(Prme1("niveau de la terre................=%+.^^^\n",Ierode__CoastLines_2D_____niveau_de_la_terre));
                                        /* Le 20060105153507, le format "16g" est passe a "^^g" pour plus de souplesse...            */
                                        /*                                                                                           */
                                        /* Le 20091123123046, le format "^^g" est passe a "^^^" pour plus de souplesse...            */
                         CAL3(Prme1("nombre total d'iterations.........=%d\n"
                                   ,MUL2(NBRE(premiere_image,derniere_image),nombre_d_iterations)
                                    )
                              );
                         CAL3(Prme1("marqueur initial des points erodes=%+.^^^\n"
                                   ,NEUT(Ierode__CoastLines_2D_____marqueur_des_points_erodes)
                                    )
                              );
                                        /* Le 20060105153507, le format "16g" est passe a "^^g" pour plus de souplesse...            */
                                        /*                                                                                           */
                                        /* Le 20091123123046, le format "^^g" est passe a "^^^" pour plus de souplesse...            */
                         CAL3(Prme1("marqueur final des points erodes..=%+.^^^\n"
                                   ,SOUS(Ierode__CoastLines_2D_____marqueur_des_points_erodes
                                        ,MUL2(PRED(MUL2(NBRE(premiere_image,derniere_image),nombre_d_iterations))
                                             ,decrement_du_marqueur_des_points_erodes
                                              )
                                         )
                                    )
                              );
                                        /* Le 20060105153507, le format "16g" est passe a "^^g" pour plus de souplesse...            */
                                        /*                                                                                           */
                                        /* Le 20091123123046, le format "^^g" est passe a "^^^" pour plus de souplesse...            */
                         Eblock
                    ATes
                         Bblock
                         Eblock
                    ETes
                    Eblock
               ATes
                    Bblock
                    Eblock
               ETes

               DoIn(numero_d_image,premiere_image,derniere_image,pas_des_images)
                    Bblock
                    DEFV(CHAR,INIC(POINTERc(nom_imagesR),NOM_PIPE));

                    Test(IFET(IL_FAUT(generer_les_conditions_initiales),IFEQ(numero_d_image,premiere_image)))
                         Bblock
                         CALS(IFmove(IFmageR,IFmageA));
                         Eblock
                    ATes
                         Bblock
                         DEFV(Logical,INIT(iterer_l_erosion,VRAI));
                                        /* Le 20020213104540 l'iteration de l'erosion est devenue un 'Tant(...)' a la place d'un     */
                                        /* 'Repe(...)' pour permettre un nombre variable d'iterations...                             */
                         DEFV(Int,INIT(compteur_des_iterations_d_erosion,PREMIERE_ITERATION_D_UN_Repe));
                                        /* Afin de simuler un 'Repe(...)' a nombre variable d'iterations...                          */

                         Tant(IL_FAUT(iterer_l_erosion))
                              Bblock
                              Test(IFOU(EST_VRAI(c_est_la_premiere_iteration)
                                       ,IFET(EST_FAUX(c_est_la_premiere_iteration)
                                            ,IZGT(Ierode__CoastLines_2D_____longueur_de_la_cote_courante)
                                             )
                                        )
                                   )
                                   Bblock
                                   DEFV(Float,INIT(taux_d_affaiblissement_de_la_durete_de_la_terre_effectif
                                                  ,taux_d_affaiblissement_de_la_durete_de_la_terre
                                                   )
                                        );
                                   DEFV(Float,INIT(facteur_d_anti_corrosite_de_la_mer_effectif
                                                  ,facteur_d_anti_corrosite_de_la_mer
                                                   )
                                        );
                                        /* Parametres respectifs de la "terre" et de la "mer" effectivement utilises...              */
                                   DEFV(Logical,INIT(acceder_eventuellement_a_nom_imageD,VRAI));
                                   DEFV(Logical,INIT(acceder_eventuellement_a_nom_imageC,VRAI));
                                        /* A priori, il est licite d'acceder aux images 'nom_imageD' et 'nom_imageC' (si elles       */
                                        /* existent...).                                                                             */

                                   Test(IL_FAUT(alterner_l_erosion_et_l_affaiblissement_de_la_terre))
                                        Bblock
                                        Test(EST_VRAI(c_est_la_premiere_iteration))
                                             Bblock
                                             EGAL(taux_d_affaiblissement_de_la_durete_de_la_terre_effectif,FZERO);
                                        /* Dans le cas de la premiere iteration, il est evidemment impossible de tester              */
                                        /* 'Ierode__CoastLines_2D_____nombre_de_points_erodes_a_l_iteration_courante'.               */
                                        /* La terre ne doit alors pas etre affaiblie...                                              */
                                             EGAL(acceder_eventuellement_a_nom_imageD,FAUX);
                                        /* Il est alors illicite d'acceder a l'image 'nom_imageD'...                                 */
                                             Eblock
                                        ATes
                                             Bblock
                                             Test(IZEQ(Ierode__CoastLines_2D_____nombre_de_points_erodes_a_l_iteration_courante))
                                                  Bblock
                                        /* Cas ou la mer n'a erode aucun point de la terre : la terre va etre affaiblie, avec ou     */
                                        /* pas erosion par la mer simultanement...                                                   */
                                                  Test(IL_FAUT(editer_les_alternances_d_erosion_et_d_affaiblissement_de_la_terre))
                                                       Bblock
                                                       CAL3(Prme3("iteration %d de l'image %0*d : "
                                                                 ,compteur_des_iterations_d_erosion
                                                                 ,nombre_de_chiffres_a_editer
                                                                 ,numero_d_image
                                                                  )
                                                            );
                                                       CALS(FPrme0("alternance 'erosion-affaiblissement'\n"));
                                                       Eblock
                                                  ATes
                                                       Bblock
                                                       Eblock
                                                  ETes

                                                  Test(IL_FAUT(faire_erosion_et_affaiblissement_de_la_terre_en_cas_d_alternance))
                                                       Bblock
                                        /* Erosion simultanee par la mer...                                                          */
                                                       Eblock
                                                  ATes
                                                       Bblock
                                                       EGAL(facteur_d_anti_corrosite_de_la_mer_effectif,FZERO);
                                        /* Pas d'erosion simultanee par la mer...                                                    */
                                                       EGAL(acceder_eventuellement_a_nom_imageC,FAUX);
                                        /* Il est alors illicite d'acceder a l'image 'nom_imageC'...                                 */
                                                       Eblock
                                                  ETes

                                                  Test(IL_FAUT(aller_plutot_d_alternances_en_alternances))
                                                       Bblock
                                                       EGAL(iterer_l_erosion,FAUX);
                                        /* Le nombre d'iterations est variable et limite par l'alternance "erosion-affaiblissement". */
                                                       Eblock
                                                  ATes
                                                       Bblock
                                                       Eblock
                                                  ETes
                                                  Eblock
                                             ATes
                                                  Bblock
                                        /* Cas ou la mer a erode au moins un point de la terre :                                     */
                                                  EGAL(taux_d_affaiblissement_de_la_durete_de_la_terre_effectif,FZERO);
                                        /* La terre ne subit alors pas d'affaiblissement, mais uniquement de l'erosion...            */
                                                  EGAL(acceder_eventuellement_a_nom_imageD,FAUX);
                                        /* Il est alors illicite d'acceder a l'image 'nom_imageD'...                                 */
                                                  Eblock
                                             ETes
                                             Eblock
                                        ETes
                                        Eblock
                                   ATes
                                        Bblock
                                        Eblock
                                   ETes

                                   Test(IFET(EST_VRAI(acceder_eventuellement_a_nom_imageD),IFNE_chaine(nom_imageD,NOM_PIPE)))
                                        Bblock
                                        CALi(IFmove(IFmageA2,IFmageA1));
                                        /* Recuperation de 'nom_imageD' lorsque cela est licite et possible...                       */
                                        Eblock
                                   ATes
                                        Bblock
                                        CALi(IFinitialisation(IFmageA2,taux_d_affaiblissement_de_la_durete_de_la_terre_effectif));
                                        /* Initialisation du taux d'affaiblissement de la durete de la terre a priori...             */
                                        Eblock
                                   ETes

                                   Test(IFET(EST_VRAI(acceder_eventuellement_a_nom_imageC),IFNE_chaine(nom_imageC,NOM_PIPE)))
                                        Bblock
                                        CALi(IFmove(IFmageA4,IFmageA3));
                                        /* Recuperation de 'nom_imageC' lorsque cela est licite et possible...                       */
                                        Eblock
                                   ATes
                                        Bblock
                                        CALi(IFinitialisation(IFmageA4,facteur_d_anti_corrosite_de_la_mer_effectif));
                                        /* Initialisation du facteur d'anti-corrosite de la mer a priori...                          */
                                        Eblock
                                   ETes

                                   Test(IL_FAUT(editer_la_longueur_de_la_cote_courante))
                                        Bblock
                                        CAL3(Prme3("iteration %d de l'image %0*d : "
                                                  ,compteur_des_iterations_d_erosion
                                                  ,nombre_de_chiffres_a_editer
                                                  ,numero_d_image
                                                   )
                                             );
                                        Eblock
                                   ATes
                                        Bblock
                                        Eblock
                                   ETes

#define   decrementer_apres_l_erosion                                                                                                   \
                    decrementer_le_marqueur_des_points_erodes_apres_l_erosion                                                           \
                                        /* Pour raccourcir certaines lignes qui suivent...                                           */

                                   DECREMENTATION_DU_MARQUEUR_DES_POINTS_ERODES(NOTL(decrementer_apres_l_erosion));

                                   CALS(Ierode__CoastLines_2D_a_taux_facteur_locaux(IFmageR
                                                                                   ,IFmageA
                                                                                   ,Ierode__CoastLines_2D_____imageA_convoluee_initiale
                                                                                   ,IFmageA2
                                                                                   ,IFmageA4
                                                                                   ,editer_la_longueur_de_la_cote_courante
                                                                                    )
                                        );
                                        /* Et calcul de la generation suivante, avec :                                               */
                                        /*                                                                                           */
                                        /*                  taux_d_affaiblissement_de_la_durete_de_la_terre = IFmageA2 (= IFmageA1), */
                                        /*                  facteur_d_anti_corrosite_de_la_mer              = IFmageA4 (= IFmageA3). */
                                        /*                                                                                           */

                                   CALS(IFmove(IFmageA,IFmageR));
                                        /* Preparation de l'iteration suivante...                                                    */

                                   DECREMENTATION_DU_MARQUEUR_DES_POINTS_ERODES(NEUL(decrementer_apres_l_erosion));

#undef    decrementer_apres_l_erosion

                                   Eblock
                              ATes
                                   Bblock
                                   Eblock
                              ETes

                              Test(EST_VRAI(c_est_la_premiere_iteration))
                                   Bblock
                                   EGAL(c_est_la_premiere_iteration,FAUX);
                                        /* Pour les iterations suivantes...                                                          */
                                   Eblock
                              ATes
                                   Bblock
                                   Eblock
                              ETes

                              INCR(compteur_des_iterations_d_erosion,I);
                                        /* Simulation du 'Repe(...)' d'erosion...                                                    */

                              Test(IFET(IL_NE_FAUT_PAS(aller_plutot_d_alternances_en_alternances)
                                       ,IFGT(compteur_des_iterations_d_erosion,nombre_d_iterations)
                                        )
                                   )
                                   Bblock
                                   EGAL(iterer_l_erosion,FAUX);
                                        /* On a fait le nombre d'iterations demandees...                                             */
                                   Eblock
                              ATes
                                   Bblock
                                   Eblock
                              ETes
                              Eblock
                         ETan
                         Eblock
                    ETes

                    EGAL(nom_imagesR
                        ,chain_Aconcaten2_sauf_nom_pipe(nom_imageR
                                                       ,chain_numero(numero_d_image,nombre_de_chiffres)
                                                        )
                         );

                    Test(IL_FAUT(convertir_en_images_standards))
                         Bblock
                         CALS(Ifloat_std_avec_le_vrai_zero(ImageR,IFmageR,niveau_minimum_de_IFmageA,niveau_maximum_de_IFmageA));
                                        /* Renormalisation avec forcage des extrema en utilisant ceux de l'image initiale 'IFmageA'. */
                                        /* ATTENTION, jusqu'au 20020108124607, c'etait 'Ifloat_std(...)' qui etait utilise, ce qui   */
                                        /* n'etait pas tres logique puisqu'il est important de conserver le zero...                  */

                         CALi(Iupdate_image(nom_imagesR,ImageR));
                         Eblock
                    ATes
                         Bblock
                         CALi(IupdateF_image(nom_imagesR,IFmageR));
                         Eblock
                    ETes

                    CALZ_FreCC(nom_imagesR);
                    Eblock
               EDoI

               Test(IFET(IFNE_chaine(nom_imageF,NOM_PIPE),IL_FAUT(convertir_en_images_standards)))
                    Bblock
                    CALi(IupdateF_image(nom_imageF,IFmageR));
                                        /* Dans le cas ou la sortie est du type "image standard", la possibilite est offerte de      */
                                        /* generer les conditions Finales en mode "non standard" afin qu'elles puissent servir       */
                                        /* eventuellement de conditions initiales dans un autre calcul...                            */
                    Eblock
               ATes
                    Bblock
                    Eblock
               ETes
               Eblock
          ATes
               Bblock
               Test__CODE_ERREUR__ERREUR07;
               Eblock
          ETes
          Eblock
     ETes

     RETU_Commande;
     Eblock
ECommande



Copyright © Jean-François COLONNA, 2019-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2019-2024.