/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        C A L C U L   " E T E N D U "   D E   ' AX+B '  :                                                                          */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xcg/AXPBx.01$K' :                                                                                              */
/*                                                                                                                                   */
/*                    Jean-Francois COLONNA (LACTAMME, 20180818095211).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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_____AUTORISER_LE_GooF
#define   GENERER_LES_GET_ARGUMENTS_DE_CONTROLE_DE_L_ARITHMETIQUE_ETENDUE_DES_NOMBRES_FLOTTANTS

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

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        P A R A M E T R E S  :                                                                                                     */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   UTILISER_LE_GooF                                                                                                              \
                    VRAI                                                                                                                \
                                        /* Faut-il utiliser le 'GooF' ? Le 20181109105028, la valeur par defaut est passee de 'FAUX' */ \
                                        /* a 'VRAI' (ce qui ne change pas le comportement par defaut (tant que les ponderations des  */ \
                                        /* differentes fonctions type 'FfxADD2(...)' ne sont pas modifiees...                        */

#define   NOMBRE_A                                                                                                                      \
                    FU
#define   NOMBRE_X                                                                                                                      \
                    FU
#define   NOMBRE_B                                                                                                                      \
                    FZERO
                                        /* Les trois nombres flottants pour lesquels on va calculer 'ax+b'.                          */

#include  xcg/ARIT.01.I"
#include  xci/valeurs.01.I"

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        M A C R O S   U T I L E S  :                                                                                               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  xci/valeurs.02.I"

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        C A L C U L   " E T E N D U "   D E   ' AX+B '  :                                                                          */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     DEFV(Logical,INIT(utiliser_le_GooF,UTILISER_LE_GooF));
                                        /* Faut-il utiliser le 'GooF' ? Le 20181109105028, la valeur par defaut est passee de 'FAUX' */
                                        /* a 'VRAI' (ce qui ne change pas le comportement par defaut (tant que les ponderations des  */
                                        /* differentes fonctions type 'FfxADD2(...)' ne sont pas modifiees...                        */

     DEFV(Float,INIT(nombre_A,NOMBRE_A));
     DEFV(Float,INIT(nombre_X,NOMBRE_X));
     DEFV(Float,INIT(nombre_B,NOMBRE_B));
                                        /* Les trois nombres flottants pour lesquels on va calculer 'ax+b'.                          */

#include  xci/valeurs.03.I"
     /*..............................................................................................................................*/
     GET_ARGUMENTS_(nombre_d_arguments
                   ,BLOC(GET_ARGUMENT_F("nombre_A=""a=""A=",nombre_A);
                         GET_ARGUMENT_F("x=""nombre_X=""X=",nombre_X);
                         GET_ARGUMENT_F("nombre_B=""b=""B=",nombre_B);

                         GET_ARGUMENT_L("GooF=",utiliser_le_GooF);
                                        /* ATTENTION, je note le 20180818103114 que :                                                */
                                        /*                                                                                           */
                                        /*                  GooF=VRAI                                                                */
                                        /*                                                                                           */
                                        /* n'a d'interet que si l'on utilise de plus :                                               */
                                        /*                                                                                           */
                                        /*                  arithmetique_etendue=VRAI                                                */
                                        /*                                                                                           */

                         PROCESS_ARGUMENTS_DE_PARAMETRAGE_DE_LA_GENERATION_DE_SUITE_DE_VALEURS_1;
                         PROCESS_ARGUMENTS_DE_PARAMETRAGE_DE_LA_GENERATION_DE_SUITE_DE_VALEURS_2;
                                        /* Ces deux procedures furent introduites le 20061226182255...                               */
                         )
                    );

     begin_nouveau_block
          Bblock
          DEFV(Float,INIT(valeur_courante,FLOT__UNDEF));

          USs_GooF______CONDITIONNEL(utiliser_le_GooF
                                    ,BLOC(
                                          Bblock
                                          EGAL(valeur_courante,AXPB(nombre_A,nombre_X,nombre_B));
                                        /* Calcul des elements attendus de la suite (avec 'GooF' par defaut...) suivant :            */
                                        /*                                                                                           */
                                        /*                  A.X + B                                                                  */
                                        /*                                                                                           */
                                        /* par defaut...                                                                             */
                                        /*                                                                                           */
                                        /* On notera le 20181008150627 une arithmetique originale "MAX-MIN" ou l'addition est        */
                                        /* remplacee par le maximum et la multiplication par le minimum. Il suffit de faire :        */
                                        /*                                                                                           */
                                        /*                  arithmetique_etendue=VRAI                                                */
                                        /*                  GooF=VRAI                                                                */
                                        /*                  pxADD2_ADD2=0 pxMAX2_ADD2=1                                              */
                                        /*                  pxMUL2_MUL2=0 pxMIN2_MUL2=1                                              */
                                        /*                                                                                           */
                                        /* On notera le 20181109105028 que l'on ne procede pas ici comme, par exemple, dans          */
                                        /* 'v $xcg/ADD2x.01$K FfxADD2' car, en effet, il n'existe pas de fonction 'FfxAXPB(...)'     */
                                        /* comme il existe 'FfxADD2(...)'...                                                         */
                                          Eblock
                                          )
                                     );

          EDITION_DE_LA_VALEUR_DE_L_OPERATEUR(valeur_courante);
                                        /* Edition de la valeur...                                                                   */
          Eblock
     end_nouveau_block

     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.