/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        A P P L I C A T I O N   D E   F O N C T I O N S   Q U E L C O N Q U E S                                                    */
/*        D A N S   L E   P L A N   H Y P E R - C O M P L E X E  :                                                                   */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xrv/q_fonctions.41$K' :                                                                                        */
/*                                                                                                                                   */
/*                    Jean-Francois COLONNA (LACTAMME, 20220616111046).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

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

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        V A L E U R S   I M P L I C I T E S   D E S   P A R A M E T R E S  :                                                       */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   NOMBRE_D_ITERATIONS                                                                                                           \
                    UN                                                                                                                  \
                                        /* Nombre d'iterations de la transformation.                                                 */

#define   PONDERATION_NEUTRE__________________                                                                                          \
                    FU
#define   PONDERATION_COSINUS_CIRCULAIRE______                                                                                          \
                    FZERO
#define   PONDERATION_SINUS_CIRCULAIRE________                                                                                          \
                    FZERO
#define   PONDERATION_TANGENTE_CIRCULAIRE_____                                                                                          \
                    FZERO
#define   PONDERATION_COSINUS_HYPERBOLIQUE____                                                                                          \
                    FZERO
#define   PONDERATION_SINUS_HYPERBOLIQUE______                                                                                          \
                    FZERO
#define   PONDERATION_TANGENTE_HYPERBOLIQUE___                                                                                          \
                    FZERO
#define   PONDERATION_EXPONENTIELLE___________                                                                                          \
                    FZERO
#define   PONDERATION_EXPONENTIELLE_NEPERIENNE                                                                                          \
                    FZERO
#define   PONDERATION_LOGARITHME______________                                                                                          \
                    FZERO
                                        /* Ponderation de selection des fonctions.                                                   */

#define   BASE_DE_L_EXPONENTIELLE_NEPERIENNE                                                                                            \
                    EN                                                                                                                  \
                                        /* Base de la fonction 'FHCexponentielle(...)'                                               */

#define   PONDERATION_R                                                                                                                 \
                    FZERO
#define   PONDERATION_I                                                                                                                 \
                    FZERO
#define   PONDERATION_J                                                                                                                 \
                    FZERO
#define   PONDERATION_K                                                                                                                 \
                    FZERO
                                        /* Ponderations de selection des coordonnees cartesiennes apres transformation.              */
#define   PONDERATION_RR                                                                                                                \
                    FZERO
#define   PONDERATION_AT                                                                                                                \
                    FZERO
#define   PONDERATION_AP                                                                                                                \
                    FZERO
#define   PONDERATION_AA                                                                                                                \
                    FZERO
                                        /* Ponderations de selection des coordonnees hyper-spheriques apres transformation.          */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E S   T R O I S   F I C H I E R S  :                                                               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  xrv/ARITHMET.1d.I"
#include  xrv/ARITHMET.21.I"
#include  xrv/champs_5.41.I"

#define   R_IMPLICITE                                                                                                                   \
                    FZERO
#define   I_IMPLICITE                                                                                                                   \
                    FZERO
#define   J_IMPLICITE                                                                                                                   \
                    FZERO
#define   K_IMPLICITE                                                                                                                   \
                    FZERO

gGENERATION_D_UN_FICHIER(fichier_LISTE_R,liste_initiale_des_R);
gGENERATION_D_UN_FICHIER(fichier_LISTE_I,liste_initiale_des_I);
gGENERATION_D_UN_FICHIER(fichier_LISTE_J,liste_initiale_des_J);
gGENERATION_D_UN_FICHIER(fichier_LISTE_K,liste_initiale_des_K);
                                        /* Definition en memoire des fichiers de coordonnees.                                        */

#define   ELEMENT_DU_FICHIER_LISTE_R(index)                                                                                             \
                    gELEMENT_DU_FICHIER(liste_initiale_des_R,index)
#define   ELEMENT_DU_FICHIER_LISTE_I(index)                                                                                             \
                    gELEMENT_DU_FICHIER(liste_initiale_des_I,index)
#define   ELEMENT_DU_FICHIER_LISTE_J(index)                                                                                             \
                    gELEMENT_DU_FICHIER(liste_initiale_des_J,index)
