_______________________________________________________________________________________________________________________________________ /*************************************************************************************************************************************/ /* */ /* F O N C T I O N S D ' E D I T I O N D E S C O N S T A N T E S */ /* F O N D A M E N T A L E S E T D E S P R I N C I P A U X O P E R A T E U R S : */ /* */ /* */ /* Definition : */ /* */ /* Dans ce fichier, se trouvent toutes */ /* les fonctions destinees a editer la */ /* plupart des constantes ("fondamentales") */ /* et des operateurs. */ /* */ /* */ /* Author of '$xig/edite$vv$FON' : */ /* */ /* Jean-Francois Colonna (LACTAMME, 20010409140136). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* E D I T I O N D E S C O N S T A N T E S F O N D A M E N T A L E S : */ /* */ /*************************************************************************************************************************************/ #define gFORMAT_NUMERIQUE(signer,format_signe,format_non_signe) \ COND(IL_FAUT(signer) \ ,format_signe \ ,format_non_signe \ ) #define FORMAT_NUMERIQUE(format_signe,format_non_signe) \ gFORMAT_NUMERIQUE(Fedition_des_constantes_fondamentales_____signer_les_valeurs_numeriques \ ,format_signe \ ,format_non_signe \ ) /* Selection d'un format pour signer ou pas les valeurs numeriques. */ BFonctionV DEFV(Common,DEFV(FonctionV,Fedition_des_formats_d_edition_des_constantes_fondamentales())) /* Fonction introduite le 20190929095039 afin de comprendre pourquoi, a cette date, */ /* l'edition non signee via 'FORMAT_FLOT' ne fonctionnait pas. Suite a cela, fut donc */ /* introduit 'v $xig/fonct$vv$DEF FORMAT_FLOT_EDITION__NON_SIGNE' qui a resolu le */ /* probleme. Au passage, cela s'etait vu avec la constante '$pi' (dans 'calcul 0.496041+$pi' */ /* le 20190928130845 sur '$LACT19') qui etait signee, alors qu'elle n'aurait pas du l'etre */ /* ('v $Fconstantes constante=PI.signe=FAUX')... */ /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock /*..............................................................................................................................*/ CAL3(Prme1("FORMAT_LOGI................. : %s\n",FORMAT_LOGI_EDITION)); CAL3(Prme1("FORMAT_HEXA_DECIMAL......... : %s\n",FORMAT_HEXA_DECIMAL_EDITION)); CAL3(Prme1("FORMAT_INTE signe........... : %s\n",gFORMAT_NUMERIQUE(VRAI,FORMAT_INTE_EDITION,FORMAT_INTE))); CAL3(Prme1("FORMAT_INTE non signe....... : %s\n",gFORMAT_NUMERIQUE(FAUX,FORMAT_INTE_EDITION,FORMAT_INTE_EDITION__NON_SIGNE))); CAL3(Prme1("FORMAT_FLOT signe........... : %s\n",gFORMAT_NUMERIQUE(VRAI,FORMAT_FLOT_EDITION,FORMAT_FLOT))); CAL3(Prme1("FORMAT_FLOT non signe....... : %s\n",gFORMAT_NUMERIQUE(FAUX,FORMAT_FLOT_EDITION,FORMAT_FLOT_EDITION__NON_SIGNE))); CAL3(Prme1("FORMAT_CHAI................. : %s\n",FORMAT_CHAI_EDITION)); RETU_VIDE; Eblock EFonctionV BFonctionV #define EDITION_D_UNE_CONSTANTE(constante,format,conversion) \ /* Le 20060509140316, le premier argument ('message') a disparu. En effet, il etait le */ \ /* nom de la constante 'constante' (alors que 'constante' vaut ici la valeur de cette */ \ /* constante). Cela a ete rendu possible a cette date car je me suis alors rendu compte */ \ /* que '$xcp/cpp$X' permettait la chose suivante : */ \ /* */ \ /* #define variable valeur */ \ /* #define macro(argument) "argument"=argument */ \ /* */ \ /* macro(variable) */ \ /* */ \ /* ce qui donne : */ \ /* */ \ /* "variable"=valeur */ \ /* */ \ /* qui est ce que l'on attend, alors que '/lib/cpp' lui donne : */ \ /* */ \ /* "argument"=valeur */ \ /* */ \ /* ce qui n'est pas tres utile... */ \ /* */ \ /* C'est a cette date que l'argument 'conversion' a ete introduit. En effet, anterieurement, */ \ /* la procedure 'EDITION_D_UNE_CONSTANTE_L(...)' etait definie par : */ \ /* */ \ /* EDITION_D_UNE_CONSTANTE(message,ETAT_LOGIQUE(constante),FORMAT_LOGI_EDITION); */ \ /* */ \ /* or si l'on veut pouvoir utiliser le nom 'constante', il ne faut pas que celui-ci soit */ \ /* l'objet d'une procedure (telle ici 'ETAT_LOGIQUE(...)') lors de l'appel de la */ \ /* procedure 'EDITION_D_UNE_CONSTANTE(...)' puisqu'alors le nom de cette procedure (telle */ \ /* 'ETAT_LOGIQUE(...)') serait integre au nom de la 'constante' lors des editions qui */ \ /* suivent... */ \ Bblock \ Test(IFEQ_chaine(constante_recherchee,NOM_UNDEF_VIDE)) \ Bblock \ DEFV(CHAR,INIC(POINTERc(format_EGAq_1____EDITION_D_UNE_CONSTANTE) \ ,chain_Aconcaten4("constante"," = ",format,"\n") \ ) \ ); \ \ CAL3(Prme1(format_EGAq_1____EDITION_D_UNE_CONSTANTE,conversion(constante))); \ \ CALZ_FreCC(format_EGAq_1____EDITION_D_UNE_CONSTANTE); \ Eblock \ ATes \ Bblock \ Test(IFEQ_chaine(constante_recherchee,"constante")) \ Bblock \ DEFV(CHAR,INIC(POINTERc(format_EGAq_2____EDITION_D_UNE_CONSTANTE) \ ,chain_Aconcaten2(format,"\n") \ ) \ ); \ \ CAL3(Prme1(format_EGAq_2____EDITION_D_UNE_CONSTANTE,constante)); \ \ CALZ_FreCC(format_EGAq_2____EDITION_D_UNE_CONSTANTE); \ Eblock \ ATes \ Bblock \ Eblock \ ETes \ Eblock \ ETes \ Eblock \ /* Edition d'une constante quelconque... */ #define EDITION_D_UNE_CONSTANTE_L(constante) \ Bblock \ EDITION_D_UNE_CONSTANTE(constante,FORMAT_LOGI_EDITION,ETAT_LOGIQUE); \ Eblock \ /* Edition d'une constante logique. */ #define EDITION_D_UNE_CONSTANTE_X(constante) \ Bblock \ EDITION_D_UNE_CONSTANTE(constante,FORMAT_HEXA_DECIMAL_EDITION,NEUT); \ Eblock \ /* Edition d'une constante hexa-decimale. */ #define EDITION_D_UNE_CONSTANTE_D(constante) \ Bblock \ EDITION_D_UNE_CONSTANTE(constante,FORMAT_NUMERIQUE(FORMAT_INTE_EDITION,FORMAT_INTE_EDITION__NON_SIGNE),NEUT); \ Eblock \ /* Edition d'une constante decimale. */ #define EDITION_D_UNE_CONSTANTE_F(constante) \ Bblock \ EDITION_D_UNE_CONSTANTE(constante,FORMAT_NUMERIQUE(FORMAT_FLOT_EDITION,FORMAT_FLOT_EDITION__NON_SIGNE),NEUT); \ Eblock \ /* Edition d'une constante flottante. */ #define EDITION_D_UNE_CONSTANTE_C(constante) \ Bblock \ EDITION_D_UNE_CONSTANTE(constante,FORMAT_CHAI_EDITION,NEUT); \ Eblock \ /* Edition d'une constante logique. */ DEFV(Common,DEFV(Logical,SINT(Fedition_des_constantes_fondamentales_____signer_les_valeurs_numeriques,VRAI))); /* Faut-il signer les valeurs numeriques ? */ /* */ /* On notera que cette option peut s'utiliser conjointement avec : */ /* */ /* SigneInt= */ /* SigneFlot= */ /* */ /* ('v $xig/fonct$vv$DEF signe_de_FORMAT_') qui n'a pas tout a fait le meme effet que */ /* cette derniere car, en effet, celle-ci reduit la precision du resultat car elle */ /* bascule entre {FORMAT_FLOT_EDITION,FORMAT_INTE_EDITION} et {FORMAT_FLOT,FORMAT_INTE} */ /* respectivement... */ DEFV(Common,DEFV(FonctionV,Fedition_des_constantes_fondamentales(constante_recherchee))) DEFV(Argument,DEFV(CHAR,DTb0(constante_recherchee))); /* Nom de l'eventuelle constante recherchee. */ /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock /*..............................................................................................................................*/ EDITION_D_UNE_CONSTANTE_D(sHOTE_____NOMBRE_DE_PROCESSEURS); EDITION_D_UNE_CONSTANTE_D(sHOTE_____TAILLE_DE_LA_MEMOIRE_DE_REFERENCE_EN_MEGA_OCTETS); EDITION_D_UNE_CONSTANTE_D(sHOTE_____TAILLE_DE_LA_MEMOIRE_EN_MEGA_OCTETS); /* Introduit le 20170418103551... */ EDITION_D_UNE_CONSTANTE_C(Direct__xBTG); EDITION_D_UNE_CONSTANTE_C(Direct__xBTG0); EDITION_D_UNE_CONSTANTE_C(Direct__xBTM); EDITION_D_UNE_CONSTANTE_C(Direct__xBTR); EDITION_D_UNE_CONSTANTE_C(Direct__xT); EDITION_D_UNE_CONSTANTE_C(Direct__xTC); EDITION_D_UNE_CONSTANTE_C(Direct__xTF); EDITION_D_UNE_CONSTANTE_C(Direct__xTFG); EDITION_D_UNE_CONSTANTE_C(Direct__xTFGL); EDITION_D_UNE_CONSTANTE_C(Direct__xTG); EDITION_D_UNE_CONSTANTE_C(Direct__xTG0); EDITION_D_UNE_CONSTANTE_C(Direct__xTG0L); EDITION_D_UNE_CONSTANTE_C(Direct__xTGL); EDITION_D_UNE_CONSTANTE_C(Direct__xTL); EDITION_D_UNE_CONSTANTE_C(Direct__xTM); EDITION_D_UNE_CONSTANTE_C(Direct__xTR); EDITION_D_UNE_CONSTANTE_C(Direct__xTS); EDITION_D_UNE_CONSTANTE_C(Direct__xTSG); EDITION_D_UNE_CONSTANTE_C(Direct__xTSGL); EDITION_D_UNE_CONSTANTE_C(Direct__xTSUG); EDITION_D_UNE_CONSTANTE_C(Direct__xTV); /* Introduit le 20160510172727 et complete le 20160511085219 par '$xTV', puis le */ /* 20160512094224 par '$xTG0' et '$xTG0L', puis le 20170515104624 par '$xTSUG'... */ EDITION_D_UNE_CONSTANTE_C(LE_01_01_1970_A_00_00_00_TZ); EDITION_D_UNE_CONSTANTE_D(B); EDITION_D_UNE_CONSTANTE_D(BASE10); EDITION_D_UNE_CONSTANTE_D(BASE16); EDITION_D_UNE_CONSTANTE_D(BASE2); EDITION_D_UNE_CONSTANTE_D(BEGIN_AT_0); EDITION_D_UNE_CONSTANTE_D(BIT0); EDITION_D_UNE_CONSTANTE_D(BITSIG); EDITION_D_UNE_CONSTANTE_D(CANNOT_OPEN); EDITION_D_UNE_CONSTANTE_D(CENT); EDITION_D_UNE_CONSTANTE_D(CENT_MILLE); EDITION_D_UNE_CONSTANTE_D(CENT_VINGT_HUIT); EDITION_D_UNE_CONSTANTE_D(CINQ); EDITION_D_UNE_CONSTANTE_D(CINQUANTE); EDITION_D_UNE_CONSTANTE_D(DERNIERE_ANNEE_DU_CALENDRIER); EDITION_D_UNE_CONSTANTE_D(DERNIERE_HEURE_DU_JOUR); EDITION_D_UNE_CONSTANTE_D(DERNIERE_MINUTE_DE_L_HEURE); EDITION_D_UNE_CONSTANTE_D(DERNIERE_SECONDE_DE_LA_MINUTE); EDITION_D_UNE_CONSTANTE_D(DERNIER_MOIS_DE_L_ANNEE); EDITION_D_UNE_CONSTANTE_D(DEUX); EDITION_D_UNE_CONSTANTE_D(DEUX_CENT_CINQUANTE_SIX); EDITION_D_UNE_CONSTANTE_D(DEUXp10); EDITION_D_UNE_CONSTANTE_D(DEUXp15); EDITION_D_UNE_CONSTANTE_D(DEUXp16); EDITION_D_UNE_CONSTANTE_D(DEUXp2); EDITION_D_UNE_CONSTANTE_D(DEUXp3); EDITION_D_UNE_CONSTANTE_D(DEUXp4); EDITION_D_UNE_CONSTANTE_D(DEUXp5); EDITION_D_UNE_CONSTANTE_D(DEUXp6); EDITION_D_UNE_CONSTANTE_D(DEUXp7); EDITION_D_UNE_CONSTANTE_D(DEUXp8); EDITION_D_UNE_CONSTANTE_D(DEUXp9); EDITION_D_UNE_CONSTANTE_D(DIX); EDITION_D_UNE_CONSTANTE_D(DIX_MILLE); EDITION_D_UNE_CONSTANTE_D(DOUZE); EDITION_D_UNE_CONSTANTE_D(HEURES_PAR_JOUR); EDITION_D_UNE_CONSTANTE_D(HUIT); EDITION_D_UNE_CONSTANTE_D(I); EDITION_D_UNE_CONSTANTE_D(IMAGES_PAR_SECONDE); EDITION_D_UNE_CONSTANTE_D(INDEX0); EDITION_D_UNE_CONSTANTE_D(INFINI); EDITION_D_UNE_CONSTANTE_D(LBIT); EDITION_D_UNE_CONSTANTE_D(LE_01_01_1970_A_00_00_00_ANNEE); EDITION_D_UNE_CONSTANTE_D(LE_01_01_1970_A_00_00_00_HEURES); EDITION_D_UNE_CONSTANTE_D(LE_01_01_1970_A_00_00_00_JOUR); EDITION_D_UNE_CONSTANTE_D(LE_01_01_1970_A_00_00_00_MINUTES); EDITION_D_UNE_CONSTANTE_D(LE_01_01_1970_A_00_00_00_MOIS); EDITION_D_UNE_CONSTANTE_D(LE_01_01_1970_A_00_00_00_SECONDES); EDITION_D_UNE_CONSTANTE_D(MAGIK); EDITION_D_UNE_CONSTANTE_D(MILLE); EDITION_D_UNE_CONSTANTE_D(MILLIARD); EDITION_D_UNE_CONSTANTE_D(MILLION); EDITION_D_UNE_CONSTANTE_D(MINUTES_PAR_HEURE); EDITION_D_UNE_CONSTANTE_D(MOINS_L_INFINI); EDITION_D_UNE_CONSTANTE_D(NBITHW); EDITION_D_UNE_CONSTANTE_D(NBITHX); EDITION_D_UNE_CONSTANTE_D(NBITMO); EDITION_D_UNE_CONSTANTE_D(NCHXMO); /* La constante 'NCHXMO' fut introduite le 20051210174947... */ EDITION_D_UNE_CONSTANTE_D(NBITOC); EDITION_D_UNE_CONSTANTE_D(NEUF); EDITION_D_UNE_CONSTANTE_D(NEUTRE); EDITION_D_UNE_CONSTANTE_D(NHXOC); /* La constante 'NHXOC' fut introduite le 20130705132911... */ EDITION_D_UNE_CONSTANTE_D(NOCHW); EDITION_D_UNE_CONSTANTE_D(NOMBRE_DE_CHIFFRES); EDITION_D_UNE_CONSTANTE_D(NOMBRE_DE_TOPS_D_HORLOGE_PAR_SECONDE); EDITION_D_UNE_CONSTANTE_D(ONZE); EDITION_D_UNE_CONSTANTE_D(PETIT_INFINI); EDITION_D_UNE_CONSTANTE_D(PREMIERE_ANNEE_DU_CALENDRIER); EDITION_D_UNE_CONSTANTE_D(PREMIERE_HEURE_DU_JOUR); EDITION_D_UNE_CONSTANTE_D(PREMIERE_ITERATION_D_UN_Komp); EDITION_D_UNE_CONSTANTE_D(PREMIERE_ITERATION_D_UN_Repe); EDITION_D_UNE_CONSTANTE_D(PREMIERE_MINUTE_DE_L_HEURE); EDITION_D_UNE_CONSTANTE_D(PREMIERE_SECONDE_DE_LA_MINUTE); EDITION_D_UNE_CONSTANTE_D(PREMIER_JOUR_DU_MOIS); EDITION_D_UNE_CONSTANTE_D(PREMIER_MOIS_DE_L_ANNEE); EDITION_D_UNE_CONSTANTE_D(PROBLEMES); EDITION_D_UNE_CONSTANTE_D(QUARANTE); EDITION_D_UNE_CONSTANTE_D(QUATORZE); EDITION_D_UNE_CONSTANTE_D(QUATRE); EDITION_D_UNE_CONSTANTE_D(QUATRE_VINGT); EDITION_D_UNE_CONSTANTE_D(QUATRE_VINGT_DIX); EDITION_D_UNE_CONSTANTE_D(QUELCONQUE); EDITION_D_UNE_CONSTANTE_D(QUINZE); EDITION_D_UNE_CONSTANTE_D(SECONDES_PAR_MINUTE); EDITION_D_UNE_CONSTANTE_D(SEIZE); EDITION_D_UNE_CONSTANTE_D(SEPT); EDITION_D_UNE_CONSTANTE_D(SIX); EDITION_D_UNE_CONSTANTE_D(SOIXANTE); EDITION_D_UNE_CONSTANTE_D(SOIXANTE_DIX); EDITION_D_UNE_CONSTANTE_D(SOIXANTE_QUATRE); EDITION_D_UNE_CONSTANTE_D(TREIZE); EDITION_D_UNE_CONSTANTE_D(TRENTE); EDITION_D_UNE_CONSTANTE_D(TRENTE_DEUX); EDITION_D_UNE_CONSTANTE_D(TROIS); EDITION_D_UNE_CONSTANTE_D(UN); EDITION_D_UNE_CONSTANTE_D(UNDEF); EDITION_D_UNE_CONSTANTE_D(UNITE); EDITION_D_UNE_CONSTANTE_D(VALEUR_MAXIMALE_DANS_UN_OCTET); EDITION_D_UNE_CONSTANTE_D(VALEUR_MINIMALE_DANS_UN_OCTET); EDITION_D_UNE_CONSTANTE_D(VINGT); EDITION_D_UNE_CONSTANTE_D(VINGT_CINQ); EDITION_D_UNE_CONSTANTE_D(VINGT_QUATRE); EDITION_D_UNE_CONSTANTE_D(W); EDITION_D_UNE_CONSTANTE_D(ZERO); EDITION_D_UNE_CONSTANTE_D(micro_secondes); EDITION_D_UNE_CONSTANTE_D(milli_secondes); EDITION_D_UNE_CONSTANTE_D(nano_secondes); EDITION_D_UNE_CONSTANTE_D(size_CHAR); EDITION_D_UNE_CONSTANTE_D(size_PointerInt); EDITION_D_UNE_CONSTANTE_D(size_char); EDITION_D_UNE_CONSTANTE_D(size_Double); EDITION_D_UNE_CONSTANTE_D(size_Float); EDITION_D_UNE_CONSTANTE_D(size_vrai_Int_de_base); EDITION_D_UNE_CONSTANTE_D(size_Int); EDITION_D_UNE_CONSTANTE_D(size_Logical); EDITION_D_UNE_CONSTANTE_D(size_vrai_Positive_de_base); EDITION_D_UNE_CONSTANTE_D(size_Positive); EDITION_D_UNE_CONSTANTE_D(size_LPositive); EDITION_D_UNE_CONSTANTE_F(CERCLE_TRIGONOMETRIQUE); EDITION_D_UNE_CONSTANTE_F(CERCLE_TRIGONOMETRIQUE_EN_DEGRES); EDITION_D_UNE_CONSTANTE_F(CERCLE_TRIGONOMETRIQUE_EN_GRADES); EDITION_D_UNE_CONSTANTE_F(COORDONNEE_BARYCENTRIQUE_MAXIMALE); EDITION_D_UNE_CONSTANTE_F(COORDONNEE_BARYCENTRIQUE_MINIMALE); EDITION_D_UNE_CONSTANTE_F(COSINUS_DE_0); EDITION_D_UNE_CONSTANTE_F(COSINUS_DE_PI); EDITION_D_UNE_CONSTANTE_F(D_EPSILON); EDITION_D_UNE_CONSTANTE_F(D_INFINI); EDITION_D_UNE_CONSTANTE_F(D_MOINS_L_INFINI); EDITION_D_UNE_CONSTANTE_F(EN); EDITION_D_UNE_CONSTANTE_F(EULER); EDITION_D_UNE_CONSTANTE_F(FBASE2); EDITION_D_UNE_CONSTANTE_F(FDEUX); EDITION_D_UNE_CONSTANTE_F(FDEUXp15); EDITION_D_UNE_CONSTANTE_F(FDEUXp16); EDITION_D_UNE_CONSTANTE_F(FDEUXp2); EDITION_D_UNE_CONSTANTE_F(FDEUXp3); EDITION_D_UNE_CONSTANTE_F(FDEUXp30); EDITION_D_UNE_CONSTANTE_F(FDEUXp31); EDITION_D_UNE_CONSTANTE_F(FDEUXp32); EDITION_D_UNE_CONSTANTE_F(FDEUXp4); EDITION_D_UNE_CONSTANTE_F(FDEUXp7); EDITION_D_UNE_CONSTANTE_F(FDEUXp8); EDITION_D_UNE_CONSTANTE_F(FDU); EDITION_D_UNE_CONSTANTE_F(FLOT__UNDEF); EDITION_D_UNE_CONSTANTE_F(FQU); EDITION_D_UNE_CONSTANTE_F(FQUATRE); EDITION_D_UNE_CONSTANTE_F(FTROIS); EDITION_D_UNE_CONSTANTE_F(FU); EDITION_D_UNE_CONSTANTE_F(FZERO); EDITION_D_UNE_CONSTANTE_F(F_EPSILON); EDITION_D_UNE_CONSTANTE_F(F_INFINI); EDITION_D_UNE_CONSTANTE_F(F_MOINS_LE_PETIT_INFINI); EDITION_D_UNE_CONSTANTE_F(F_MOINS_L_INFINI); EDITION_D_UNE_CONSTANTE_F(F_PETIT_INFINI); EDITION_D_UNE_CONSTANTE_F(GRAND_EPSILON); EDITION_D_UNE_CONSTANTE_F(INVERSE_DU_NOMBRE_D_OR); /* La constante 'INVERSE_DU_NOMBRE_D_OR' fut introduite le 20120501081424... */ EDITION_D_UNE_CONSTANTE_F(MODULATEUR_DE_LA_LOGIQUE_FLOUE); EDITION_D_UNE_CONSTANTE_F(NOMBRE_D_OR); /* La constante 'NOMBRE_D_OR' fut introduite le 20120501081424... */ EDITION_D_UNE_CONSTANTE_F(PI); EDITION_D_UNE_CONSTANTE_F(PI_SUR_2); EDITION_D_UNE_CONSTANTE_F(PI_SUR_4); EDITION_D_UNE_CONSTANTE_F(SEUIL_DE_LA_LOGIQUE_FLOUE); EDITION_D_UNE_CONSTANTE_F(SINUS_DE_3_PI_SUR_2); EDITION_D_UNE_CONSTANTE_F(SINUS_DE_PI_SUR_2); EDITION_D_UNE_CONSTANTE_F(tgEPSILON); EDITION_D_UNE_CONSTANTE_F(igEPSILON); /* La constante 'igEPSILON' fut introduite le 20161204111333 (avec beaucoup de retard !)... */ EDITION_D_UNE_CONSTANTE_F(mgEPSILON); EDITION_D_UNE_CONSTANTE_F(gEPSILON); EDITION_D_UNE_CONSTANTE_F(pEPSILON); EDITION_D_UNE_CONSTANTE_L(ACTIF); EDITION_D_UNE_CONSTANTE_L(AUTORISE); EDITION_D_UNE_CONSTANTE_L(EXIST); EDITION_D_UNE_CONSTANTE_L(FAUX); EDITION_D_UNE_CONSTANTE_D(INDECIS); /* La constante 'INDECIS' fut introduite le 220180107172134. ATTENTION, elle ne peut pas */ /* etre declaree 'EDITION_D_UNE_CONSTANTE_L(...)' puiqu'elle est effectivement differente */ /* de 'FAUX' et de 'VRAI' ; utiliser 'EDITION_D_UNE_CONSTANTE_L(...)' donnerait alors le */ /* message : */ /* */ /* LA VARIABLE N'A PAS UNE VALEUR LOGIQUE */ /* */ /* qui est incompatible avec 'conversion(constante)' ci-dessus... */ /* */ EDITION_D_UNE_CONSTANTE_L(INACTIF); EDITION_D_UNE_CONSTANTE_L(INTERDIT); EDITION_D_UNE_CONSTANTE_L(INVALIDE); EDITION_D_UNE_CONSTANTE_L(LUNDEF); EDITION_D_UNE_CONSTANTE_L(NEXIST); EDITION_D_UNE_CONSTANTE_L(OK); EDITION_D_UNE_CONSTANTE_L(VALIDE); EDITION_D_UNE_CONSTANTE_L(VRAI); EDITION_D_UNE_CONSTANTE_X(BIT); EDITION_D_UNE_CONSTANTE_X(MHEXA); EDITION_D_UNE_CONSTANTE_X(MHWD); EDITION_D_UNE_CONSTANTE_X(MMOT); EDITION_D_UNE_CONSTANTE_X(MOCD); EDITION_D_UNE_CONSTANTE_D(MASQUER_PARCOURS); EDITION_D_UNE_CONSTANTE_D(MASQUER_LOAD); EDITION_D_UNE_CONSTANTE_D(MASQUER_STORE); EDITION_D_UNE_CONSTANTE_D(MASQUER_LOAD_ET_STORE); EDITION_D_UNE_CONSTANTE_D(MASQUER_TOUTES_LES_FONCTIONS); #if ( (defined(GESTION_DU_FORMAT_DES_IMAGES_VERSION_01)) \ ) EDITION_D_UNE_CONSTANTE_D(PLUS_GRANDE_IMAGE_CARREE_INSCRITE); EDITION_D_UNE_CONSTANTE_D(PLUS_PETITE_IMAGE_CARREE_CIRCONSCRITE); #Aif ( (defined(GESTION_DU_FORMAT_DES_IMAGES_VERSION_01)) \ ) #Eif ( (defined(GESTION_DU_FORMAT_DES_IMAGES_VERSION_01)) \ ) #if ( (defined(GESTION_DU_FORMAT_DES_IMAGES_VERSION_02)) \ || (defined(GESTION_DU_FORMAT_DES_IMAGES_VERSION_03)) \ ) #Aif ( (defined(GESTION_DU_FORMAT_DES_IMAGES_VERSION_02)) \ || (defined(GESTION_DU_FORMAT_DES_IMAGES_VERSION_03)) \ ) #Eif ( (defined(GESTION_DU_FORMAT_DES_IMAGES_VERSION_02)) \ || (defined(GESTION_DU_FORMAT_DES_IMAGES_VERSION_03)) \ ) EDITION_D_UNE_CONSTANTE_D(PasX); EDITION_D_UNE_CONSTANTE_D(PasY); EDITION_D_UNE_CONSTANTE_D(PasZ); EDITION_D_UNE_CONSTANTE_D(Xmin); EDITION_D_UNE_CONSTANTE_D(Xmax2); EDITION_D_UNE_CONSTANTE_D(Xcentre); EDITION_D_UNE_CONSTANTE_D(Xmin2); EDITION_D_UNE_CONSTANTE_D(Xmax); EDITION_D_UNE_CONSTANTE_D(dimX); EDITION_D_UNE_CONSTANTE_D(dimX2); EDITION_D_UNE_CONSTANTE_D(dimXN); EDITION_D_UNE_CONSTANTE_D(Ymin); EDITION_D_UNE_CONSTANTE_D(Ymax2); EDITION_D_UNE_CONSTANTE_D(Ycentre); EDITION_D_UNE_CONSTANTE_D(Ymin2); EDITION_D_UNE_CONSTANTE_D(Ymax); EDITION_D_UNE_CONSTANTE_D(dimY); EDITION_D_UNE_CONSTANTE_D(dimY2); EDITION_D_UNE_CONSTANTE_D(dimYN); EDITION_D_UNE_CONSTANTE_D(Zmin); EDITION_D_UNE_CONSTANTE_D(Zmax2); EDITION_D_UNE_CONSTANTE_D(Zcentre); EDITION_D_UNE_CONSTANTE_D(Zmin2); EDITION_D_UNE_CONSTANTE_D(Zmax); EDITION_D_UNE_CONSTANTE_D(dimZ); EDITION_D_UNE_CONSTANTE_D(dimZ2); EDITION_D_UNE_CONSTANTE_D(dimZN); EDITION_D_UNE_CONSTANTE_D(Tmin); EDITION_D_UNE_CONSTANTE_D(Tmax2); EDITION_D_UNE_CONSTANTE_D(Tcentre); EDITION_D_UNE_CONSTANTE_D(Tmin2); EDITION_D_UNE_CONSTANTE_D(Tmax); EDITION_D_UNE_CONSTANTE_D(dimT); EDITION_D_UNE_CONSTANTE_D(dimT2); EDITION_D_UNE_CONSTANTE_D(dimTN); /* Les constantes '?centre' ont ete introduites le 20050720131424... */ /* */ /* Les constantes 'dim??', '?max2' et '?min2' ont ete introduites le 20060504141947... */ /* */ /* Les constantes relatives a 'T' ont ete introduites le 20171219112035... */ EDITION_D_UNE_CONSTANTE_D(Bsize_p); EDITION_D_UNE_CONSTANTE_D(NOIR); EDITION_D_UNE_CONSTANTE_D(NOIR_PLANCHER); EDITION_D_UNE_CONSTANTE_D(NOIR_PLANCHER_0); EDITION_D_UNE_CONSTANTE_D(NOIR_PLANCHER_1); EDITION_D_UNE_CONSTANTE_D(NOIR_PLANCHER_2); EDITION_D_UNE_CONSTANTE_D(NOIR_PLANCHER_3); EDITION_D_UNE_CONSTANTE_D(NOIR_PLANCHER_4); EDITION_D_UNE_CONSTANTE_D(NOIR_PLANCHER_5); EDITION_D_UNE_CONSTANTE_D(NOIR_PLANCHER_6); EDITION_D_UNE_CONSTANTE_D(NOIR_PLANCHER_7); /* Les constantes 'NOIR_PLANCHER*' ont ete introduites le 20050111154812... */ EDITION_D_UNE_CONSTANTE_F(______________NOIR_NORMALISE); EDITION_D_UNE_CONSTANTE_D(GRIS); EDITION_D_UNE_CONSTANTE_D(GRIS_0); EDITION_D_UNE_CONSTANTE_D(GRIS_1); EDITION_D_UNE_CONSTANTE_D(GRIS_2); EDITION_D_UNE_CONSTANTE_D(GRIS_3); EDITION_D_UNE_CONSTANTE_D(GRIS_4); EDITION_D_UNE_CONSTANTE_D(GRIS_5); EDITION_D_UNE_CONSTANTE_D(GRIS_6); EDITION_D_UNE_CONSTANTE_D(GRIS_7); EDITION_D_UNE_CONSTANTE_D(GRIS_8); /* Les constantes 'GRIS_?' ont ete introduites le 20050111154812... */ EDITION_D_UNE_CONSTANTE_D(BLANC); EDITION_D_UNE_CONSTANTE_F(______________BLANC_NORMALISE); EDITION_D_UNE_CONSTANTE_D(COULEURS); EDITION_D_UNE_CONSTANTE_D(NOMBRE_DE_COMPOSANTES_CHROMATIQUES); EDITION_D_UNE_CONSTANTE_D(PRECISION_MINIMALE_DU_ROUGE); EDITION_D_UNE_CONSTANTE_D(PRECISION_MINIMALE_DU_VERTE); EDITION_D_UNE_CONSTANTE_D(PRECISION_MINIMALE_DU_BLEUE); EDITION_D_UNE_CONSTANTE_D(PRECISION_MAXIMALE_DU_ROUGE); EDITION_D_UNE_CONSTANTE_D(PRECISION_MAXIMALE_DU_VERTE); EDITION_D_UNE_CONSTANTE_D(PRECISION_MAXIMALE_DU_BLEUE); EDITION_D_UNE_CONSTANTE_D(NOMBRE_DE_SUBSTITUTIONS); EDITION_D_UNE_CONSTANTE_D(LONGUEUR_DE_L_ONDELETTE_1D); EDITION_D_UNE_CONSTANTE_F(VITESSE_DE_LA_LUMIERE); EDITION_D_UNE_CONSTANTE_F(CONSTANTE_DE_LA_GRAVITATION); EDITION_D_UNE_CONSTANTE_F(CONSTANTE_DE_PLANCK); EDITION_D_UNE_CONSTANTE_F(CONSTANTE_DE_BOLTZMANN); EDITION_D_UNE_CONSTANTE_F(CHARGE_ELECTRIQUE_ELEMENTAIRE); RETU_VIDE; /* Introduit le 20071130134552... */ Eblock #undef EDITION_D_UNE_CONSTANTE_C #undef EDITION_D_UNE_CONSTANTE_F #undef EDITION_D_UNE_CONSTANTE_D #undef EDITION_D_UNE_CONSTANTE_X #undef EDITION_D_UNE_CONSTANTE_L #undef EDITION_D_UNE_CONSTANTE EFonctionV #undef FORMAT_NUMERIQUE #undef gFORMAT_NUMERIQUE _______________________________________________________________________________________________________________________________________ _______________________________________________________________________________________________________________________________________ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* E X P L O I T A T I O N D E S P R I N C I P A U X O P E R A T E U R S G E N E R A U X : */ /* */ /*************************************************************************************************************************************/ BFonctionV #define FORMAT_NUMERIQUE(format_signe,format_non_signe) \ COND(IL_FAUT(Fexploitation_des_principaux_operateurs_generaux_____signer_les_valeurs_numeriques) \ ,format_signe \ ,format_non_signe \ ) \ /* Selection d'un format pour signer ou pas les valeurs numeriques. */ #define FORMAT_NUMERIQUE_INTE \ FORMAT_NUMERIQUE(FORMAT_INTE_EDITION,FORMAT_INTE) #define FORMAT_NUMERIQUE_FLOT \ FORMAT_NUMERIQUE(FORMAT_FLOT_EDITION,FORMAT_FLOT) /* Quelques formats utiles... */ #define EDITION_D_UN_OPERATEUR_GENERAL(operateur_general,controle,sequence_calcul,sequence_impression) \ /* Le 20060509145433, le premier argument ('message') a disparu. En effet, il etait le */ \ /* nom de l'operateur 'operateur_general' (alors que 'operateur_general' est ici la */ \ /* definition de cet operateur). Cela fut rendu possible grace a ce qui est decrit pour */ \ /* 'EDITION_D_UNE_CONSTANTE(...)' le 20060509140316 ci-dessus... */ \ Bblock \ DEFV(CHAR,INIT(POINTERc(nom_de_l_operateur_general),CHAINE_UNDEF)); \ MOVE_CARACTERE_NE_DEPLACE_QUE_LES_CARACTERES_ALPHA_NUMERIQUES; \ EGAp(nom_de_l_operateur_general,chain_Acopie("operateur_general")); \ MOVE_CARACTERE_DEPLACE_TOUS_LES_CARACTERES; \ /* Cette facon de faire est due aux appels 'EDITION_D_UN_OPERATEUR_GENERAL_??(...)' pour */ \ /* lesquels les differents arguments de 'EDITION_D_UN_OPERATEUR_GENERAL(...)' sont chacun */ \ /* sur une ligne. La consequence est que leur nom est alors suivi par un espace ajoute par */ \ /* '$xcp/cpp$X' (c'est donc le cas de 'operateur_general'). Si l'on veut donc que la mise */ \ /* en page soit correcte, il convient donc d'eliminer cet espace "arriere"... */ \ \ Test(EST_VRAI(controle)) \ Bblock \ BLOC(sequence_calcul); \ /* Valeur courante de l'operateur general... */ \ \ Test(IFOU(IFEQ_chaine(operateur_general_recherche,NOM_UNDEF_VIDE) \ ,IFET(IFEQ_chaine(operateur_general_recherche,nom_de_l_operateur_general) \ ,IL_FAUT(Fexploitation_des_principaux_operateurs_generaux_____editer_args_operateur_unique) \ ) \ ) \ ) \ Bblock \ /* Cas ou l'ensemble des operateurs connus sont edites ou bien ou un seul operateur est */ \ /* edite avec ses arguments ; le format d'impression est alors : */ \ /* */ \ /* OPERATEUR(Arguments) = Valeur */ \ /* */ \ DEFV(CHAR,INIC(POINTERc(format_EGAq_1____EDITION_D_UN_OPERATEUR_GENERAL) \ ,chain_Aconcaten2(nom_de_l_operateur_general \ ,"(" \ ) \ ) \ ); \ DEFV(CHAR,INIC(POINTERc(format_EGAq_2____EDITION_D_UN_OPERATEUR_GENERAL) \ ,chain_Aconcaten3(") = " \ ,FORMAT_NUMERIQUE_FLOT \ ,"\n" \ ) \ ) \ ); \ \ CAL3(Prme0(format_EGAq_1____EDITION_D_UN_OPERATEUR_GENERAL \ ) \ ); \ \ BLOC(sequence_impression); \ \ CAL3(Prme1(format_EGAq_2____EDITION_D_UN_OPERATEUR_GENERAL \ ,valeur \ ) \ ); \ \ CALZ_FreCC(format_EGAq_2____EDITION_D_UN_OPERATEUR_GENERAL); \ CALZ_FreCC(format_EGAq_1____EDITION_D_UN_OPERATEUR_GENERAL); \ Eblock \ ATes \ Bblock \ Test(IFEQ_chaine(operateur_general_recherche,nom_de_l_operateur_general)) \ Bblock \ /* Cas ou un seul operateur est edite sans ses arguments ; le format d'impression est */ \ /* alors : */ \ /* */ \ /* Valeur */ \ /* */ \ DEFV(CHAR,INIC(POINTERc(format_EGAq_3____EDITION_D_UN_OPERATEUR_GENERAL) \ ,chain_Aconcaten2(FORMAT_NUMERIQUE_FLOT,"\n") \ ) \ ); \ \ CAL3(Prme1(format_EGAq_3____EDITION_D_UN_OPERATEUR_GENERAL \ ,valeur \ ) \ ); \ \ CALZ_FreCC(format_EGAq_3____EDITION_D_UN_OPERATEUR_GENERAL); \ Eblock \ ATes \ Bblock \ Eblock \ ETes \ Eblock \ ETes \ Eblock \ ATes \ Bblock \ Test(IFEQ_chaine(operateur_general_recherche,NOM_UNDEF_VIDE)) \ Bblock \ PRINT_ERREUR("un operateur ne peut etre teste car sa condition de Controle est non verifiee -1-"); \ CAL3(Prme1("(il s'agit de '%s')\n",nom_de_l_operateur_general)); \ Eblock \ ATes \ Bblock \ Test(IFEQ_chaine(operateur_general_recherche,nom_de_l_operateur_general)) \ Bblock \ PRINT_ERREUR("un operateur ne peut etre teste car sa condition de Controle est non verifiee -2-"); \ CAL3(Prme1("(il s'agit de '%s')\n",nom_de_l_operateur_general)); \ Eblock \ ATes \ Bblock \ Eblock \ ETes \ Eblock \ ETes \ Eblock \ ETes \ \ CALZ_FreCC(nom_de_l_operateur_general); \ /* Liberation de l'espace occupe par le nom de l'operateur general... */ \ Eblock \ /* Edition d'un operateur general... */ #define EDITION_D_UN_OPERATEUR_GENERAL_01(operateur_general,controle) \ Bblock \ EDITION_D_UN_OPERATEUR_GENERAL(operateur_general \ ,controle \ ,BLOC(DEFV(Float,INIT(valeur,FLOT(operateur_general(pa))));) \ ,BLOC( \ Bblock \ DEFV(CHAR,INIC(POINTERc(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_01) \ ,chain_Aconcaten1(FORMAT_NUMERIQUE_FLOT \ ) \ ) \ ); \ \ CAL3(Prme1(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_01 \ ,pa \ ) \ ); \ \ CALZ_FreCC(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_01); \ Eblock \ ) \ ); \ Eblock \ /* Edition d'un operateur general a 01 argument. */ #define EDITION_D_UN_OPERATEUR_GENERAL_02(operateur_general,controle) \ Bblock \ EDITION_D_UN_OPERATEUR_GENERAL(operateur_general \ ,controle \ ,BLOC(DEFV(Float,INIT(valeur,FLOT(operateur_general(pa,pb))));) \ ,BLOC( \ Bblock \ DEFV(CHAR,INIC(POINTERc(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_02) \ ,chain_Aconcaten3(FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT \ ) \ ) \ ); \ \ CAL3(Prme2(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_02 \ ,pa,pb \ ) \ ); \ \ CALZ_FreCC(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_02); \ Eblock \ ) \ ); \ Eblock \ /* Edition d'un operateur general a 02 arguments. */ #define EDITION_D_UN_OPERATEUR_GENERAL_03(operateur_general,controle) \ Bblock \ EDITION_D_UN_OPERATEUR_GENERAL(operateur_general \ ,controle \ ,BLOC(DEFV(Float,INIT(valeur,FLOT(operateur_general(pa,pb,pc))));) \ ,BLOC( \ Bblock \ DEFV(CHAR,INIC(POINTERc(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_03) \ ,chain_Aconcaten5(FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT \ ) \ ) \ ); \ \ CAL3(Prme3(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_03 \ ,pa,pb,pc \ ) \ ); \ \ CALZ_FreCC(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_03); \ Eblock \ ) \ ); \ Eblock \ /* Edition d'un operateur general a 03 arguments. */ #define EDITION_D_UN_OPERATEUR_GENERAL_04(operateur_general,controle) \ Bblock \ EDITION_D_UN_OPERATEUR_GENERAL(operateur_general \ ,controle \ ,BLOC(DEFV(Float,INIT(valeur,FLOT(operateur_general(pa,pb,pc,pd))));) \ ,BLOC( \ Bblock \ DEFV(CHAR,INIC(POINTERc(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_04) \ ,chain_Aconcaten7(FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT \ ) \ ) \ ); \ \ CAL3(Prme4(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_04 \ ,pa,pb,pc,pd \ ) \ ); \ \ CALZ_FreCC(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_04); \ Eblock \ ) \ ); \ Eblock \ /* Edition d'un operateur general a 04 arguments. */ #define EDITION_D_UN_OPERATEUR_GENERAL_05(operateur_general,controle) \ Bblock \ EDITION_D_UN_OPERATEUR_GENERAL(operateur_general \ ,controle \ ,BLOC(DEFV(Float,INIT(valeur,FLOT(operateur_general(pa,pb,pc,pd,pe))));) \ ,BLOC( \ Bblock \ DEFV(CHAR,INIC(POINTERc(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_05) \ ,chain_Aconcaten9(FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT \ ) \ ) \ ); \ \ CAL3(Prme5(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_05 \ ,pa,pb,pc,pd,pe \ ) \ ); \ \ CALZ_FreCC(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_05); \ Eblock \ ) \ ); \ Eblock \ /* Edition d'un operateur general a 05 arguments. */ #define EDITION_D_UN_OPERATEUR_GENERAL_06(operateur_general,controle) \ Bblock \ EDITION_D_UN_OPERATEUR_GENERAL(operateur_general \ ,controle \ ,BLOC(DEFV(Float,INIT(valeur,FLOT(operateur_general(pa,pb,pc,pd,pe,pf))));) \ ,BLOC( \ Bblock \ DEFV(CHAR,INIC(POINTERc(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_06) \ ,chain_Aconcaten11(FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT \ ) \ ) \ ); \ \ CAL3(Prme6(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_06 \ ,pa,pb,pc,pd,pe,pf \ ) \ ); \ \ CALZ_FreCC(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_06); \ Eblock \ ) \ ); \ Eblock \ /* Edition d'un operateur general a 06 arguments. */ #define EDITION_D_UN_OPERATEUR_GENERAL_07(operateur_general,controle) \ Bblock \ EDITION_D_UN_OPERATEUR_GENERAL(operateur_general \ ,controle \ ,BLOC(DEFV(Float,INIT(valeur,FLOT(operateur_general(pa,pb,pc,pd,pe,pf,pg))));) \ ,BLOC( \ Bblock \ DEFV(CHAR,INIC(POINTERc(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_07) \ ,chain_Aconcaten13(FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT \ ) \ ) \ ); \ \ CAL3(Prme7(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_07 \ ,pa,pb,pc,pd,pe,pf,pg \ ) \ ); \ \ CALZ_FreCC(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_07); \ Eblock \ ) \ ); \ Eblock \ /* Edition d'un operateur general a 07 arguments. */ #define EDITION_D_UN_OPERATEUR_GENERAL_08(operateur_general,controle) \ Bblock \ EDITION_D_UN_OPERATEUR_GENERAL(operateur_general \ ,controle \ ,BLOC(DEFV(Float,INIT(valeur,FLOT(operateur_general(pa,pb,pc,pd,pe,pf,pg,ph))));) \ ,BLOC( \ Bblock \ DEFV(CHAR,INIC(POINTERc(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_08) \ ,chain_Aconcaten15(FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT \ ) \ ) \ ); \ \ CAL3(Prme8(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_08 \ ,pa,pb,pc,pd,pe,pf,pg,ph \ ) \ ); \ \ CALZ_FreCC(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_08); \ Eblock \ ) \ ); \ Eblock \ /* Edition d'un operateur general a 08 arguments. */ #define EDITION_D_UN_OPERATEUR_GENERAL_09(operateur_general,controle) \ Bblock \ EDITION_D_UN_OPERATEUR_GENERAL(operateur_general \ ,controle \ ,BLOC(DEFV(Float,INIT(valeur,FLOT(operateur_general(pa,pb,pc,pd,pe,pf,pg,ph,pi))));) \ ,BLOC( \ Bblock \ DEFV(CHAR,INIC(POINTERc(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_09) \ ,chain_Aconcaten17(FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT,"," \ ,FORMAT_NUMERIQUE_FLOT \ ) \ ) \ ); \ \ CAL3(Prme9(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_09 \ ,pa,pb,pc,pd,pe,pf,pg,ph,pi \ ) \ ); \ \ CALZ_FreCC(format_EGAq____EDITION_D_UN_OPERATEUR_GENERAL_09); \ Eblock \ ) \ ); \ Eblock \ /* Edition d'un operateur general a 09 arguments. */ DEFV(Common,DEFV(Logical,SINT(Fexploitation_des_principaux_operateurs_generaux_____editer_args_operateur_unique,FAUX))); /* Lorsqu'un seul operateur doit etre edite, doit-on editer ses arguments ('VRAI') ou pas */ /* ('FAUX'), la valeur par defaut assurant la compatibilite (introduit le 20031209114812). */ DEFV(Common,DEFV(Logical,SINT(Fexploitation_des_principaux_operateurs_generaux_____signer_les_valeurs_numeriques,VRAI))); /* Faut-il signer les valeurs numeriques ? */ /* */ /* On notera que cette option peut s'utiliser conjointement avec : */ /* */ /* SigneInt= */ /* SigneFlot= */ /* */ /* ('v $xig/fonct$vv$DEF signe_de_FORMAT_') qui n'a pas tout a fait le meme effet que */ /* cette derniere car, en effet, celle-ci reduit la precision du resultat car elle */ /* bascule entre {FORMAT_FLOT_EDITION,FORMAT_INTE_EDITION} et {FORMAT_FLOT,FORMAT_INTE} */ /* respectivement... */ #define pa \ Fexploitation_des_principaux_operateurs_generaux_____parametre_a #define pb \ Fexploitation_des_principaux_operateurs_generaux_____parametre_b #define pc \ Fexploitation_des_principaux_operateurs_generaux_____parametre_c #define pd \ Fexploitation_des_principaux_operateurs_generaux_____parametre_d #define pe \ Fexploitation_des_principaux_operateurs_generaux_____parametre_e #define pf \ Fexploitation_des_principaux_operateurs_generaux_____parametre_f #define pg \ Fexploitation_des_principaux_operateurs_generaux_____parametre_g #define ph \ Fexploitation_des_principaux_operateurs_generaux_____parametre_h #define pi \ Fexploitation_des_principaux_operateurs_generaux_____parametre_i DEFV(Common,DEFV(Float,SINT(Fexploitation_des_principaux_operateurs_generaux_____parametre_a,FU))); DEFV(Common,DEFV(Float,SINT(Fexploitation_des_principaux_operateurs_generaux_____parametre_b,FU))); DEFV(Common,DEFV(Float,SINT(Fexploitation_des_principaux_operateurs_generaux_____parametre_c,FU))); DEFV(Common,DEFV(Float,SINT(Fexploitation_des_principaux_operateurs_generaux_____parametre_d,FU))); DEFV(Common,DEFV(Float,SINT(Fexploitation_des_principaux_operateurs_generaux_____parametre_e,FU))); DEFV(Common,DEFV(Float,SINT(Fexploitation_des_principaux_operateurs_generaux_____parametre_f,FU))); DEFV(Common,DEFV(Float,SINT(Fexploitation_des_principaux_operateurs_generaux_____parametre_g,FU))); DEFV(Common,DEFV(Float,SINT(Fexploitation_des_principaux_operateurs_generaux_____parametre_h,FU))); DEFV(Common,DEFV(Float,SINT(Fexploitation_des_principaux_operateurs_generaux_____parametre_i,FU))); /* Valeur par defaut des parametres {a,b,c,...}. */ DEFV(Common,DEFV(FonctionV,Fexploitation_des_principaux_operateurs_generaux(operateur_general_recherche))) DEFV(Argument,DEFV(CHAR,DTb0(operateur_general_recherche))); /* Nom de l'eventuel operateur general recherche. */ /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock /*..............................................................................................................................*/ EDITION_D_UN_OPERATEUR_GENERAL_01(ABSO,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(ACOD,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(ACOX,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(ADD1,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(AINT,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(ARRI,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(ARRO,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(ASID,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(ASIX,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(CERC,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(COHX,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(COMP,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(CONVERSION_DEGRES_EN_RADIANS,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(CONVERSION_GRADES_EN_RADIANS,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(COS1,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(COSA,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(COSD,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(COSH,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(COSX,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(DOUB,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(DPRE,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(ENTE,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(EX10,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(EXEX,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(EXP0,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(EXP1,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(EXP2,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(EXP3,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(EXP4,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(EXP5,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(EXP6,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(EXP9,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(EXPB,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(EXPD,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(EXPX,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(FACT,IZGE(pa)); EDITION_D_UN_OPERATEUR_GENERAL_01(FAUL,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(FRA1,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(FRA2,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(FRA3,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(FRA4,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(FRA5,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(FRA6,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(FRA7,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(FRA8,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(FRA9,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(FRA10,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(FRA11,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(FRA12,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(FRA13,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(FRA14,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(FRA15,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(FRA16,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(GIGA,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(GRO0,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(GRO1,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(GRO2,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(GRO3,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(GRO4,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(GRO5,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(GRO6,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(GRO7,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(GRO8,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(GRO9,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(GRO10,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(GRO11,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(GRO12,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(GRO13,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(GRO14,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(GRO15,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(GRO16,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(INTE,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(INVE,IZNE(pa)); EDITION_D_UN_OPERATEUR_GENERAL_01(INVZ,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(KILO,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(LO1D,IZGT(pa)); EDITION_D_UN_OPERATEUR_GENERAL_01(LO1X,IZGT(pa)); EDITION_D_UN_OPERATEUR_GENERAL_01(LO2X,IZGT(pa)); EDITION_D_UN_OPERATEUR_GENERAL_01(LOGD,IZGT(pa)); EDITION_D_UN_OPERATEUR_GENERAL_01(LOGX,IZGT(pa)); EDITION_D_UN_OPERATEUR_GENERAL_01(MAX1,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(MEGA,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(MIN1,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(MOID,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(MOIT,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(MONO,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(MUL0,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(MUL1,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(NEGA,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(NEUL,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(NEUT,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(PETI,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(PRED,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(QUAD,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(QUAR,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(RACA,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(RACD,IZGE(pa)); EDITION_D_UN_OPERATEUR_GENERAL_01(RACX,IZGE(pa)); EDITION_D_UN_OPERATEUR_GENERAL_01(SE11,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(SICX,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(SIGN,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(SIHX,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(SIN1,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(SINA,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(SIND,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(SINH,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(SINX,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(SUCC,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(TAHX,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(TANG,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(TANH,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(TANX,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(TIER,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(TRIP,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(TRMU,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(TRPU,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(ZORO,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(fMOIT,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_01(fQUAR,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(ADD2,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(AINT_a_peu_pres,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(ARTG,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(ATAN,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(CHOI,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(DIVI,IZNE(pb)); EDITION_D_UN_OPERATEUR_GENERAL_02(DIVZ,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(DIVn,IZNE(pb)); EDITION_D_UN_OPERATEUR_GENERAL_02(EXTD,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(EXTG,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(FLIN,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(FRACTION,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(FRAn,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(INTM,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(LENG,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(LObX,IFET(IZGT(pa),IFGT(pb,FU))); EDITION_D_UN_OPERATEUR_GENERAL_02(LSTX,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(MAX2,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(MEME_SIGNE_QUE,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(MIN2,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(MINMAX,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(MOND,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(MONX,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(MOYD,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(MOYE,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(MOYG,SONT_DE_MEME_SIGNE(pa,pb)); EDITION_D_UN_OPERATEUR_GENERAL_02(MOYQ,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(MOYZ,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(MUL2,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(MULD,IZNE(pb)); EDITION_D_UN_OPERATEUR_GENERAL_02(MULF,IZNE(pb)); EDITION_D_UN_OPERATEUR_GENERAL_02(MULTIPLE,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(NBRE,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(CONVERTIR_EN_UN_POURCENTAGE,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(PRENDRE_UN_POURCENTAGE,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(PUID,IZGE(pa)); EDITION_D_UN_OPERATEUR_GENERAL_02(PUIX,IZGE(pa)); EDITION_D_UN_OPERATEUR_GENERAL_02(QUOD,IZNE(pb)); EDITION_D_UN_OPERATEUR_GENERAL_02(SE12,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(SE22,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(TROP_GRAND,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(TROP_PETIT,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(VFLIN,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(fARRI,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(fD,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(fFRAn,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(fMULD,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(fMULE,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_02(fREST,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(ADD3,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(AXPB,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(BARY,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(CHOY,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(CONX,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(DENO,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(DERIVATION_PARTIELLE,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(DIS2,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(DIVZ_a_peu_pres,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(INVX,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(LIN1,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(LIR1,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(MAX3,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(MIN3,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(MODF,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(MODS,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(MODU,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(MOY3,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(MUL3,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(NORM,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(SCAL,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(SE13,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(SE23,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(SE33,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(TRON,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(TROQ,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_03(gCOMP,IFET(IFGT(pc,pb),IFINff(pa,pb,pc))); EDITION_D_UN_OPERATEUR_GENERAL_03(vBARY,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_04(ADD4,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_04(DIS3,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_04(DIV0,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_04(MAX4,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_04(MIN4,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_04(MOY4,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_04(MUL4,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_04(NORZ,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_04(SCAZ,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_04(SE14,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_04(SE24,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_04(SE34,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_04(SE44,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_04(gMINMAX,I3ET(IFGT(pd,pc),IFINff(pa,pc,pd),IFINff(pb,pc,pd))); EDITION_D_UN_OPERATEUR_GENERAL_05(ADD5,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_05(DIS4,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_05(HOMO,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_05(LIN2,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_05(LIR2,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_05(MUL5,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_06(ADD6,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_06(DIS5,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_06(ESCA,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_06(ESCQ,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_06(HOMZ,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_07(ADD7,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_07(LIN3,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_07(LIR3,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_08(ADD8,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_09(LIN4,VRAI); EDITION_D_UN_OPERATEUR_GENERAL_09(LIR4,VRAI); RETU_VIDE; /* Introduit le 20071130134552... */ Eblock #undef pi #undef ph #undef pg #undef pf #undef pe #undef pd #undef pc #undef pb #undef pa #undef EDITION_D_UN_OPERATEUR_GENERAL_09 #undef EDITION_D_UN_OPERATEUR_GENERAL_08 #undef EDITION_D_UN_OPERATEUR_GENERAL_07 #undef EDITION_D_UN_OPERATEUR_GENERAL_06 #undef EDITION_D_UN_OPERATEUR_GENERAL_05 #undef EDITION_D_UN_OPERATEUR_GENERAL_04 #undef EDITION_D_UN_OPERATEUR_GENERAL_03 #undef EDITION_D_UN_OPERATEUR_GENERAL_02 #undef EDITION_D_UN_OPERATEUR_GENERAL_01 #undef EDITION_D_UN_OPERATEUR_GENERAL #undef FORMAT_NUMERIQUE_FLOT #undef FORMAT_NUMERIQUE_INTE #undef FORMAT_NUMERIQUE EFonctionV _______________________________________________________________________________________________________________________________________ _______________________________________________________________________________________________________________________________________ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* E X P L O I T A T I O N D E S P R I N C I P A U X O P E R A T E U R S " I M A G E S " : */ /* */ /*************************************************************************************************************************************/ BFonctionV #define FORMAT_NUMERIQUE(format_signe,format_non_signe) \ COND(IL_FAUT(Fexploitation_des_principaux_operateurs_images_____signer_les_valeurs_numeriques) \ ,format_signe \ ,format_non_signe \ ) \ /* Selection d'un format pour signer ou pas les valeurs numeriques. */ #define FORMAT_NUMERIQUE_INTE \ FORMAT_NUMERIQUE(FORMAT_INTE_EDITION,FORMAT_INTE) #define FORMAT_NUMERIQUE_FLOT \ FORMAT_NUMERIQUE(FORMAT_FLOT_EDITION,FORMAT_FLOT) /* Quelques formats utiles... */ #define gEDITION_D_UN_OPERATEUR_IMAGE(message,operateur_image,argument,format_argument,format_valeur) \ Bblock \ Test(IFEQ_chaine(operateur_image_recherche,NOM_UNDEF_VIDE)) \ /* Test introduit le 20190724141809... */ \ Bblock \ CAL3(Prme1("%s",message)); \ /* Edition d'un message preliminaire... */ \ Eblock \ ATes \ Bblock \ Eblock \ ETes \ \ EDITION_D_UN_OPERATEUR_IMAGE(operateur_image,argument,format_argument,format_valeur); \ /* Edition d'un operateur "image" quelconque... */ \ Eblock \ /* Edition d'un operateur "image" quelconque avec un message quelconque... */ #define EDITION_D_UN_OPERATEUR_IMAGE(operateur_image,argument,format_argument,format_valeur) \ /* Le 20060509153658, le premier argument ('message') a disparu. En effet, il etait le */ \ /* nom de l'operateur 'operateur_image' (alors que 'operateur_image' est ici la */ \ /* definition de cet operateur). Cela fut rendu possible grace a ce qui est decrit pour */ \ /* 'EDITION_D_UNE_CONSTANTE(...)' le 20060509140316 ci-dessus... */ \ Bblock \ DEFV(CHAR,INIT(POINTERc(nom_de_l_operateur_image),CHAINE_UNDEF)); \ MOVE_CARACTERE_NE_DEPLACE_QUE_LES_CARACTERES_ALPHA_NUMERIQUES; \ EGAp(nom_de_l_operateur_image,chain_Acopie("operateur_image")); \ MOVE_CARACTERE_DEPLACE_TOUS_LES_CARACTERES; \ /* Cette facon de faire est due aux appels 'EDITION_D_UN_OPERATEUR_GENERAL_??(...)' pour */ \ /* lesquels les differents arguments de 'EDITION_D_UN_OPERATEUR_GENERAL(...)' sont chacun */ \ /* sur une ligne. La consequence est que leur nom est alors suivi par un espace ajoute par */ \ /* '$xcp/cpp$X' (c'est donc le cas de 'operateur_image'). Si l'on veut donc que la mise */ \ /* en page soit correcte, il convient donc d'eliminer cet espace "arriere"... */ \ \ Test(IFOU(IFEQ_chaine(operateur_image_recherche,NOM_UNDEF_VIDE) \ ,IFET(IFEQ_chaine(operateur_image_recherche,nom_de_l_operateur_image) \ ,IL_FAUT(Fexploitation_des_principaux_operateurs_images_____editer_args_operateur_unique) \ ) \ ) \ ) \ Bblock \ /* Cas ou l'ensemble des operateurs connus sont edites ou bien ou un seul operateur est */ \ /* edite avec ses arguments ; le format d'impression est alors : */ \ /* */ \ /* OPERATEUR(Arguments) = Valeur */ \ /* */ \ DEFV(CHAR,INIC(POINTERc(format_EGAq_1____EDITION_D_UN_OPERATEUR_IMAGE) \ ,chain_Aconcaten6(nom_de_l_operateur_image,"(",format_argument,") = ",format_valeur,"\n") \ ) \ ); \ \ CAL3(Prme2(format_EGAq_1____EDITION_D_UN_OPERATEUR_IMAGE \ ,argument \ ,operateur_image(argument) \ ) \ ); \ \ CALZ_FreCC(format_EGAq_1____EDITION_D_UN_OPERATEUR_IMAGE); \ Eblock \ ATes \ Bblock \ Test(IFEQ_chaine(operateur_image_recherche,nom_de_l_operateur_image)) \ Bblock \ /* Cas ou un seul operateur est edite sans ses arguments ; le format d'impression est */ \ /* alors : */ \ /* */ \ /* Valeur */ \ /* */ \ DEFV(CHAR,INIC(POINTERc(format_EGAq_2____EDITION_D_UN_OPERATEUR_IMAGE) \ ,chain_Aconcaten2(format_valeur,"\n") \ ) \ ); \ \ CAL3(Prme1(format_EGAq_2____EDITION_D_UN_OPERATEUR_IMAGE \ ,operateur_image(argument) \ ) \ ); \ \ CALZ_FreCC(format_EGAq_2____EDITION_D_UN_OPERATEUR_IMAGE); \ Eblock \ ATes \ Bblock \ Eblock \ ETes \ Eblock \ ETes \ \ CALZ_FreCC(nom_de_l_operateur_image); \ /* Liberation de l'espace occupe par le nom de l'operateur general... */ \ Eblock \ /* Edition d'un operateur "image" quelconque... */ #define EDITION_DES_SUPER_cDENORMALISE_ET_cNORMALISE(super_echelle) \ Bblock \ DEFV(CHAR,INIT(POINTERc(message_de_la_super_echelle),chain_Aconcaten2("super_echelle"," : "))); \ /* Message d'introduction a editer par la suite (introduit le 20060509161958...). */ \ \ BLOC(super_echelle); \ /* Choix de l'echelle a utiliser... */ \ \ gEDITION_D_UN_OPERATEUR_IMAGE(message_de_la_super_echelle \ ,SUPER_cDENORMALISE_OX \ ,FZERO \ ,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE \ ); \ gEDITION_D_UN_OPERATEUR_IMAGE(message_de_la_super_echelle \ ,SUPER_cDENORMALISE_OX \ ,FU \ ,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE \ ); \ gEDITION_D_UN_OPERATEUR_IMAGE(message_de_la_super_echelle \ ,SUPER_cDENORMALISE_OY \ ,FZERO \ ,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE \ ); \ gEDITION_D_UN_OPERATEUR_IMAGE(message_de_la_super_echelle \ ,SUPER_cDENORMALISE_OY \ ,FU \ ,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE \ ); \ gEDITION_D_UN_OPERATEUR_IMAGE(message_de_la_super_echelle \ ,SUPER_cDENORMALISE_OZ \ ,FZERO \ ,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE \ ); \ gEDITION_D_UN_OPERATEUR_IMAGE(message_de_la_super_echelle \ ,SUPER_cDENORMALISE_OZ \ ,FU \ ,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE \ ); \ gEDITION_D_UN_OPERATEUR_IMAGE(message_de_la_super_echelle \ ,SUPER_cNORMALISE_OX \ ,Xmin \ ,FORMAT_NUMERIQUE_INTE,FORMAT_NUMERIQUE_FLOT \ ); \ gEDITION_D_UN_OPERATEUR_IMAGE(message_de_la_super_echelle \ ,SUPER_cNORMALISE_OX \ ,Xmax \ ,FORMAT_NUMERIQUE_INTE,FORMAT_NUMERIQUE_FLOT \ ); \ gEDITION_D_UN_OPERATEUR_IMAGE(message_de_la_super_echelle \ ,SUPER_cNORMALISE_OY \ ,Ymin \ ,FORMAT_NUMERIQUE_INTE,FORMAT_NUMERIQUE_FLOT \ ); \ gEDITION_D_UN_OPERATEUR_IMAGE(message_de_la_super_echelle \ ,SUPER_cNORMALISE_OY \ ,Ymax \ ,FORMAT_NUMERIQUE_INTE,FORMAT_NUMERIQUE_FLOT \ ); \ gEDITION_D_UN_OPERATEUR_IMAGE(message_de_la_super_echelle \ ,SUPER_cNORMALISE_OZ \ ,Zmin \ ,FORMAT_NUMERIQUE_INTE,FORMAT_NUMERIQUE_FLOT \ ); \ gEDITION_D_UN_OPERATEUR_IMAGE(message_de_la_super_echelle \ ,SUPER_cNORMALISE_OZ \ ,Zmax \ ,FORMAT_NUMERIQUE_INTE,FORMAT_NUMERIQUE_FLOT \ ); \ \ CALZ_FreCC(message_de_la_super_echelle); \ /* Liberation de l'espace occupe par le message d'introduction... */ \ Eblock \ /* Edition des "super" normalisations et denormalisations... */ DEFV(Common,DEFV(Logical,SINT(Fexploitation_des_principaux_operateurs_images_____editer_args_operateur_unique,FAUX))); /* Lorsqu'un seul operateur doit etre edite, doit-on editer ses arguments ('VRAI') ou pas */ /* ('FAUX'), la valeur par defaut assurant la compatibilite (introduit le 20031209120515). */ DEFV(Common,DEFV(Logical,SINT(Fexploitation_des_principaux_operateurs_images_____signer_les_valeurs_numeriques,VRAI))); /* Faut-il signer les valeurs numeriques ? */ /* */ /* On notera que cette option peut s'utiliser conjointement avec : */ /* */ /* SigneInt= */ /* SigneFlot= */ /* */ /* ('v $xig/fonct$vv$DEF signe_de_FORMAT_') qui n'a pas tout a fait le meme effet que */ /* cette derniere car, en effet, celle-ci reduit la precision du resultat car elle */ /* bascule entre {FORMAT_FLOT_EDITION,FORMAT_INTE_EDITION} et {FORMAT_FLOT,FORMAT_INTE} */ /* respectivement... */ DEFV(Common,DEFV(FonctionV,Fexploitation_des_principaux_operateurs_images(operateur_image_recherche))) DEFV(Argument,DEFV(CHAR,DTb0(operateur_image_recherche))); /* Nom de l'eventuel operateur "image" recherche. */ /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock /*..............................................................................................................................*/ EDITION_D_UN_OPERATEUR_IMAGE(_____cNORMALISE_OX,Xmin,FORMAT_NUMERIQUE_INTE,FORMAT_NUMERIQUE_FLOT) EDITION_D_UN_OPERATEUR_IMAGE(_____cNORMALISE_OX,Xmax,FORMAT_NUMERIQUE_INTE,FORMAT_NUMERIQUE_FLOT) EDITION_D_UN_OPERATEUR_IMAGE(_____cNORMALISE_OY,Ymin,FORMAT_NUMERIQUE_INTE,FORMAT_NUMERIQUE_FLOT) EDITION_D_UN_OPERATEUR_IMAGE(_____cNORMALISE_OY,Ymax,FORMAT_NUMERIQUE_INTE,FORMAT_NUMERIQUE_FLOT) EDITION_D_UN_OPERATEUR_IMAGE(_____cNORMALISE_OZ,Zmin,FORMAT_NUMERIQUE_INTE,FORMAT_NUMERIQUE_FLOT) EDITION_D_UN_OPERATEUR_IMAGE(_____cNORMALISE_OZ,Zmax,FORMAT_NUMERIQUE_INTE,FORMAT_NUMERIQUE_FLOT) EDITION_D_UN_OPERATEUR_IMAGE(_____lNORMALISE_OX,ZERO,FORMAT_NUMERIQUE_INTE,FORMAT_NUMERIQUE_FLOT) EDITION_D_UN_OPERATEUR_IMAGE(_____lNORMALISE_OX,dimX,FORMAT_NUMERIQUE_INTE,FORMAT_NUMERIQUE_FLOT) EDITION_D_UN_OPERATEUR_IMAGE(_____lNORMALISE_OY,ZERO,FORMAT_NUMERIQUE_INTE,FORMAT_NUMERIQUE_FLOT) EDITION_D_UN_OPERATEUR_IMAGE(_____lNORMALISE_OY,dimY,FORMAT_NUMERIQUE_INTE,FORMAT_NUMERIQUE_FLOT) EDITION_D_UN_OPERATEUR_IMAGE(_____lNORMALISE_OZ,ZERO,FORMAT_NUMERIQUE_INTE,FORMAT_NUMERIQUE_FLOT) EDITION_D_UN_OPERATEUR_IMAGE(_____lNORMALISE_OZ,dimZ,FORMAT_NUMERIQUE_INTE,FORMAT_NUMERIQUE_FLOT) EDITION_D_UN_OPERATEUR_IMAGE(_cDENORMALISE_OX,FZERO,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE); EDITION_D_UN_OPERATEUR_IMAGE(_cDENORMALISE_OX,FU,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE); EDITION_D_UN_OPERATEUR_IMAGE(_cDENORMALISE_OY,FZERO,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE); EDITION_D_UN_OPERATEUR_IMAGE(_cDENORMALISE_OY,FU,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE); EDITION_D_UN_OPERATEUR_IMAGE(_cDENORMALISE_OZ,FZERO,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE); EDITION_D_UN_OPERATEUR_IMAGE(_cDENORMALISE_OZ,FU,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE); EDITION_D_UN_OPERATEUR_IMAGE(_lDENORMALISE_OX,FZERO,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE); EDITION_D_UN_OPERATEUR_IMAGE(_lDENORMALISE_OX,FU,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE); EDITION_D_UN_OPERATEUR_IMAGE(_lDENORMALISE_OY,FZERO,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE); EDITION_D_UN_OPERATEUR_IMAGE(_lDENORMALISE_OY,FU,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE); EDITION_D_UN_OPERATEUR_IMAGE(_lDENORMALISE_OZ,FZERO,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE); EDITION_D_UN_OPERATEUR_IMAGE(_lDENORMALISE_OZ,FU,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE); EDITION_D_UN_OPERATEUR_IMAGE(_cDENORMALISE_OX ,_____cNORMALISE_OX(Xmin) ,FORMAT_NUMERIQUE_FLOT ,FORMAT_NUMERIQUE_INTE ); EDITION_D_UN_OPERATEUR_IMAGE(_cDENORMALISE_OX ,_____cNORMALISE_OX(Xmax) ,FORMAT_NUMERIQUE_FLOT ,FORMAT_NUMERIQUE_INTE ); EDITION_D_UN_OPERATEUR_IMAGE(_cDENORMALISE_OY ,_____cNORMALISE_OY(Ymin) ,FORMAT_NUMERIQUE_FLOT ,FORMAT_NUMERIQUE_INTE ); EDITION_D_UN_OPERATEUR_IMAGE(_cDENORMALISE_OY ,_____cNORMALISE_OY(Ymax) ,FORMAT_NUMERIQUE_FLOT ,FORMAT_NUMERIQUE_INTE ); EDITION_D_UN_OPERATEUR_IMAGE(_cDENORMALISE_OZ ,_____cNORMALISE_OZ(Zmin) ,FORMAT_NUMERIQUE_FLOT ,FORMAT_NUMERIQUE_INTE ); EDITION_D_UN_OPERATEUR_IMAGE(_cDENORMALISE_OZ ,_____cNORMALISE_OZ(Zmax) ,FORMAT_NUMERIQUE_FLOT ,FORMAT_NUMERIQUE_INTE ); EDITION_D_UN_OPERATEUR_IMAGE(_lDENORMALISE_OX ,_____lNORMALISE_OX(ZERO) ,FORMAT_NUMERIQUE_FLOT ,FORMAT_NUMERIQUE_INTE ); EDITION_D_UN_OPERATEUR_IMAGE(_lDENORMALISE_OX ,_____lNORMALISE_OX(dimX) ,FORMAT_NUMERIQUE_FLOT ,FORMAT_NUMERIQUE_INTE ); EDITION_D_UN_OPERATEUR_IMAGE(_lDENORMALISE_OY ,_____lNORMALISE_OY(ZERO) ,FORMAT_NUMERIQUE_FLOT ,FORMAT_NUMERIQUE_INTE ); EDITION_D_UN_OPERATEUR_IMAGE(_lDENORMALISE_OY ,_____lNORMALISE_OY(dimY) ,FORMAT_NUMERIQUE_FLOT ,FORMAT_NUMERIQUE_INTE ); EDITION_D_UN_OPERATEUR_IMAGE(_lDENORMALISE_OZ ,_____lNORMALISE_OZ(ZERO) ,FORMAT_NUMERIQUE_FLOT ,FORMAT_NUMERIQUE_INTE ); EDITION_D_UN_OPERATEUR_IMAGE(_lDENORMALISE_OZ ,_____lNORMALISE_OZ(dimZ) ,FORMAT_NUMERIQUE_FLOT ,FORMAT_NUMERIQUE_INTE ); EDITION_D_UN_OPERATEUR_IMAGE(F___DENORMALISE_NIVEAU,FZERO,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_FLOT) EDITION_D_UN_OPERATEUR_IMAGE(F___DENORMALISE_NIVEAU,FU,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_FLOT) /* Editions introduites le 20190724144245... */ EDITION_D_UN_OPERATEUR_IMAGE(__DENORMALISE_NIVEAU_TEL_QUEL_______,FZERO,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE) EDITION_D_UN_OPERATEUR_IMAGE(__DENORMALISE_NIVEAU_TEL_QUEL_______,FU,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE) EDITION_D_UN_OPERATEUR_IMAGE(__DENORMALISE_NIVEAU_AVEC_TRONCATION,FZERO,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE) EDITION_D_UN_OPERATEUR_IMAGE(__DENORMALISE_NIVEAU_AVEC_TRONCATION,FU,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE) EDITION_D_UN_OPERATEUR_IMAGE(__DENORMALISE_NIVEAU_AVEC_MODULO____,FZERO,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE) EDITION_D_UN_OPERATEUR_IMAGE(__DENORMALISE_NIVEAU_AVEC_MODULO____,FU,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE) EDITION_D_UN_OPERATEUR_IMAGE(__DENORMALISE_NIVEAU,FZERO,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE) EDITION_D_UN_OPERATEUR_IMAGE(__DENORMALISE_NIVEAU,FU,FORMAT_NUMERIQUE_FLOT,FORMAT_NUMERIQUE_INTE) EDITION_D_UN_OPERATEUR_IMAGE(______NORMALISE_NIVEAU,NOIR,FORMAT_NUMERIQUE_INTE,FORMAT_NUMERIQUE_FLOT) EDITION_D_UN_OPERATEUR_IMAGE(______NORMALISE_NIVEAU,BLANC,FORMAT_NUMERIQUE_INTE,FORMAT_NUMERIQUE_FLOT) EDITION_DES_SUPER_cDENORMALISE_ET_cNORMALISE(SUPER_ECHELLE_RECTANGULAIRE); EDITION_DES_SUPER_cDENORMALISE_ET_cNORMALISE(SUPER_ECHELLE_GRAND_CARRE); EDITION_DES_SUPER_cDENORMALISE_ET_cNORMALISE(SUPER_ECHELLE_PETIT_CARRE); RETU_VIDE; /* Introduit le 20071130134552... */ Eblock #undef EDITION_DES_SUPER_cDENORMALISE_ET_cNORMALISE #undef EDITION_D_UN_OPERATEUR_IMAGE #undef gEDITION_D_UN_OPERATEUR_IMAGE #undef FORMAT_NUMERIQUE_FLOT #undef FORMAT_NUMERIQUE_INTE #undef FORMAT_NUMERIQUE EFonctionV _______________________________________________________________________________________________________________________________________