/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        T E S T   D E   L A   D E R I V A T I O N   F O R M E L L E  :                                                             */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xtKg/derivees.21$K' :                                                                                          */
/*                                                                                                                                   */
/*                    Jean-Francois COLONNA (LACTAMME, 1993??????????).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

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

#include  xtKg/derivees.21.I"
#include  xrq/Laguerre.11.I"
#include  xrq/Legendre.11.I"
#include  xrq/Hspherik.11.I"

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

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        M A C R O S   U T I L E S  :                                                                                               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   PRINT(titre,fonction)                                                                                                         \
                    Bblock                                                                                                              \
                    CAL2(Prin2("%-40s : Fonction=%#+14.8f\n"                                                                            \
                              ,titre                                                                                                    \
                              ,fonction                                                                                                 \
                               )                                                                                                        \
                         );                                                                                                             \
                                        /* On notera l'utilisation de "%f" (et non pas de "%g" comme a l'habitude) a cause d'un bug  */ \
                                        /* explicite dans 'v $Dbugs/SGIND424$D/IRIX$D/CC$D/printf.01$c'.                             */ \
                    Eblock

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        T E S T   D E   L A   D E R I V A T I O N   F O R M E L L E  :                                                             */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     DEFV(Float,INIT(x1,FLOT(UN)));
     DEFV(Float,INIT(d_x1,d_FVARIABLES_DE_DERIVATION));

     DEFV(Float,INIT(x2,FLOT(DEUX)));
     DEFV(Float,INIT(d_x2,d_FVARIABLES_DE_DERIVATION));

     DEFV(Float,INIT(x3,FLOT(TROIS)));
     DEFV(Float,INIT(d_x3,d_FVARIABLES_DE_DERIVATION));

     DEFV(Float,INIT(x4,FLOT(QUATRE)));
     DEFV(Float,INIT(d_x4,d_FVARIABLES_DE_DERIVATION));

     DEFV(Float,INIT(xm,FLOT__UNDEF));
     DEFV(Float,INIT(d_xm,d_FVARIABLES_DE_DERIVATION));

     DEFV(Float,INIT(harmonique_spherique_R,FLOT__UNDEF));
     DEFV(Float,INIT(harmonique_spherique_I,FLOT__UNDEF));
     /*..............................................................................................................................*/
     GET_ARGUMENTS_(nombre_d_arguments
                   ,BLOC(VIDE;)
                    );

     PRINT("d10 : Polynomes de Laguerre (-2)"
          ,LAGUERRE(x3,ORDRE1,ORDRE0)
           );
     PRINT("d20 : Polynomes de Laguerre (-1)"
          ,LAGUERRE(x3,ORDRE2,ORDRE0)
           );
     PRINT("d30 : Polynomes de Laguerre (+6)"
          ,LAGUERRE(x3,ORDRE3,ORDRE0)
           );
     PRINT("d11 : Polynomes de Laguerre"
          ,LAGUERRE(x3,ORDRE1,ORDRE1)
           );
     PRINT("d21 : Polynomes de Laguerre"
          ,LAGUERRE(x3,ORDRE2,ORDRE1)
           );
     PRINT("d12 : Polynomes de Laguerre"
          ,LAGUERRE(x3,ORDRE1,ORDRE2)
           );

     PRINT("d10 : Polynomes de Legendre (+3)"
          ,LEGENDRE(x3,ORDRE1,ORDRE0)
           );
     PRINT("d20 : Polynomes de Legendre (+13)"
          ,LEGENDRE(x3,ORDRE2,ORDRE0)
           );
     PRINT("d30 : Polynomes de Legendre (+63)"
          ,LEGENDRE(x3,ORDRE3,ORDRE0)
           );

     PRINT("d30 : premiere composante"
          ,PUIX(NEGA(FU),ORDRE0)
           );
     PRINT("d30 : deuxieme composante"
          ,RACX(DIVI(MUL2(AXPB(DEUX,ORDRE3,UN),FACT(SOUS(ORDRE3,ORDRE0))),MUL2(GRO4(PI),FACT(ADD2(ORDRE3,ORDRE0)))))
           );
     EGAL(xm,COSX(x2));
     PRINT("d30 : troisieme composante"
          ,LEGENDRE(xm,ORDRE3,ORDRE0)
           );
     PRINT("d30 : quatrieme composante (cos)"
          ,COSX(MUL2(ORDRE0,x3))
           );
     PRINT("d30 : quatrieme composante (sin)"
          ,SINX(MUL2(ORDRE0,x3))
           );

     HARMONIQUES_SPHERIQUES_R(harmonique_spherique_R,x2,x3,ORDRE3,ORDRE0);
     PRINT("d30 : Harmoniques spheriques R"
          ,harmonique_spherique_R
           );
     HARMONIQUES_SPHERIQUES_I(harmonique_spherique_I,x2,x3,ORDRE3,ORDRE0);
     PRINT("d30 : Harmoniques spheriques I"
          ,harmonique_spherique_I
           );

     CAL2(Prin0("\n"));

     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.