#define   ELEMENT_DU_FICHIER_LISTE_K(index)                                                                                             \
                    gELEMENT_DU_FICHIER(liste_initiale_des_K,index)

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        I N I T I A L I S A T I O N S   D I V E R S E S  :                                                                         */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        A P P L I C A T I O N   D E   F O N C T I O N S   Q U E L C O N Q U E S                                                    */
/*        D A N S   L E   P L A N   H Y P E R - C O M P L E X E  :                                                                   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
#include  xrv/ARITHMET.22.I"
#include  xci/valeurs.03.I"

     DEFV(Positive,INIT(nombre_d_iterations,NOMBRE_D_ITERATIONS));
                                        /* Nombre d'iterations de la transformation.                                                 */

     DEFV(Float,INIT(ponderation_neutre__________________,PONDERATION_NEUTRE__________________));
     DEFV(Float,INIT(ponderation_cosinus_circulaire______,PONDERATION_COSINUS_CIRCULAIRE______));
     DEFV(Float,INIT(ponderation_sinus_circulaire________,PONDERATION_SINUS_CIRCULAIRE________));
     DEFV(Float,INIT(ponderation_tangente_circulaire_____,PONDERATION_TANGENTE_CIRCULAIRE_____));
     DEFV(Float,INIT(ponderation_cosinus_hyperbolique____,PONDERATION_COSINUS_HYPERBOLIQUE____));
     DEFV(Float,INIT(ponderation_sinus_hyperbolique______,PONDERATION_SINUS_HYPERBOLIQUE______));
     DEFV(Float,INIT(ponderation_tangente_hyperbolique___,PONDERATION_TANGENTE_HYPERBOLIQUE___));
     DEFV(Float,INIT(ponderation_exponentielle_neperienne,PONDERATION_EXPONENTIELLE_NEPERIENNE));
     DEFV(Float,INIT(ponderation_logarithme______________,PONDERATION_LOGARITHME______________));
                                        /* Ponderation de selection des fonctions.                                                   */

     DEFV(Float,INIT(ponderation_R,PONDERATION_R));
     DEFV(Float,INIT(ponderation_I,PONDERATION_I));
     DEFV(Float,INIT(ponderation_J,PONDERATION_J));
     DEFV(Float,INIT(ponderation_K,PONDERATION_K));
                                        /* Ponderations de selection des coordonnees cartesiennes apres transformation.              */
     DEFV(Float,INIT(ponderation_RR,PONDERATION_RR));
     DEFV(Float,INIT(ponderation_AT,PONDERATION_AT));
     DEFV(Float,INIT(ponderation_AP,PONDERATION_AP));
     DEFV(Float,INIT(ponderation_AA,PONDERATION_AA));
                                        /* Ponderations de selection des coordonnees hyper-spheriques apres transformation.          */

     DEFV(Float,INIT(base_de_l_exponentielle_neperienne,BASE_DE_L_EXPONENTIELLE_NEPERIENNE));
                                        /* Base de la fonction 'FHCexponentielle(...)'                                               */
     /*..............................................................................................................................*/
