/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        G R O U P A G E   D E S   P O I N T S   P A R   P A Q U E T S                                                              */
/*        R E C T A N G U L A I R E S / P A R A L L E L E P I P E D I Q U E S  :                                                     */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xrv/groupage.01$K' :                                                                                           */
/*                                                                                                                                   */
/*                    Jean-Francois COLONNA (LACTAMME, 20230219102232).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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  :                                               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

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

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        V A L E U R S   I M P L I C I T E S   D E S   P A R A M E T R E S  :                                                       */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   MINIMUM_X                                                                                                                     \
                    FZERO
#define   MAXIMUM_X                                                                                                                     \
                    FU
#define   NOMBRE_DE_PAQUETS_X                                                                                                           \
                    UN
                                        /* Caracteristiques de l'axe 'OX'...                                                         */

#define   MINIMUM_Y                                                                                                                     \
                    FZERO
#define   MAXIMUM_Y                                                                                                                     \
                    FU
#define   NOMBRE_DE_PAQUETS_Y                                                                                                           \
                    UN
                                        /* Caracteristiques de l'axe 'OY'...                                                         */

#define   MINIMUM_Z                                                                                                                     \
                    FZERO
#define   MAXIMUM_Z                                                                                                                     \
                    FU
#define   NOMBRE_DE_PAQUETS_Z                                                                                                           \
                    UN
                                        /* Caracteristiques de l'axe 'OZ'...                                                         */

#define   SEPARATEUR_DES_PAQUETS                                                                                                        \
                    SEPARATEUR_DE_LISTES_DE_COORDONNEES                                                                                 \
                                        /* Separateur des paquets...                                                                 */

#define   NORMALISER                                                                                                                    \
                    FAUX

#define   X_MINIMUM_NOUVEAU                                                                                                             \
                    COORDONNEE_BARYCENTRIQUE_MINIMALE
#define   X_MAXIMUM_NOUVEAU                                                                                                             \
                    COORDONNEE_BARYCENTRIQUE_MAXIMALE

#define   X_IGNORER_L_UNIFORMITE_DU_FICHER                                                                                              \
                    VRAI
#define   X_VALEUR_A_FORCER_DANS_LE_CAS_DE_L_UNIFORMITE_DU_FICHER                                                                       \
                    COORDONNEE_BARYCENTRIQUE_CENTRALE

#define   X_CONSERVER_UNE_VALEUR_PARTICULIERE                                                                                           \
                    FAUX
#define   X_VALEUR_PARTICULIERE_A_CONSERVER                                                                                             \
                    FZERO

#define   Y_MINIMUM_NOUVEAU                                                                                                             \
                    COORDONNEE_BARYCENTRIQUE_MINIMALE
#define   Y_MAXIMUM_NOUVEAU                                                                                                             \
                    COORDONNEE_BARYCENTRIQUE_MAXIMALE

#define   Y_IGNORER_L_UNIFORMITE_DU_FICHER                                                                                              \
                    VRAI
#define   Y_VALEUR_A_FORCER_DANS_LE_CAS_DE_L_UNIFORMITE_DU_FICHER                                                                       \
                    COORDONNEE_BARYCENTRIQUE_CENTRALE

#define   Y_CONSERVER_UNE_VALEUR_PARTICULIERE                                                                                           \
                    FAUX
#define   Y_VALEUR_PARTICULIERE_A_CONSERVER                                                                                             \
                    FZERO

#define   Z_MINIMUM_NOUVEAU                                                                                                             \
                    COORDONNEE_BARYCENTRIQUE_MINIMALE
#define   Z_MAXIMUM_NOUVEAU                                                                                                             \
                    COORDONNEE_BARYCENTRIQUE_MAXIMALE

#define   Z_IGNORER_L_UNIFORMITE_DU_FICHER                                                                                              \
                    VRAI
#define   Z_VALEUR_A_FORCER_DANS_LE_CAS_DE_L_UNIFORMITE_DU_FICHER                                                                       \
                    COORDONNEE_BARYCENTRIQUE_CENTRALE

#define   Z_CONSERVER_UNE_VALEUR_PARTICULIERE                                                                                           \
                    FAUX
