_______________________________________________________________________________________________________________________________________ /*************************************************************************************************************************************/ /* */ /* F O N C T I O N S D E B A S E N E C E S S I T A N T L E ' GooF ' : */ /* */ /* */ /* Definition : */ /* */ /* Dans ce fichier, se trouvent toutes */ /* les fonctions d'interet general, et */ /* en particulier celles de manipulation */ /* des chaines de caracteres, celles de */ /* gestion de fichiers, et necessitant le 'GooF' */ /* Ceci a ete cree le 20080327134926 afin d'alleger */ /* la compilation de la fonction 'FfLIO17(...)'. */ /* */ /* */ /* Author of '$xig/GooF_fo$vv$FON' : */ /* */ /* Jean-Francois Colonna (LACTAMME, 20080327134926). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* C O M B I N A I S O N S L I N E A I R E S O P T I M I S E E S : */ /* */ /*************************************************************************************************************************************/ #define CALCUL_DE_LA_COMBINAISON_LINEAIRE_DES_ARGUMENTS(utiliser_l_arithmetique_etendue_au_lieu_de_l_arithmetique_de_base) \ Bblock \ USs_GooF______CONDITIONNEL(utiliser_l_arithmetique_etendue_au_lieu_de_l_arithmetique_de_base \ /* Possibilite introduite le 20080327095150... */ \ ,BLOC( \ Bblock \ EGAL(resultat \ ,LIO17(a0,x0 \ ,a1,x1 \ ,a2,x2 \ ,a3,x3 \ ,a4,x4 \ ,a5,x5 \ ,a6,x6 \ ,a7,x7 \ ,a8,x8 \ ,a9,x9 \ ,aA,xA \ ,aB,xB \ ,aC,xC \ ,aD,xD \ ,aE,xE \ ,aF,xF \ ,aG,xG \ ,b \ ) \ ); \ Eblock \ ) \ ); \ Eblock BFonctionF DEFV(Common,DEFV(Logical,SINT(FfLIO17_____utiliser_l_arithmetique_etendue_au_lieu_de_l_arithmetique_de_base,FAUX))); /* Afin de permettre l'usage du 'GooF' (introduit le 20080327095150)... */ DEFV(Common,DEFV(FonctionF,FfLIO17(a0,x0 ,a1,x1 ,a2,x2 ,a3,x3 ,a4,x4 ,a5,x5 ,a6,x6 ,a7,x7 ,a8,x8 ,a9,x9 ,aA,xA ,aB,xB ,aC,xC ,aD,xD ,aE,xE ,aF,xF ,aG,xG ,b ) ) ) DEFV(Argument,DEFV(Float,a0)); DEFV(Argument,DEFV(Float,x0)); DEFV(Argument,DEFV(Float,a1)); DEFV(Argument,DEFV(Float,x1)); DEFV(Argument,DEFV(Float,a2)); DEFV(Argument,DEFV(Float,x2)); DEFV(Argument,DEFV(Float,a3)); DEFV(Argument,DEFV(Float,x3)); DEFV(Argument,DEFV(Float,a4)); DEFV(Argument,DEFV(Float,x4)); DEFV(Argument,DEFV(Float,a5)); DEFV(Argument,DEFV(Float,x5)); DEFV(Argument,DEFV(Float,a6)); DEFV(Argument,DEFV(Float,x6)); DEFV(Argument,DEFV(Float,a7)); DEFV(Argument,DEFV(Float,x7)); DEFV(Argument,DEFV(Float,a8)); DEFV(Argument,DEFV(Float,x8)); DEFV(Argument,DEFV(Float,a9)); DEFV(Argument,DEFV(Float,x9)); DEFV(Argument,DEFV(Float,aA)); DEFV(Argument,DEFV(Float,xA)); DEFV(Argument,DEFV(Float,aB)); DEFV(Argument,DEFV(Float,xB)); DEFV(Argument,DEFV(Float,aC)); DEFV(Argument,DEFV(Float,xC)); DEFV(Argument,DEFV(Float,aD)); DEFV(Argument,DEFV(Float,xD)); DEFV(Argument,DEFV(Float,aE)); DEFV(Argument,DEFV(Float,xE)); DEFV(Argument,DEFV(Float,aF)); DEFV(Argument,DEFV(Float,xF)); DEFV(Argument,DEFV(Float,aG)); DEFV(Argument,DEFV(Float,xG)); DEFV(Argument,DEFV(Float,b)); /* Arguments flottants de la combinaison lineaire. */ /* */ /* NOTA : cette fonction est introduite pour des raisons de performance a la compilation */ /* lorsque les arguments sont en fait des expressions complexes (le 20080325162650), pour */ /* 'v $xiii/mono_image$FON FONCTIONS_DE_TRANSFORMATION_DES_COORDONNEES_XYZ' initialement. */ /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock DEFV(Float,INIT(resultat,FLOT__UNDEF)); /* Variable intermediaire introduite le 20080327091323 en vue de referencer le 'GooF'... */ /*..............................................................................................................................*/ CALCUL_DE_LA_COMBINAISON_LINEAIRE_DES_ARGUMENTS(FfLIO17_____utiliser_l_arithmetique_etendue_au_lieu_de_l_arithmetique_de_base); RETU(resultat); Eblock EFonctionF #ifdef ASSURER_LA_COEXISTENCE_DE__LIOH__ET_DE__LIO17 /* Common,DEFV(Fonction,) : 'LIOH' et 'LIO17'... */ /* Introduit le 20190203102858... */ BFonctionF DEFV(Common,DEFV(Logical,SINT(FfLIOH_____utiliser_l_arithmetique_etendue_au_lieu_de_l_arithmetique_de_base,FAUX))); /* Afin de permettre l'usage du 'GooF' (introduit le 20080327095150)... */ DEFV(Local,DEFV(Logical,INIT(FfLIOH_____le_message_d_ATTENTION_a_ete_emis_une_fois,FAUX))); /* Introduit le 20190201160847 afin de ne pas se noyer sous les messages... */ DEFV(Common,DEFV(FonctionF,FfLIOH(a0,x0 ,a1,x1 ,a2,x2 ,a3,x3 ,a4,x4 ,a5,x5 ,a6,x6 ,a7,x7 ,a8,x8 ,a9,x9 ,aA,xA ,aB,xB ,aC,xC ,aD,xD ,aE,xE ,aF,xF ,aG,xG ,b ) ) ) /* Fonction introduite le 20190201141442 "en parallele" de 'FfLIO17(...)' et destinee */ /* a permettre une compatibilite pendant un certain temps en evitant (provisoirement) des */ /* compilations "couteuses" (en particulier sur '$LACT19'...). */ DEFV(Argument,DEFV(Float,a0)); DEFV(Argument,DEFV(Float,x0)); DEFV(Argument,DEFV(Float,a1)); DEFV(Argument,DEFV(Float,x1)); DEFV(Argument,DEFV(Float,a2)); DEFV(Argument,DEFV(Float,x2)); DEFV(Argument,DEFV(Float,a3)); DEFV(Argument,DEFV(Float,x3)); DEFV(Argument,DEFV(Float,a4)); DEFV(Argument,DEFV(Float,x4)); DEFV(Argument,DEFV(Float,a5)); DEFV(Argument,DEFV(Float,x5)); DEFV(Argument,DEFV(Float,a6)); DEFV(Argument,DEFV(Float,x6)); DEFV(Argument,DEFV(Float,a7)); DEFV(Argument,DEFV(Float,x7)); DEFV(Argument,DEFV(Float,a8)); DEFV(Argument,DEFV(Float,x8)); DEFV(Argument,DEFV(Float,a9)); DEFV(Argument,DEFV(Float,x9)); DEFV(Argument,DEFV(Float,aA)); DEFV(Argument,DEFV(Float,xA)); DEFV(Argument,DEFV(Float,aB)); DEFV(Argument,DEFV(Float,xB)); DEFV(Argument,DEFV(Float,aC)); DEFV(Argument,DEFV(Float,xC)); DEFV(Argument,DEFV(Float,aD)); DEFV(Argument,DEFV(Float,xD)); DEFV(Argument,DEFV(Float,aE)); DEFV(Argument,DEFV(Float,xE)); DEFV(Argument,DEFV(Float,aF)); DEFV(Argument,DEFV(Float,xF)); DEFV(Argument,DEFV(Float,aG)); DEFV(Argument,DEFV(Float,xG)); DEFV(Argument,DEFV(Float,b)); /* Arguments flottants de la combinaison lineaire. */ /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock DEFV(Float,INIT(resultat,FLOT__UNDEF)); /*..............................................................................................................................*/ Test(EST_FAUX(FfLIOH_____le_message_d_ATTENTION_a_ete_emis_une_fois)) Bblock PRINT_ATTENTION("la fonction 'LIOH(...)' doit etre remplacee par 'LIO17(...)' (des recompilations vont etre necessaires)"); EGAL(FfLIOH_____le_message_d_ATTENTION_a_ete_emis_une_fois,VRAI); Eblock ATes Bblock Eblock ETes CALCUL_DE_LA_COMBINAISON_LINEAIRE_DES_ARGUMENTS(FfLIOH_____utiliser_l_arithmetique_etendue_au_lieu_de_l_arithmetique_de_base); RETU(resultat); Eblock EFonctionF #Aifdef ASSURER_LA_COEXISTENCE_DE__LIOH__ET_DE__LIO17 /* Common,DEFV(Fonction,) : 'LIOH' et 'LIO17'... */ #Eifdef ASSURER_LA_COEXISTENCE_DE__LIOH__ET_DE__LIO17 /* Common,DEFV(Fonction,) : 'LIOH' et 'LIO17'... */ #undef CALCUL_DE_LA_COMBINAISON_LINEAIRE_DES_ARGUMENTS _______________________________________________________________________________________________________________________________________