/*************************************************************************************************************************************/ /* */ /* S O M M E " U N I V E R S E L L E " T E N S O R I E L L E */ /* D E D E U X F I C H I E R S N U M E R I Q U E S : */ /* */ /* */ /* Author of '$xrv/UNI2Tenso.01$K' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 20161020151952). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* 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 /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* 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 : */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* D E F I N I T I O N D E 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 VALEUR_1_IMPLICITE \ FZERO #define VALEUR_2_IMPLICITE \ FZERO gGENERATION_D_UN_FICHIER(fichier1_des_valeurs,liste1_des_valeurs); gGENERATION_D_UN_FICHIER(fichier2_des_valeurs,liste2_des_valeurs); /* Definition en memoire des fichiers. */ #define ELEMENT_DU_FICHIER1(index) \ gELEMENT_DU_FICHIER(liste1_des_valeurs,index) #define ELEMENT_DU_FICHIER2(index) \ gELEMENT_DU_FICHIER(liste2_des_valeurs,index) /* Acces a un element courant des fichiers. */ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* F O N C T I O N S O M M E " U N I V E R S E L L E " D E D E U X N O M B R E S : */ /* */ /*************************************************************************************************************************************/ #define UTILISER_EVIDEMMENT_LA_PRECISION_Float \ VRAI #define PONDERATION_DE_ADD2 \ FU #define PONDERATION_DE_SOUS \ FZERO #define PONDERATION_DE_SOUSnc \ FZERO #define PONDERATION_DE_MUL2 \ FZERO #define PONDERATION_DE_DIVZ \ FZERO #define PONDERATION_DE_DIVZnc \ FZERO #define PONDERATION_DE_MIN2 \ FZERO #define PONDERATION_DE_MAX2 \ FZERO #define PONDERATION_DE_MINMAX \ FZERO #define PONDERATION_DE_MAXMIN \ FZERO #define PONDERATION_DE_IMINMAX \ FZERO #define PONDERATION_DE_IMAXMIN \ FZERO #define PONDERATION_DE_MOYE \ FZERO #define PONDERATION_DE_MOYZ \ FZERO #define PONDERATION_DE_MOYZSI \ FZERO #define PONDERATION_DE_MOYQ \ FZERO #define PONDERATION_DE_MOYQSI \ FZERO #define PONDERATION_DE_MOYH \ FZERO #define PONDERATION_DE_SPUIX \ FZERO #define PONDERATION_DE_SPUIXnc \ FZERO #define PONDERATION_DE_SE12 \ FZERO #define PONDERATION_DE_SE12nc \ FZERO #define PONDERATION_DE_SE22 \ FZERO #define PONDERATION_DE_SE22nc \ FZERO #define PONDERATION_DE_ATAN \ FZERO #define PONDERATION_DE_ATANnc \ FZERO #define PONDERATION_DE_MULH24 \ FZERO DEFV(Local,DEFV(Logical,INIT(courante_____utiliser_evidemment_la_precision_Float,UTILISER_EVIDEMMENT_LA_PRECISION_Float))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_ADD2,PONDERATION_DE_ADD2))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_SOUS,PONDERATION_DE_SOUS))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_SOUSnc,PONDERATION_DE_SOUSnc))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_MUL2,PONDERATION_DE_MUL2))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_DIVZ,PONDERATION_DE_DIVZ))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_DIVZnc,PONDERATION_DE_DIVZnc))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_MIN2,PONDERATION_DE_MIN2))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_MAX2,PONDERATION_DE_MAX2))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_MINMAX,PONDERATION_DE_MINMAX))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_MAXMIN,PONDERATION_DE_MAXMIN))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_IMINMAX,PONDERATION_DE_IMINMAX))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_IMAXMIN,PONDERATION_DE_IMAXMIN))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_MOYE,PONDERATION_DE_MOYE))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_MOYZ,PONDERATION_DE_MOYZ))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_MOYZSI,PONDERATION_DE_MOYZSI))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_MOYQ,PONDERATION_DE_MOYQ))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_MOYQSI,PONDERATION_DE_MOYQSI))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_MOYH,PONDERATION_DE_MOYH))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_SPUIX,PONDERATION_DE_SPUIX))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_SPUIXnc,PONDERATION_DE_SPUIXnc))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_SE12,PONDERATION_DE_SE12))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_SE12nc,PONDERATION_DE_SE12nc))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_SE22,PONDERATION_DE_SE22))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_SE22nc,PONDERATION_DE_SE22nc))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_ATAN,PONDERATION_DE_ATAN))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_ATANnc,PONDERATION_DE_ATANnc))); DEFV(Local,DEFV(Float,INIT(courante_____ponderation_de_MULH24,PONDERATION_DE_MULH24))); DEFV(Local,DEFV(Positive,INIT(courante_____compteur_de_reference,ZERO))); /* Ponderations courantes a utiliser... */ BFonctionF GENERE__FonctionF_UNI2_02(Fsomme_universelle(argument1,argument2),courante_____) EFonctionF /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* S O M M E " U N I V E R S E L L E " T E N S O R I E L L E */ /* D E D E U X F I C H I E R S N U M E R I Q U E S : */ /* */ /*************************************************************************************************************************************/ BCommande(nombre_d_arguments,arguments) /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock #include xrv/ARITHMET.22.I" #include xci/valeurs.03.I" /*..............................................................................................................................*/ #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("fichier1=" ,fichier1_des_valeurs ,liste1_des_valeurs ,VALEUR_1_IMPLICITE ,lTRANSFORMAT_0d ,iGENERATION_D_UN_FICHIER ); PROKESF_ARGUMENT_FICHIER("fichier2=" ,fichier2_des_valeurs ,liste2_des_valeurs ,VALEUR_2_IMPLICITE ,lTRANSFORMAT_0d ,iGENERATION_D_UN_FICHIER ); GET_ARGUMENT_L("FLOT=",courante_____utiliser_evidemment_la_precision_Float); GET_ARGUMENT_F("ADD2=",courante_____ponderation_de_ADD2); GET_ARGUMENT_F("SOUS=",courante_____ponderation_de_SOUS); GET_ARGUMENT_F("SOUSnc=",courante_____ponderation_de_SOUSnc); GET_ARGUMENT_F("MUL2=",courante_____ponderation_de_MUL2); GET_ARGUMENT_F("DIVZ=",courante_____ponderation_de_DIVZ); GET_ARGUMENT_F("DIVZnc=",courante_____ponderation_de_DIVZnc); GET_ARGUMENT_F("MIN2=",courante_____ponderation_de_MIN2); GET_ARGUMENT_F("MAX2=",courante_____ponderation_de_MAX2); GET_ARGUMENT_F("MINMAX=",courante_____ponderation_de_MINMAX); GET_ARGUMENT_F("MAXMIN=",courante_____ponderation_de_MAXMIN); GET_ARGUMENT_F("MOYE=",courante_____ponderation_de_MOYE); GET_ARGUMENT_F("IMINMAX=",courante_____ponderation_de_IMINMAX); GET_ARGUMENT_F("IMAXMIN=",courante_____ponderation_de_IMAXMIN); GET_ARGUMENT_F("MOYZ=",courante_____ponderation_de_MOYZ); GET_ARGUMENT_F("MOYZSI=",courante_____ponderation_de_MOYZSI); GET_ARGUMENT_F("MOYQ=",courante_____ponderation_de_MOYQ); GET_ARGUMENT_F("MOYQSI=",courante_____ponderation_de_MOYQSI); GET_ARGUMENT_F("MOYH=",courante_____ponderation_de_MOYH); /* Le 20180823103321 fut introduit "MOYH="... */ GET_ARGUMENT_F("SPUIX=",courante_____ponderation_de_SPUIX); GET_ARGUMENT_F("SPUIXnc=",courante_____ponderation_de_SPUIXnc); GET_ARGUMENT_F("SE12=",courante_____ponderation_de_SE12); GET_ARGUMENT_F("SE12nc=",courante_____ponderation_de_SE12nc); GET_ARGUMENT_F("SE22=",courante_____ponderation_de_SE22); GET_ARGUMENT_F("SE22nc=",courante_____ponderation_de_SE22nc); /* Le 20180823103321 furent introduits "SE12=" et "SE22="... */ GET_ARGUMENT_F("ATAN=",courante_____ponderation_de_ATAN); GET_ARGUMENT_F("ATANnc=",courante_____ponderation_de_ATANnc); /* Le 20181009172303 fut introduit "ATAN="... */ GET_ARGUMENT_F("MULH24=",courante_____ponderation_de_MULH24); /* Le 20181203163824 fut introduit "MULH24="... */ /* */ /* Le 20201004121553 furent introduites les ponderations "Non Commutatives"s... */ PROCESS_ARGUMENTS_DE_PARAMETRAGE_DE_LA_GENERATION_DE_SUITE_DE_VALEURS_3; PROCESS_ARGUMENTS_DE_PARAMETRAGE_DE_LA_GENERATION_DE_SUITE_DE_VALEURS_1; ) ); begin_nouveau_block Bblock DEFV(Int,INIT(index_1,UNDEF)); DEFV(Int,INIT(index_2,UNDEF)); /* Index de parcours des deux fichiers... */ DoIn(index_1,PREMIER_ELEMENT_D_UN_FICHIER,DERNIER_ELEMENT_D_UN_FICHIER,I) Bblock DoIn(index_2,PREMIER_ELEMENT_D_UN_FICHIER,DERNIER_ELEMENT_D_UN_FICHIER,I) Bblock DEFV(Float,INIT(valeur1_courante,ELEMENT_DU_FICHIER1(index_1))); DEFV(Float,INIT(valeur2_courante,ELEMENT_DU_FICHIER2(index_2))); /* Recuperation des valeurs courantes dans les fichiers. */ EDITION_DANS_gOPERATION_SUR_LES_FICHIERS_AVEC_SAUT_DE_LIGNE(Fsomme_universelle(valeur1_courante,valeur2_courante)); Eblock EDoI Eblock EDoI Eblock end_nouveau_block lGENERATION_D_UN_FICHIER(liste2_des_valeurs,VALEUR_2_IMPLICITE); lGENERATION_D_UN_FICHIER(liste1_des_valeurs,VALEUR_1_IMPLICITE); RETU_Commande; Eblock ECommande