#define   Z_VALEUR_PARTICULIERE_A_CONSERVER                                                                                             \
                    FZERO

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E S   F I C H I E R S  :                                                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  xrv/ARITHMET.1d.I"
#include  xrv/ARITHMET.21.I"
#include  xrv/champs_5.41.I"

#define   X_IMPLICITE                                                                                                                   \
                    FZERO
#define   Y_IMPLICITE                                                                                                                   \
                    FZERO
#define   Z_IMPLICITE                                                                                                                   \
                    FZERO

gGENERATION_D_UN_FICHIER(fichier_LISTE_X,liste_initiale_des_X);
gGENERATION_D_UN_FICHIER(fichier_LISTE_Y,liste_initiale_des_Y);
gGENERATION_D_UN_FICHIER(fichier_LISTE_Z,liste_initiale_des_Z);
                                        /* Definition en memoire des fichiers de coordonnees cartesiennes.                           */

#define   ELEMENT_DU_FICHIER_LISTE_X(index)                                                                                             \
                    gELEMENT_DU_FICHIER(liste_initiale_des_X,index)
#define   ELEMENT_DU_FICHIER_LISTE_Y(index)                                                                                             \
                    gELEMENT_DU_FICHIER(liste_initiale_des_Y,index)
#define   ELEMENT_DU_FICHIER_LISTE_Z(index)                                                                                             \
                    gELEMENT_DU_FICHIER(liste_initiale_des_Z,index)
                                        /* Acces a un element courant des fichiers de coordonnees cartesiennes.                      */


/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        M A C R O S   U T I L E S  :                                                                                               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   DIMENSION_X                                                                                                                   \
                    DIVZ(SOUS(maximum_X,minimum_X),nombre_de_paquets_X)
#define   DIMENSION_Y                                                                                                                   \
                    DIVZ(SOUS(maximum_Y,minimum_Y),nombre_de_paquets_Y)
#define   DIMENSION_Z                                                                                                                   \
                    DIVZ(SOUS(maximum_Z,minimum_Z),nombre_de_paquets_Z)

