/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        G E N E R A T E U R S   A L E A T O I R E S  :                                                                             */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Definition :                                                                                                               */
/*                                                                                                                                   */
/*                    Dans ce fichier se trouvent                                                                                    */
/*                  des generateurs aleatoires bi-                                                                                   */
/*                  et tri-dimensionnels redonnant                                                                                   */
/*                  toujours la meme valeur en les                                                                                   */
/*                  memes points (a graine constante...).                                                                            */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$ximf/aleatoires$DEF' :                                                                                         */
/*                                                                                                                                   */
/*                    Jean-Francois COLONNA (LACTAMME, 19870000000000).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        P A R A M E T R E S   D E S   G E N E R A T E U R S   A L E A T O I R E S  :                                               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
Denumer04(INIS(_RDN_INIT,UN)
                                        /* Afin d'initialiser un generateur aleatoire,                                               */
              ,_RDN_GENERE
                                        /* Afin de generer un nombre aleatoire,                                                      */
              ,_RDN_INIT_AND_GENERE
                                        /* Afin d'initialiser un generateur aleatoire et de generer un nombre aleatoire.             */
              ,DERNIERE_FONCTION_DES_GENERATEURS_ALEATOIRES
         ,nom_des_FONCTIONS_DES_GENERATEURS_ALEATOIRES
          );

#define   RDN_INIT                                                                                                                      \
                    ENUM(_RDN_INIT)
#define   RDN_GENERE                                                                                                                    \
                    ENUM(_RDN_GENERE)
#define   RDN_INIT_AND_GENERE                                                                                                           \
                    ENUM(_RDN_INIT_AND_GENERE)

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        C H O I X   D E   L A   L O I   D E   D I S T R I B U T I O N  :                                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
Denumer04(INIS(_RDN_UNIFORME,UN)
                                        /* Afin d'obtenir une distribution uniforme,                                                 */
              ,_RDN_GAUSSIENNE
                                        /* Afin d'obtenir une distribution gaussienne.                                               */
              ,_RDN_ARBITRAIRE_SUB
                                        /* Afin d'obtenir une distribution arbitraire definie par la substitution courante           */
                                        /* (introduit le 20110401173222).                                                            */
              ,DERNIERE_LOI_DE_DISTRIBUTION_DES_GENERATEURS_ALEATOIRES
         ,nom_des_LOIS_DE_DISTRIBUTION_DES_GENERATEURS_ALEATOIRES
          );

#define   RDN_UNIFORME                                                                                                                  \
                    ENUM(_RDN_UNIFORME)
#define   RDN_GAUSSIENNE                                                                                                                \
                    ENUM(_RDN_GAUSSIENNE)
#define   RDN_ARBITRAIRE_SUB                                                                                                            \
                    ENUM(_RDN_ARBITRAIRE_SUB)
                                        /* Ceci fut introduit le 20110328114501...                                                   */

#define   CONTROLE_DE_L_ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE__ARGUMENT_substitution_1                                        \
                    "loi_ARBITRAIRE_SUBSTITUTION_substitution=""lASs=""substitution="

#ifdef    CONTROLE_DE_L_ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE__ARGUMENT_substitution__PAS_s
#    define    CONTROLE_DE_L_ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE__ARGUMENT_substitution_2                                   \
                         CONTROLE_DE_L_ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE__ARGUMENT_substitution_1
#Aifdef   CONTROLE_DE_L_ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE__ARGUMENT_substitution__PAS_s
#    define    CONTROLE_DE_L_ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE__ARGUMENT_substitution_2                                   \
                         CONTROLE_DE_L_ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE__ARGUMENT_substitution_1"s="
#Eifdef   CONTROLE_DE_L_ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE__ARGUMENT_substitution__PAS_s

                                        /* Dispositif introduit le 20110403080807 pour 'v $xci/random.02$K .seuil=..s=.'...          */

#define   CONTROLE_DE_L_ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE__ARGUMENT_palette_1                                             \
                    "loi_ARBITRAIRE_SUBSTITUTION_paletteA=""lASp=""paletteA=""palette=""pA="

#ifdef    CONTROLE_DE_L_ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE__ARGUMENT_palette__PAS_p
#    define    CONTROLE_DE_L_ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE__ARGUMENT_palette_2                                        \
                         CONTROLE_DE_L_ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE__ARGUMENT_palette_1
#Aifdef   CONTROLE_DE_L_ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE__ARGUMENT_palette__PAS_p
#    define    CONTROLE_DE_L_ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE__ARGUMENT_palette_2                                        \
                         CONTROLE_DE_L_ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE__ARGUMENT_palette_1"p="
#Eifdef   CONTROLE_DE_L_ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE__ARGUMENT_palette__PAS_p

                                        /* Dispositif introduit le 20110403080807 pour 'v $xci/valeurs_alea$K .premiere=..p=..D=.'.  */

