/*************************************************************************************************************************************/
/* */
/* 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")... */
Copyright © Jean-François Colonna, 2019-2021.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / Ecole Polytechnique, 2019-2021.