#define   RECHERCHE_LOCALE_DES_EXTREMA(sequence)                                                                                        \
                    Bblock                                                                                                              \
                    DoIn(index                                                                                                          \
                        ,PREMIER_ELEMENT_D_UN_FICHIER                                                                                   \
                        ,DERNIER_ELEMENT_D_UN_FICHIER                                                                                   \
                        ,I                                                                                                              \
                         )                                                                                                              \
                         Bblock                                                                                                         \
                         DEFV(Float,INIT(coordonnee_X,ELEMENT_DU_FICHIER_LISTE_X(index)));                                              \
                         DEFV(Float,INIT(coordonnee_Y,ELEMENT_DU_FICHIER_LISTE_Y(index)));                                              \
                         DEFV(Float,INIT(coordonnee_Z,ELEMENT_DU_FICHIER_LISTE_Z(index)));                                              \
                                        /* Recuperation des coordonnees {X,Y,Z} courantes dans les fichiers.                         */ \
                                                                                                                                        \
                         Test(I3ET(IFINff(coordonnee_X,origine_X,extremite_X)                                                           \
                                  ,IFINff(coordonnee_Y,origine_Y,extremite_Y)                                                           \
                                  ,IFINff(coordonnee_Z,origine_Z,extremite_Z)                                                           \
                                   )                                                                                                    \
                              )                                                                                                         \
                              Bblock                                                                                                    \
                              BLOC(sequence);                                                                                           \
                              Eblock                                                                                                    \
                         ATes                                                                                                           \
                              Bblock                                                                                                    \
                              Eblock                                                                                                    \
                         ETes                                                                                                           \
                         Eblock                                                                                                         \
                    EDoI                                                                                                                \
                    Eblock

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        G R O U P A G E   D E S   P O I N T S   P A R   P A Q U E T S                                                              */
/*        R E C T A N G U L A I R E S / P A R A L L E L E P I P E D I Q U E S  :                                                     */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
#include  xrv/ARITHMET.22.I"

     DEFV(Float,INIT(minimum_X,MINIMUM_X));
     DEFV(Float,INIT(maximum_X,MAXIMUM_X));
     DEFV(Int,INIT(nombre_de_paquets_X,NOMBRE_DE_PAQUETS_X));
                                        /* Caracteristiques de l'axe 'OX'...                                                         */
     DEFV(Float,INIT(minimum_Y,MINIMUM_Y));
     DEFV(Float,INIT(maximum_Y,MAXIMUM_Y));
     DEFV(Int,INIT(nombre_de_paquets_Y,NOMBRE_DE_PAQUETS_Y));
                                        /* Caracteristiques de l'axe 'OY'...                                                         */
     DEFV(Float,INIT(minimum_Z,MINIMUM_Z));
     DEFV(Float,INIT(maximum_Z,MAXIMUM_Z));
     DEFV(Int,INIT(nombre_de_paquets_Z,NOMBRE_DE_PAQUETS_Z));
                                        /* Caracteristiques de l'axe 'OZ'...                                                         */

     DEFV(Float,INIT(separateur_des_paquets,SEPARATEUR_DES_PAQUETS));
                                        /* Separateur des paquets...                                                                 */

     DEFV(Logical,INIT(normaliser,NORMALISER));

     DEFV(Float,INIT(X_minimum_nouveau,X_MINIMUM_NOUVEAU));
     DEFV(Float,INIT(X_maximum_nouveau,X_MAXIMUM_NOUVEAU));

     DEFV(Float,INIT(X_minimum_courant,F_INFINI));
     DEFV(Float,INIT(X_maximum_courant,F_MOINS_L_INFINI));

     DEFV(Logical,INIT(X_ignorer_l_uniformite_du_ficher,X_IGNORER_L_UNIFORMITE_DU_FICHER));
     DEFV(Float,INIT(X_valeur_a_forcer_dans_le_cas_de_l_uniformite_du_ficher,X_VALEUR_A_FORCER_DANS_LE_CAS_DE_L_UNIFORMITE_DU_FICHER));

     DEFV(Logical,INIT(X_conserver_une_valeur_particuliere,X_CONSERVER_UNE_VALEUR_PARTICULIERE));
     DEFV(Float,INIT(X_valeur_particuliere_a_conserver,X_VALEUR_PARTICULIERE_A_CONSERVER));

     DEFV(Float,INIT(Y_minimum_nouveau,Y_MINIMUM_NOUVEAU));
     DEFV(Float,INIT(Y_maximum_nouveau,Y_MAXIMUM_NOUVEAU));

     DEFV(Float,INIT(Y_minimum_courant,F_INFINI));
     DEFV(Float,INIT(Y_maximum_courant,F_MOINS_L_INFINI));

     DEFV(Logical,INIT(Y_ignorer_l_uniformite_du_ficher,Y_IGNORER_L_UNIFORMITE_DU_FICHER));
     DEFV(Float,INIT(Y_valeur_a_forcer_dans_le_cas_de_l_uniformite_du_ficher,Y_VALEUR_A_FORCER_DANS_LE_CAS_DE_L_UNIFORMITE_DU_FICHER));

     DEFV(Logical,INIT(Y_conserver_une_valeur_particuliere,Y_CONSERVER_UNE_VALEUR_PARTICULIERE));
     DEFV(Float,INIT(Y_valeur_particuliere_a_conserver,Y_VALEUR_PARTICULIERE_A_CONSERVER));

     DEFV(Float,INIT(Z_minimum_nouveau,Z_MINIMUM_NOUVEAU));
     DEFV(Float,INIT(Z_maximum_nouveau,Z_MAXIMUM_NOUVEAU));

     DEFV(Float,INIT(Z_minimum_courant,F_INFINI));
     DEFV(Float,INIT(Z_maximum_courant,F_MOINS_L_INFINI));

     DEFV(Logical,INIT(Z_ignorer_l_uniformite_du_ficher,Z_IGNORER_L_UNIFORMITE_DU_FICHER));
     DEFV(Float,INIT(Z_valeur_a_forcer_dans_le_cas_de_l_uniformite_du_ficher,Z_VALEUR_A_FORCER_DANS_LE_CAS_DE_L_UNIFORMITE_DU_FICHER));

     DEFV(Logical,INIT(Z_conserver_une_valeur_particuliere,Z_CONSERVER_UNE_VALEUR_PARTICULIERE));
     DEFV(Float,INIT(Z_valeur_particuliere_a_conserver,Z_VALEUR_PARTICULIERE_A_CONSERVER));
     /*..............................................................................................................................*/
     GET_ARGUMENTS_(nombre_d_arguments
                   ,BLOC(PROCESS_ARGUMENT_I("nombre_elements=""ne=",nombre_d_elements
                                           ,BLOC(VIDE;)
                                           ,BLOC(Bblock
                                                 PRINT_AVERTISSEMENT("'ne=' doit etre defini avant toute entree de fichiers");
                                                 Eblock
                                                 )
                                            );

                         PROCESS_ARGUMENTS_DE_DEFINITION_DES_FICHIERS_01;

                         PROKESF_ARGUMENT_FICHIER("LISTE_X="
                                                 ,fichier_LISTE_X
                                                 ,liste_initiale_des_X
                                                 ,X_IMPLICITE
                                                 ,lTRANSFORMAT_0d
                                                 ,iGENERATION_D_UN_FICHIER
                                                  );
                         PROKESF_ARGUMENT_FICHIER("LISTE_Y="
                                                 ,fichier_LISTE_Y
                                                 ,liste_initiale_des_Y
                                                 ,Y_IMPLICITE
                                                 ,lTRANSFORMAT_0d
                                                 ,iGENERATION_D_UN_FICHIER
                                                  );
                         PROKESF_ARGUMENT_FICHIER("LISTE_Z="
                                                 ,fichier_LISTE_Z
                                                 ,liste_initiale_des_Z
                                                 ,Z_IMPLICITE
                                                 ,lTRANSFORMAT_0d
                                                 ,iGENERATION_D_UN_FICHIER
                                                  );

                         GET_ARGUMENT_F("minimumX=""mX=",minimum_X);
                         GET_ARGUMENT_F("maximumX=""MX=",maximum_X);
                         GET_ARGUMENT_I("paquetsX=""npX=",nombre_de_paquets_X);

                         GET_ARGUMENT_F("minimumY=""mY=",minimum_Y);
                         GET_ARGUMENT_F("maximumY=""MY=",maximum_Y);
                         GET_ARGUMENT_I("paquetsY=""npY=",nombre_de_paquets_Y);

                         GET_ARGUMENT_F("minimumZ=""mZ=",minimum_Z);
                         GET_ARGUMENT_F("maximumZ=""MZ=",maximum_Z);
                         GET_ARGUMENT_I("paquetsZ=""npZ=",nombre_de_paquets_Z);

                         GET_ARGUMENT_F("separateur=""sep=",separateur_des_paquets);

                         GET_ARGUMENT_L("normaliser=",normaliser);

                         GET_ARGUMENT_F("Xminimum=""Xm=""XmR=""Xorigine=",X_minimum_nouveau);
                         GET_ARGUMENT_F("Xmaximum=""XM=""XMR=""Xextremite=",X_maximum_nouveau);

                         GET_ARGUMENT_L("Xignorer_uniformite=""Xiu=",X_ignorer_l_uniformite_du_ficher);
                         GET_ARGUMENT_F("Xvaleur_uniforme=""Xvu=",X_valeur_a_forcer_dans_le_cas_de_l_uniformite_du_ficher);

                         GET_ARGUMENT_L("Xconserver_valeur=""Xcv=",X_conserver_une_valeur_particuliere);
                         GET_ARGUMENT_F("Xvaleur_a_conserver=""Xvac=",X_valeur_particuliere_a_conserver);

                         GET_ARGUMENT_F("Yminimum=""Ym=""YmR=""Yorigine=",Y_minimum_nouveau);
                         GET_ARGUMENT_F("Ymaximum=""YM=""YMR=""Yextremite=",Y_maximum_nouveau);

                         GET_ARGUMENT_L("Yignorer_uniformite=""Yiu=",Y_ignorer_l_uniformite_du_ficher);
                         GET_ARGUMENT_F("Yvaleur_uniforme=""Yvu=",Y_valeur_a_forcer_dans_le_cas_de_l_uniformite_du_ficher);

                         GET_ARGUMENT_L("Yconserver_valeur=""Ycv=",Y_conserver_une_valeur_particuliere);
                         GET_ARGUMENT_F("Yvaleur_a_conserver=""Yvac=",Y_valeur_particuliere_a_conserver);

                         GET_ARGUMENT_F("Zminimum=""Zm=""ZmR=""Zorigine=",Z_minimum_nouveau);
                         GET_ARGUMENT_F("Zmaximum=""ZM=""ZMR=""Zextremite=",Z_maximum_nouveau);

                         GET_ARGUMENT_L("Zignorer_uniformite=""Ziu=",Z_ignorer_l_uniformite_du_ficher);
                         GET_ARGUMENT_F("Zvaleur_uniforme=""Zvu=",Z_valeur_a_forcer_dans_le_cas_de_l_uniformite_du_ficher);

                         GET_ARGUMENT_L("Zconserver_valeur=""Zcv=",Z_conserver_une_valeur_particuliere);
                         GET_ARGUMENT_F("Zvaleur_a_conserver=""Zvac=",Z_valeur_particuliere_a_conserver);
                         )
                    );

