/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N S   D E   Q U E L Q U E S   P R O C E D U R E S   N E C E S S A I R E S                                */
/*        A   L ' E T U D E   D E   L ' A T O M E   D ' H Y D R O G E N E  :                                                         */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xrq/Hspherik.15$I' :                                                                                           */
/*                                                                                                                                   */
/*                    Jean-Francois Colonna (LACTAMME, 1993??????????).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        L I M I T A T I O N   D U   R A Y O N   D E   V I S U A L I S A T I O N  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#TestADef RAYON_MINIMAL_DE_VISUALISATION                                                                                                \
                    FRA10(FRA10(FU))                                                                                                    \
                                        /* Rayon minimal du disque materialisant une iteration. ATTENTION : cette constante ne       */ \
                                        /* peut etre exprimee en fonction de 'RAYON_DE_VISUALISATION', car en effet, la premiere     */ \
                                        /* est plutot liee a l'image, alors que la seconde est plutot liee au modele...              */
#define   RAYON_MAXIMAL_DE_VISUALISATION                                                                                                \
                    GRO2(GRO10(RAYON_MINIMAL_DE_VISUALISATION))                                                                         \
                                        /* Rayon maximal du disque materialisant une iteration.                                      */
DEFV(Local,DEFV(Float,INIT(plus_grand_rayon_rencontre,F_MOINS_L_INFINI)));
                                        /* Afin de savoir si un ou plusieurs rayons trop grands ont ete rencontres...                */

#define   LIMITATION_DU_RAYON_DE_VISUALISATION                                                                                          \
                    Bblock                                                                                                              \
                    EGAL(plus_grand_rayon_rencontre                                                                                     \
                        ,MAX2(rayon_de_visualisation                                                                                    \
                             ,plus_grand_rayon_rencontre                                                                                \
                              )                                                                                                         \
                         );                                                                                                             \
                                        /* On recherche le plus rayon de visualisation rencontre...                                  */ \
                    EGAL(rayon_de_visualisation                                                                                         \
                        ,TRON(rayon_de_visualisation                                                                                    \
                             ,RAYON_MINIMAL_DE_VISUALISATION                                                                            \
                             ,RAYON_MAXIMAL_DE_VISUALISATION                                                                            \
                              )                                                                                                         \
                         );                                                                                                             \
                                        /* Et on fait en sorte qu'il ne soit pas trop petit...                                       */ \
                    Eblock                                                                                                              \
                                        /* Limitation du rayon de visualisation, et preparation de l'edition d'un eventuel           */ \
                                        /* "debordement"...                                                                          */

#define   EDITION_DES_DEBORDEMENTS_DU_RAYON_DE_VISUALISATION                                                                            \
                    Bblock                                                                                                              \
                    Test(IFGT(plus_grand_rayon_rencontre,RAYON_MAXIMAL_DE_VISUALISATION))                                               \
                         Bblock                                                                                                         \
                         PRINT_ERREUR("au moins un rayon de visualisation a ete superieur au maximum autorise");                        \
                         CAL1(Prer1("plus grand rayon = %g\n",plus_grand_rayon_rencontre));                                             \
                         CAL1(Prer1("maximum autorise = %g\n",RAYON_MAXIMAL_DE_VISUALISATION));                                         \
                         Eblock                                                                                                         \
                    ATes                                                                                                                \
                         Bblock                                                                                                         \
                         Eblock                                                                                                         \
                    ETes                                                                                                                \
                    Eblock                                                                                                              \
                                        /* Edition d'un eventuel "debordement" du rayon de visualisation...                          */



Copyright © Jean-François Colonna, 2019-2021.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / Ecole Polytechnique, 2019-2021.