#include  xrv/champs_5.1A.I"

     GET_ARGUMENTS_(nombre_d_arguments
                   ,BLOC(PROCESS_ARGUMENT_I("nombre_elements=""ne=",nombre_d_elements
                                           ,BLOC(VIDE;)
                                           ,BLOC(Bblock
                                                 PRINT_AVERTISSEMENT("'ne=' doit etre defini avant toute entree de fichiers");
                                                 Eblock
                                                 )
                                            );

                         PROCESS_ARGUMENTS_DE_DEFINITION_DES_FICHIERS_01;

                         PROKESF_ARGUMENT_FICHIER("LISTE_R=""LISTE_X="
                                                 ,fichier_LISTE_R
                                                 ,liste_initiale_des_R
                                                 ,R_IMPLICITE
                                                 ,lTRANSFORMAT_0d
                                                 ,iGENERATION_D_UN_FICHIER
                                                  );
                         PROKESF_ARGUMENT_FICHIER("LISTE_I=""LISTE_Y="
                                                 ,fichier_LISTE_I
                                                 ,liste_initiale_des_I
                                                 ,I_IMPLICITE
                                                 ,lTRANSFORMAT_0d
                                                 ,iGENERATION_D_UN_FICHIER
                                                  );
                         PROKESF_ARGUMENT_FICHIER("LISTE_J=""LISTE_Z="
                                                 ,fichier_LISTE_J
                                                 ,liste_initiale_des_J
                                                 ,J_IMPLICITE
                                                 ,lTRANSFORMAT_0d
                                                 ,iGENERATION_D_UN_FICHIER
                                                  );
                         PROKESF_ARGUMENT_FICHIER("LISTE_K="
                                                 ,fichier_LISTE_K
                                                 ,liste_initiale_des_K
                                                 ,K_IMPLICITE
                                                 ,lTRANSFORMAT_0d
                                                 ,iGENERATION_D_UN_FICHIER
                                                  );

                         GET_ARGUMENT_I("nombre=""iterations=",nombre_d_iterations);

                         GET_ARGUMENT_F("PondNEUT=""pn=",ponderation_neutre__________________);
                         GET_ARGUMENT_F("PondCosC=""pcc=",ponderation_cosinus_circulaire______);
                         GET_ARGUMENT_F("PondSinC=""psc=",ponderation_sinus_circulaire________);
                         GET_ARGUMENT_F("PondTanC=""ptc=",ponderation_tangente_circulaire_____);
                         GET_ARGUMENT_F("PondCosH=""pch=",ponderation_cosinus_hyperbolique____);
                         GET_ARGUMENT_F("PondSinH=""psh=",ponderation_sinus_hyperbolique______);
                         GET_ARGUMENT_F("PondTanH=""pth=",ponderation_tangente_hyperbolique___);
                         GET_ARGUMENT_F("PondExpN=""pen=",ponderation_exponentielle_neperienne);
                         GET_ARGUMENT_F("PondLog=""pl=",ponderation_logarithme______________);

                         GET_ARGUMENT_F("Pond1=""pR=""px=""pX=",ponderation_R);
                         GET_ARGUMENT_F("Pond2=""pI=""py=""pY=",ponderation_I);
                         GET_ARGUMENT_F("Pond3=""pJ=""pz=""pZ=",ponderation_J);
                         GET_ARGUMENT_F("Pond4=""pK=",ponderation_K);

                         GET_ARGUMENT_F("PondRR=""prr=",ponderation_RR);
                         GET_ARGUMENT_F("PondAT=""pat=",ponderation_AT);
                         GET_ARGUMENT_F("PondAP=""pap=",ponderation_AP);
                         GET_ARGUMENT_F("PondAA=""paa=",ponderation_AA);

                         GET_ARGUMENT_L("DeveloppementSerieCosC=""dscc="
                                       ,fFHCcosinus_circulaire_____utiliser_le_developpement_en_serie
                                        );
                         GET_ARGUMENT_L("DeveloppementSerieSinC=""dssc="
                                       ,fFHCsinus_circulaire_____utiliser_le_developpement_en_serie
                                        );
                         GET_ARGUMENT_L("DeveloppementSerieTanC=""dstc="
                                       ,fFHCtangente_circulaire_____utiliser_le_developpement_en_serie
                                        );
                         GET_ARGUMENT_L("DeveloppementSerieCosH=""dsch="
                                       ,fFHCcosinus_hyperbolique_____utiliser_le_developpement_en_serie
                                        );
                         GET_ARGUMENT_L("DeveloppementSerieSinH=""dssh="
                                       ,fFHCsinus_hyperbolique_____utiliser_le_developpement_en_serie
                                        );
                         GET_ARGUMENT_L("DeveloppementSerieTanH=""dsth="
                                       ,fFHCtangente_hyperbolique_____utiliser_le_developpement_en_serie
                                        );

                         GET_ARGUMENT_F("base=",base_de_l_exponentielle_neperienne);

                         PROCESS_ARGUMENTS_DE_PARAMETRAGE_DE_LA_GENERATION_DE_SUITE_DE_VALEURS_3;

                         PROCESS_ARGUMENTS_DE_PARAMETRAGE_DE_LA_GENERATION_DE_SUITE_DE_VALEURS_1;

                         PROCESS_ARGUMENTS_DE_PARAMETRAGE_DE_LA_GENERATION_DE_SUITE_DE_VALEURS_5;

                         CONTROLE_DE_L_ARITHMETIQUE_FOLKLORIQUE_DES_NOMBRES_COMPLEXES;
                         CONTROLE_DE_L_ARITHMETIQUE_ETENDUE_DES_NOMBRES_HYPER_HYPER_COMPLEXES;
                         )
                    );

     gOPERATION_SUR_LES_FICHIERS(BLOC(
                                      DEFV(hyper_complexe,p1);
                                      DEFV(hyper_complexe,p2);
                                      DEFV(hyper_complexe_etendu,p2_etendu);

                                      HCinitialisation(p1
                                                      ,ELEMENT_DU_FICHIER_LISTE_R(index)
                                                      ,ELEMENT_DU_FICHIER_LISTE_I(index)
                                                      ,ELEMENT_DU_FICHIER_LISTE_J(index)
                                                      ,ELEMENT_DU_FICHIER_LISTE_K(index)
                                                       );

                                      Repe(nombre_d_iterations)
                                           Bblock
                                           HCcombinaison_lineaire_9(p2
                                                                   ,ponderation_neutre__________________
                                                                   ,p1
                                                                   ,ponderation_cosinus_circulaire______
                                                                   ,fFHCcosinus_circulaire(p1)
                                                                   ,ponderation_sinus_circulaire________
                                                                   ,fFHCsinus_circulaire(p1)
                                                                   ,ponderation_tangente_circulaire_____
                                                                   ,fFHCtangente_circulaire(p1)
                                                                   ,ponderation_cosinus_hyperbolique____
                                                                   ,fFHCcosinus_hyperbolique(p1)
                                                                   ,ponderation_sinus_hyperbolique______
                                                                   ,fFHCsinus_hyperbolique(p1)
                                                                   ,ponderation_tangente_hyperbolique___
                                                                   ,fFHCtangente_hyperbolique(p1)
                                                                   ,ponderation_exponentielle_neperienne
                                                                   ,fFHCexponentielle(base_de_l_exponentielle_neperienne,p1)
                                                                   ,ponderation_logarithme______________
                                                                   ,fFHClogarithme(p1)
                                                                    );
                                        /* On notera que "PondNEUT=" associe dans le 'LIZ8(...)' ci-apres et aux ponderations        */
                                        /* {RR,AT,AP,AA} permet finalement de faire simplement de la conversion des coordonnees      */
                                        /* cartesiennes en coordonnees hyper-spheriques...                                           */
                                        /*                                                                                           */
                                        /* Le 20220617100332, 'PONDERATION_NEUTRE__________________' est donc passe de 'FZERO'       */
                                        /* a 'FU' pour ce faire...                                                                   */

                                           Test(IFLT(compteur_des_repetitions_du_Repe,nombre_de_repetitions_du_Repe))
                                                Bblock
                                                HCegal(p1,p2);
                                        /* Afin de preparer l'iteration suivante...                                                  */
                                                Eblock
                                           ATes
                                                Bblock
                                                Eblock
                                           ETes
                                           Eblock
                                      ERep

                                      HCextension_directe(p2_etendu,p2);
                                      )
                                ,USe_GooF(LIZ8(ponderation_R,HReelle(p2)
                                              ,ponderation_I,HImaginaire(p2)
                                              ,ponderation_J,HJmaginaire(p2)
                                              ,ponderation_K,HKmaginaire(p2)
                                              ,ponderation_RR,HCHS_Rho(p2_etendu)
                                              ,ponderation_AT,HCHS_Theta(p2_etendu)
                                              ,ponderation_AP,HCHS_Phi(p2_etendu)
                                              ,ponderation_AA,HCHS_Alpha(p2_etendu)
                                               )
                                          )
                                ,EDITER_LA_VALEUR_RESULTANTE_DANS_gOPERATION_SUR_LES_FICHIERS
                                ,nombre_d_exemplaires_du_resultat_de_l_operation_sur_les_valeurs_courantes
                                 );
                                        /* Transformation "fonctionnelle"...                                                         */

     lGENERATION_D_UN_FICHIER(liste_initiale_des_K,K_IMPLICITE);
     lGENERATION_D_UN_FICHIER(liste_initiale_des_J,J_IMPLICITE);
     lGENERATION_D_UN_FICHIER(liste_initiale_des_I,I_IMPLICITE);
     lGENERATION_D_UN_FICHIER(liste_initiale_des_R,R_IMPLICITE);

     RETU_Commande;
     Eblock
ECommande



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