#include  xrv/normalise.01.I"
                                        /* Ceci fut introduit le 20230220112811...                                                   */

     begin_nouveau_block
          Bblock
          Repe(nombre_de_paquets_X)
               Bblock
               DEFV(Float,INIT(origine_X
                              ,ADD2(minimum_X
                                   ,MUL2(SOUS(compteur_des_repetitions_du_Repe,PREMIERE_ITERATION_D_UN_Repe)
                                        ,DIMENSION_X
                                         )
                                    )
                               )
                    );
               DEFV(Float,INIT(extremite_X,FLOT__UNDEF));
                                        /* Definition en 'X' du rectangle/parallelepipede courant...                                 */

               EGAL(extremite_X,ADD2(origine_X,DIMENSION_X));

               Repe(nombre_de_paquets_Y)
                    Bblock
                    DEFV(Float,INIT(origine_Y
                                   ,ADD2(minimum_Y
                                        ,MUL2(SOUS(compteur_des_repetitions_du_Repe,PREMIERE_ITERATION_D_UN_Repe)
                                             ,DIMENSION_Y
                                              )
                                         )
                                    )
                         );
                    DEFV(Float,INIT(extremite_Y,FLOT__UNDEF));
                                        /* Definition en 'Y' du rectangle/parallelepipede courant...                                 */

                    EGAL(extremite_Y,ADD2(origine_Y,DIMENSION_Y));

                    Repe(nombre_de_paquets_Z)
                         Bblock
                         DEFV(Int,INIT(compteur_de_points_dans_le_paquet_courant,ZERO));

                         DEFV(Float,INIT(origine_Z
                                        ,ADD2(minimum_Z
                                             ,MUL2(SOUS(compteur_des_repetitions_du_Repe,PREMIERE_ITERATION_D_UN_Repe)
                                                  ,DIMENSION_Z
                                                   )
                                              )
                                         )
                              );
                         DEFV(Float,INIT(extremite_Z,FLOT__UNDEF));
                                        /* Definition en 'Z' du rectangle/parallelepipede courant...                                 */

                         EGAL(extremite_Z,ADD2(origine_Z,DIMENSION_Z));

                         Test(IL_FAUT(normaliser))
                              Bblock
                              EGAL(X_minimum_courant,F_INFINI);
                              EGAL(X_maximum_courant,F_MOINS_L_INFINI);

                              EGAL(Y_minimum_courant,F_INFINI);
                              EGAL(Y_maximum_courant,F_MOINS_L_INFINI);

                              EGAL(Z_minimum_courant,F_INFINI);
                              EGAL(Z_maximum_courant,F_MOINS_L_INFINI);

                              RECHERCHE_LOCALE_DES_EXTREMA(BLOC(Bblock
                                                                RECHERCHE_COURANTE_DES_EXTREMA(coordonnee_X
                                                                                              ,FAUX
                                                                                              ,X_minimum_courant
                                                                                              ,X_maximum_courant
                                                                                              ,X_conserver_une_valeur_particuliere
                                                                                              ,X_valeur_particuliere_a_conserver
                                                                                               );
                                                                RECHERCHE_COURANTE_DES_EXTREMA(coordonnee_Y
                                                                                              ,FAUX
                                                                                              ,Y_minimum_courant
                                                                                              ,Y_maximum_courant
                                                                                              ,Y_conserver_une_valeur_particuliere
                                                                                              ,Y_valeur_particuliere_a_conserver
                                                                                               );
                                                                RECHERCHE_COURANTE_DES_EXTREMA(coordonnee_Z
                                                                                              ,FAUX
                                                                                              ,Z_minimum_courant
                                                                                              ,Z_maximum_courant
                                                                                              ,Z_conserver_une_valeur_particuliere
                                                                                              ,Z_valeur_particuliere_a_conserver
                                                                                               );
                                                                Eblock
                                                                )
                                                           );
                              Eblock
                         ATes
                              Bblock
                              Eblock
                         ETes

