/*************************************************************************************************************************************/ /* */ /* G E N E R A T I O N D E S U I T E S D E V A L E U R S : */ /* */ /* */ /* Author of '$xci/valeurs.03$I' : */ /* */ /* Jean-Francois Colonna (LACTAMME, 1995??????????). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* D O N N E E S U T I L E S : */ /* */ /*************************************************************************************************************************************/ DEFV(CHAR,INIC(POINTERc(valeurs_signees),VALEURS_SIGNEES)); /* Definition de la presence d'un signe ("+") pour les valeurs editees ou son absence (""). */ /* Ceci a ete introduit le 19970507085431, en particulier a cause de 'v $Falias_interro', */ /* lorsque des valeurs de ce type sont donnees a des variables du 'C-Shell' ('set' ou */ /* 'setenv') qui sont ensuite testees par 'if(...)' ; la presence d'un signe (meme "+") */ /* provoque le message : */ /* */ /* if - Expression syntax */ /* */ /* un peu bizarre quand meme... */ DEFV(CHAR,INIC(POINTERc(format_d_edition),FORMAT_D_EDITION)); /* Definition du format d'edition "%f" ou "%g", sachant que "%g" ne cache rien, mais qu'en */ /* contre-partie, il est impossible de maitriser facilement le nombre de decimales... */ /* ATTENTION, on prend "%g" comme valeur implicite, et non pas "%f", pour des raisons de */ /* de compatibilite avec les utilisation anterieures... */ DEFV(Logical,INIT(ajouter_un_K_LF_en_fin_de_format_d_edition,AJOUTER_UN_K_LF_EN_FIN_DE_FORMAT_D_EDITION)); /* Cet indicateur indique si un 'K_LF' doit etre insere a la fin de 'format_d_edition' */ /* ("VRAI") ou pas ("FAUX") et a ete introduit le 20040323141736... */ #define nombre_de_decimales \ nombre_de_chiffres_des_editions_flottantes \ /* Le 20121116174103 je note un effet de bord de cette definition. En effet, l'alias 'use' */ \ /* force cette valeur ('v $Falias_use ChiffresFlot=16') et ainsi, on ne peut pas voir avec */ \ /* use la "vraie" valeur par defaut de 'nombre_de_decimales'... */ DEFV(Positive,INIT(version_anterieure_au_20060110_et_inutile_____nombre_de_decimales ,INIT(nombre_de_decimales,NOMBRE_DE_DECIMALES) ) ); /* Definition du nombre de chiffres a editer (nom compris le point decimal...). ATTENTION, */ /* ce n'est pas le nombre de decimales, mais le nombre total de chiffres, y compris donc la */ /* partie entiere lors de l'utilisation du format "%g"... */ /* */ /* ATTENTION : jusqu'au 20060110091351, on trouvait ici : */ /* */ /* DEFV(Int,INIT(nombre_de_decimales,NOMBRE_DE_DECIMALES)); */ /* */ /* mais en fait, il y avait donc deux variables 'v $xci/valeurs.03$I nombre_de_decimales' */ /* et 'v $xig/fonct$vv$FON nombre_de_chiffres_des_editions_flottantes' dont le role etait */ /* similaire ; le role de cette modification est donc de supprimer cette redondance... */ /* On notera que l'on ne peut supprimer la definition de la variable 'nombre_de_decimales' */ /* (appelee 'version_anterieure_au_20060110_et_inutile_____nombre_de_decimales' dorenavant) */ /* car elle sert a modifier la valeur de 'nombre_de_chiffres_des_editions_flottantes' par */ /* defaut avec la valeur courante de 'NOMBRE_DE_DECIMALES'... */ #ifdef DES_NOMBRES_ENTIERS /* Ceci a ete ajoute le 20081120143333 pour 'v $xci/valeurs_SurR$K 20081120142701'... */ DEFV(Logical,INIT(des_nombres_entiers,DES_NOMBRES_ENTIERS)); /* Cet indicateur indique si les nombres flottants peuvent etre edites avec leurs decimales */ /* ("FAUX") ou doivent etre tronques en entier ("VRAI")... */ DEFV(Float,INIT(epsilon_de_conversion_entier,EPSILON_DE_CONVERSION_ENTIER)); /* Si 'IL_FAUT(des_nombres_entiers)', cet epsilon est ajoute au nombre courant 'x' avant de */ /* faire 'AINT(x)' pour eviter des problemes de troncation. Cela s'est vu le 19991116092847 */ /* en faisant le test de la sequence : */ /* */ /* xivPdf 9 2 / 024223_024734 */ /* */ /* pour comprendre l'anomalie de la sequence : */ /* */ /* xivPdf 9 2 / 023711_024222 */ /* */ /* qui finalement venait du fichier '$xTG/FAMILLE' qui contenait initialement, apres sa */ /* generation par '$xci/valeurs_inte$X' via l'alias 'Gen' des nombres entiers qui n'etaient */ /* pas tous differents (par exemple {7,7} a la place de {7,8}). */ #Aifdef DES_NOMBRES_ENTIERS #Eifdef DES_NOMBRES_ENTIERS DEFV(Logical,INIT(etre_multiple_de,ETRE_MULTIPLE_DE)); /* Cet indicateur indique si les nombres flottants doivent etre multiples d'une certaine */ /* quantite ("VRAI") ou non ("FAUX")... */ DEFV(Float,INIT(unite_de_multiplicite,UNITE_DE_MULTIPLICITE)); /* Donne dans le cas ou les nombres flottants doivent etre multiples d'une certaine quantite */ /* l'unite dont ils doivent etre multiples... */ DEFV(Logical,INIT(etre_modulo,ETRE_MODULO)); DEFV(Float,INIT(origine_modulo,ORIGINE_MODULO)); DEFV(Float,INIT(extremite_modulo,EXTREMITE_MODULO)); /* Cet indicateur indique si les nombres flottants doivent etre modulo dans un certain */ /* intervalle [origine,extremite] ("VRAI") ou non ("FAUX")... */