#define   CONTROLE_DE_L_ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE                                                                 \
                    Bblock                                                                                                              \
                                                                                                                                        \
                    DEBUT_D_IMBRICATION_DES_____gPROCESS_PARAMETRE_____SECONDAIRES;                                                     \
                                                                                                                                        \
                    GET_ARGUMENT_I("loi_distribution=""loi="                                                                            \
                                  ,ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE_____loi_de_distribution                              \
                                   );                                                                                                   \
                                                                                                                                        \
                    GET_ARGUMENT_I("loi_GAUSS_tentatives=""lGt="                                                                        \
                                  ,ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE_____loi_de_distribution_gaussienne__Ntentatives      \
                                   );                                                                                                   \
                    GET_ARGUMENT_F("loi_GAUSS_esperance=""lGe=""lGm="                                                                   \
                                  ,ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE_____loi_de_distribution_gaussienne__esperance_       \
                                   );                                                                                                   \
                    GET_ARGUMENT_F("loi_GAUSS_ecart_type=""lGs="                                                                        \
                                  ,ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE_____loi_de_distribution_gaussienne__ecart_type       \
                                   );                                                                                                   \
                                                                                                                                        \
                    GET_ARGUMENT_I("loi_ARBITRAIRE_SUBSTITUTION_nombre_tentatives=""lASnt="                                             \
                                  ,ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE_____loi_de_distribution_arbitraire_sub__Ntentatives  \
                                   );                                                                                                   \
                    GET_ARGUMENT_L("loi_ARBITRAIRE_SUBSTITUTION_lissage=""lASl="                                                        \
                                  ,ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE_____loi_de_distribution_arbitraire_sub__lissage      \
                                   );                                                                                                   \
                    GET_ARGUMENT_I("loi_ARBITRAIRE_SUBSTITUTION_Npasses=""lASnp="                                                       \
                                  ,ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE_____loi_de_distribution_arbitraire_sub__Npasses      \
                                   );                                                                                                   \
                    GET_ARGUMENT_I("loi_ARBITRAIRE_SUBSTITUTION_pas_couleurs=""lASpc="                                                  \
                                  ,ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE_____loi_de_distribution_arbitraire_sub__PAS_COL      \
                                   );                                                                                                   \
                    PROCESS_ARGUMENT_C(CONTROLE_DE_L_ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE__ARGUMENT_substitution_2           \
                                      ,nom_substitution                                                                                 \
                                      ,BLOC(VIDE;)                                                                                      \
                                      ,BLOC(Bblock                                                                                      \
                                            INITIALISATION_LISTES_DE_SUBSTITUTION;                                                      \
                                            Eblock                                                                                      \
                                            )                                                                                           \
                                       );                                                                                               \
                    PROCESS_ARGUMENT_C(CONTROLE_DE_L_ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE__ARGUMENT_palette_2                \
                                      ,nom_paletteA                                                                                     \
                                      ,BLOC(VIDE;)                                                                                      \
                                      ,BLOC(Bblock                                                                                      \
                                            INITIALISATION_LISTES_DE_SUBSTITUTION;                                                      \
                                            Eblock                                                                                      \
                                            )                                                                                           \
                                       );                                                                                               \
                                                                                                                                        \
                    FIN___D_IMBRICATION_DES_____gPROCESS_PARAMETRE_____SECONDAIRES;                                                     \
                                                                                                                                        \
                    Eblock                                                                                                              \
                                        /* Introduit le 20110401144059...                                                            */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        M E T H O D E   C H O I S I E   P O U R   G E N E R E R   U N E   C O M B I N A I S O N                                    */
/*        D E S   C O O R D O N N E E S   ( X , Y [ , Z ] )   P O U R   I N I T I A L I S E R                                        */
/*        L A   G E N E R A T I O N   D E S   N O M B R E S   A L E A T O I R E S  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
Denumer08(INIS(_GENERATEUR_ALEATOIRE_gen1,UN)
              ,_GENERATEUR_ALEATOIRE_gen2
              ,_GENERATEUR_ALEATOIRE_gen3
              ,_GENERATEUR_ALEATOIRE_gen4
              ,_GENERATEUR_ALEATOIRE_gen5
              ,_GENERATEUR_ALEATOIRE_gen6
              ,_GENERATEUR_ALEATOIRE_gen7
              ,DERNIER_GENERATEUR_ALEATOIRE
         ,nom_des_GENERATEURS_ALEATOIRES
          );
#define   GENERATEUR_ALEATOIRE_gen1                                                                                                     \
                    ENUM(_GENERATEUR_ALEATOIRE_gen1)
#define   GENERATEUR_ALEATOIRE_gen2                                                                                                     \
                    ENUM(_GENERATEUR_ALEATOIRE_gen2)
#define   GENERATEUR_ALEATOIRE_gen3                                                                                                     \
                    ENUM(_GENERATEUR_ALEATOIRE_gen3)
#define   GENERATEUR_ALEATOIRE_gen4                                                                                                     \
                    ENUM(_GENERATEUR_ALEATOIRE_gen4)
#define   GENERATEUR_ALEATOIRE_gen5                                                                                                     \
                    ENUM(_GENERATEUR_ALEATOIRE_gen5)
#define   GENERATEUR_ALEATOIRE_gen6                                                                                                     \
                    ENUM(_GENERATEUR_ALEATOIRE_gen6)
#define   GENERATEUR_ALEATOIRE_gen7                                                                                                     \
                    ENUM(_GENERATEUR_ALEATOIRE_gen7)
#define   METHODE_STANDARD_gen_ft                                                                                                       \
                    GENERATEUR_ALEATOIRE_gen5                                                                                           \
                                        /* La methode standard est 'gen5_ft'.                                                        */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        G E S T I O N   D E S   N O M B R E S   A L E A T O I R E S   E N T I E R S  :                                             */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   MAJORATION_BORNE_SUPERIEURE_D_UNE_GENERATION_ALEATOIRE_ENTIERE(borne_superieure)                                              \
                    ADD2(FLOT(borne_superieure),SOUS(FU,mgEPSILON))                                                                     \
                                        /* Afin de garantir que la borne superieure sera bien atteinte en valeur entiere (cela       */ \
                                        /* fut introduit le 20070210091517).                                                         */



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.