#define   X_valeur_a_forcer                                                                                                             \
                    X_valeur_a_forcer_dans_le_cas_de_l_uniformite_du_ficher
#define   Y_valeur_a_forcer                                                                                                             \
                    Y_valeur_a_forcer_dans_le_cas_de_l_uniformite_du_ficher
#define   Z_valeur_a_forcer                                                                                                             \
                    Z_valeur_a_forcer_dans_le_cas_de_l_uniformite_du_ficher
                                        /* Afin de raccourcir les lignes qui suivent...                                              */

                         RECHERCHE_LOCALE_DES_EXTREMA(BLOC(Bblock
                                                           CAL2(Prin3("X=%+.^^^ Y=%+.^^^ Z=%+.^^^\n"
                                                                     ,NORMALISATION_D_UNE_VALEUR(coordonnee_X
                                                                                                ,normaliser
                                                                                                ,X_ignorer_l_uniformite_du_ficher
                                                                                                ,X_valeur_a_forcer
                                                                                                ,X_conserver_une_valeur_particuliere
                                                                                                ,X_valeur_particuliere_a_conserver
                                                                                                ,X_minimum_courant,X_maximum_courant
                                                                                                ,X_minimum_nouveau,X_maximum_nouveau
                                                                                                ,FAUX
                                                                                                 )
                                                                     ,NORMALISATION_D_UNE_VALEUR(coordonnee_Y
                                                                                                ,normaliser
                                                                                                ,Y_ignorer_l_uniformite_du_ficher
                                                                                                ,Y_valeur_a_forcer
                                                                                                ,Y_conserver_une_valeur_particuliere
                                                                                                ,Y_valeur_particuliere_a_conserver
                                                                                                ,Y_minimum_courant,Y_maximum_courant
                                                                                                ,Y_minimum_nouveau,Y_maximum_nouveau
                                                                                                ,FAUX
                                                                                                 )
                                                                     ,NORMALISATION_D_UNE_VALEUR(coordonnee_Z
                                                                                                ,normaliser
                                                                                                ,Z_ignorer_l_uniformite_du_ficher
                                                                                                ,Z_valeur_a_forcer
                                                                                                ,Z_conserver_une_valeur_particuliere
                                                                                                ,Z_valeur_particuliere_a_conserver
                                                                                                ,Z_minimum_courant,Z_maximum_courant
                                                                                                ,Z_minimum_nouveau,Z_maximum_nouveau
                                                                                                ,FAUX
                                                                                                 )
                                                                      )
                                                                );

                                                           INCR(compteur_de_points_dans_le_paquet_courant,I);
                                                           Eblock
                                                           )
                                                      );

#undef    Z_valeur_a_forcer
#undef    Y_valeur_a_forcer
#undef    X_valeur_a_forcer

                         Test(IZGT(compteur_de_points_dans_le_paquet_courant))
                              Bblock
                              CAL2(Prin3("X=%+.^^^ Y=%+.^^^ Z=%+.^^^\n"
                                        ,separateur_des_paquets
                                        ,separateur_des_paquets
                                        ,separateur_des_paquets
                                         )
                                   );
                              Eblock
                         ATes
                              Bblock
                              Eblock
                         ETes
                         Eblock
                    ERep
                    Eblock
               ERep
               Eblock
          ERep
          Eblock
     end_nouveau_block

     lGENERATION_D_UN_FICHIER(liste_initiale_des_Z,Z_IMPLICITE);
     lGENERATION_D_UN_FICHIER(liste_initiale_des_Y,Y_IMPLICITE);
     lGENERATION_D_UN_FICHIER(liste_initiale_des_X,X_IMPLICITE);

     RETU_Commande;
     Eblock
ECommande



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