/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        T E S T   D E   L A   F O N C T I O N   ' fFCzeta_sommation_Euler_MacLaurin(...) '  :                                      */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xtKg/zeta.11$K' :                                                                                              */
/*                                                                                                                                   */
/*                    Jean-Francois COLONNA (LACTAMME, 19990611180422).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

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

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

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        P A R A M E T R E S  :                                                                                                     */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        M A C R O S   U T I L E S  :                                                                                               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   PRINT(x,y)                                                                                                                    \
                    Bblock                                                                                                              \
                    DEFV(complexe,z);                                                                                                   \
                    DEFV(complexe,zeta);                                                                                                \
                    DEFV(Float,INIT(module_zeta,FLOT__UNDEF));                                                                          \
                    DEFV(Float,INIT(argument_zeta,FLOT__UNDEF));                                                                        \
                                                                                                                                        \
                    Cinitialisation(z,x,y);                                                                                             \
                                        /* Calcul de z=x+iy.                                                                         */ \
                    CALS(fFCzeta_sommation_Euler_MacLaurin(z));                                                                         \
                    Cegal(zeta,fFCzeta_sommation_Euler_MacLaurin_____valeur);                                                           \
                                        /* Calcul de l'approximation 'approximation' de 'zeta(z). On procede en deux temps afin      */ \
                                        /* de ne pas evaluer deux fois la fonction 'fFCzeta_sommation_Euler_MacLaurin(...)' a cause  */ \
                                        /* de la programmation de 'Cegal(...)' ('v $ximcd/operator$FON FCegal').                     */ \
                                                                                                                                        \
                    EGAL(module_zeta,FCmodule(zeta));                                                                                   \
                    EGAL(argument_zeta,FCargument_2PI(zeta));                                                                           \
                                                                                                                                        \
                    CAL2(Prin6("zeta(%+g,%+g)=(%+g,%+g)=(%+g,%+g)\n"                                                                    \
                              ,Reelle(z),Imaginaire(z)                                                                                  \
                              ,Reelle(zeta),Imaginaire(zeta)                                                                            \
                              ,module_zeta,argument_zeta                                                                                \
                               )                                                                                                        \
                         );                                                                                                             \
                    Eblock

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        T E S T   D E   L A   F O N C T I O N   ' fFCzeta_sommation_Euler_MacLaurin(...) '  :                                      */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     GET_ARGUMENTS_(nombre_d_arguments
                   ,BLOC(CONTROLE_DES_COMPATIBILITES_DES_FONCTIONS_DES_NOMBRES_COMPLEXES;
                                        /* Mis sous cette forme le 20240626074819...                                                 */

                         GET_ARGUMENT_F("precision_Bernoulli=""pb=",calcul_des_nombres_de_Bernoulli_____precision);
                         GET_ARGUMENT_F("pz=""precision_zeta=",fFCzeta_sommation_Euler_MacLaurin_____precision_du_calcul);
                         GET_ARGUMENT_L("editer_zeta=""ez=",fFCzeta_sommation_Euler_MacLaurin_____editer_les_parametres_de_calcul);
                         GET_ARGUMENT_L("editer_famma=""ef=",fFCfamma_sommation_Euler_MacLaurin_____editer_les_parametres_de_calcul);
                         GET_ARGUMENT_I("Nmin="
                                       ,fFCzeta_sommation_Euler_MacLaurin_____valeur_minimale_de_nombre_N_lors_du_calcul
                                        );
                         GET_ARGUMENT_I("Nmax="
                                       ,fFCzeta_sommation_Euler_MacLaurin_____valeur_maximale_de_nombre_N_lors_du_calcul
                                        );
                         GET_ARGUMENT_I("Vmin="
                                       ,fFCzeta_sommation_Euler_MacLaurin_____valeur_minimale_de_nombre_V_lors_du_calcul
                                        );
                         GET_ARGUMENT_I("Vmax="
                                       ,fFCzeta_sommation_Euler_MacLaurin_____valeur_maximale_de_nombre_V_lors_du_calcul
                                        );
                         )
                    );

     PRINT(0.0,0.0);
                                        /* Valeur attendue (-0.5,0.0).                                                               */
     PRINT(1.0,0.0);
                                        /* Valeur attendue (infini,0.0).                                                             */

     CAL2(Prin0("\n"));

     PRINT(-1.0,0.0);
                                        /* Valeur attendue (-1/12,0)=(0.0833333,0.0).                                                */
     PRINT(-2.0,0.0);
     PRINT(-3.0,0.0);
     PRINT(-4.0,0.0);
     PRINT(-5.0,0.0);
     PRINT(-6.0,0.0);
     PRINT(-7.0,0.0);
     PRINT(-8.0,0.0);
     PRINT(-9.0,0.0);

     CAL2(Prin0("\n"));

     PRINT(0.5,0.0);
                                        /* Valeur attendue (-1.46035496,0.0).                                                        */
     PRINT(0.5,18.0);
                                        /* Valeur attendue (+2.32922,-0.18865).                                                      */
     PRINT(2.0,0.0);
                                        /* Valeur attendue (+1.64493378,0.0).                                                        */
     PRINT(3.0,0.0);
                                        /* Valeur attendue (+1.20205,0.0).                                                           */

     CAL2(Prin0("\n"));

     PRINT(0.5,14.134725);
     PRINT(0.5,21.02);
     PRINT(0.5,25.01);
     PRINT(0.5,30.42);
     PRINT(0.5,32.93);
     PRINT(0.5,37.58);
                                        /* Valeur attendue (0.0,0.0).                                                                */

     CAL2(Prin0("\n"));

     PRINT(-19.500,+34.5);
     PRINT(-19.501,+34.5);
     PRINT(-19.502,+34.5);
     PRINT(-19.503,+34.5);
     PRINT(-19.504,+34.5);
     PRINT(-19.505,+34.5);
     PRINT(-19.506,+34.5);
     PRINT(-19.507,+34.5);
     PRINT(-19.508,+34.5);
     PRINT(-19.509,+34.5);
                                        /* Ici, il faut de la "continuite"...                                                        */

     CAL2(Prin0("\n"));

     PRINT(-20.0,+17.0);
                                        /* Valeur attendue (+0.6694277274e+10,-0.2672524462e+11).                                    */
     PRINT(-30.0,-53.0);
                                        /* Valeur attendue (+0.6668001546e+29,+0.4774846360e+29).                                    */

     CAL2(Prin0("\n"));

     RETU_Commande;
     Eblock
ECommande



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