/*************************************************************************************************************************************/
/* */
/* P R E M I E R E P A R T I E D E S D E F I N I T I O N S D U L A N G A G E ' K ' */
/* I N D E P E N D A N T E S D U L A N G A G E S O U R C E ( ' C ' ) : */
/* */
/* */
/* Definition : */
/* */
/* Dans ce fichier, se trouvent toutes les */
/* definitions relatives a la precision et */
/* qui sont independantes du langage source */
/* (le 'C'). */
/* */
/* */
/* Author of '$xil/defi_K1$vv$DEF' : */
/* */
/* Jean-Francois Colonna (LACTAMME, 19920000000000). */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* O P E R A T I O N S F O N D A M E N T A L E S D E S E L E C T I O N : */
/* */
/*************************************************************************************************************************************/
#define gSE11(x1) \
x1
#define SE11(x1) \
PARE(gSE11(x1))
/* En fait operations neutres... */
/* Le 20050822173929, a cause de l'usage 'v $xrs/Mobius2D.11$I NEUD', la definition */
/* anterieure de 'NEUT(...)' a ete deplacee vers '$xil/defi_c3$vv$DEF'... */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N S F O N D A M E N T A L E S : */
/* */
/*************************************************************************************************************************************/
#define ZERO \
0 \
/* Zero... */
#define k___BIT \
1 \
/* Bit... */ \
/* */ \
/* ATTENTION, on ne peut pas ecrire : */ \
/* */ \
/* #define k___BIT \ */ \
/* PARE(0x00000001) */ \
/* */ \
/* a cause des utilisations qui sont faites de 'BIT' dans des tests du pre-processeur, */ \
/* via d'autres symboles... */ \
/* */ \
/* ATTENTION : la constante 'BIT' est pre-generee dans '$xcp/Konstantes$K'. */ \
/* */ \
/* Jusqu'au 20071204085830, il y avait ici : */ \
/* */ \
/* #define k___BIT \ */ \
/* 0x00000001 */ \
/* */ \
/* mais d'une part cela fait une hypothese implicite (MACHINE 32 bits...) et d'autre part */ \
/* cela fait des constantes {'UN','I',...} tres incombrantes. J'y renonce donc a cette date. */
#TestADef BIT \
k___BIT
#define UN \
BIT \
/* ATTENTION : on ne peut malheureusement definir 'UN' */ \
/* par SUCC(ZERO), car en effet la definition de la fonction */ \
/* 'SUCC' fait intervenir la constante 'I' qui vaut 'UN', d'ou une */ \
/* magnifique definition circulaire ; on le definit donc par la */ \
/* plus petite quantite d'information... */
#define I \
BIT \
/* Pour incrementer d'une unite. On notera la definition via 'BIT', et non via 'UN', a */ \
/* cause des tests du pre-processeur '#if...' qui utilisent des variables definies par '+I'. */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N D E L A ' S I M P L E - P R E C I S I O N ' */
/* E T D E L A ' D O U B L E - P R E C I S I O N ' : */
/* */
/*************************************************************************************************************************************/
#define SIMPLE_PRECISION \
(ZERO+I) \
/* Definition du mode de fonctionnement 'float' en simple precision (on utilise '+I' et */ \
/* non pas 'ADD2' a cause de l'utilisation qui en est faite dans des '#if'). On notera */ \
/* que cette definition est aussi utilisee lors de la definition du type 'Int'. */
#define DOUBLE_PRECISION \
(SIMPLE_PRECISION+I) \
/* Definition du mode de fonctionnement 'float' en double precision (on utilise '+I' et */ \
/* non pas 'ADD2' a cause de l'utilisation qui en est faite dans des '#if'). On notera */ \
/* que cette definition est aussi utilisee lors de la definition du type 'Int'. */
/* ATTENTION, avant le 1995032700, on definissait 'PRECISION_DU_Int' dans le fichier */
/* '$xil/defi_c1$vv$DEF'. Or malheureusement dans '$xcc/cpp$Z', lors de la '$PASSE_1' des */
/* fichiers demandant la derivation formelle d'ordre N (voir par exemple '$xtKg'), on */
/* fait : */
/* */
/* set choix_cK="$choix_cK ""-Dinclure_DEFINIT_K_DEF" */
/* */
/* ce qui provoque la non prise en compte des fichiers 'inclure_DEFINIT_c_DEF'. Or de plus */
/* dans '$xil/defi_K2$vv$DEF', il y a des instructions '$PASSE_1' conditionnelles qui */
/* utilisent 'PRECISION_DU_Int'. Donc si 'PRECISION_DU_Int' est defini dans un fichier */
/* de type 'inclure_DEFINIT_c_DEF', on aura le message : */
/* */
/* ...: undef symbol PRECISION_DU_Int in preprocessor if */
/* */
/* d'ou le transfert de la definition de 'PRECISION_DU_Int' dans '$xil/defi_K1$vv$DEF'... */
#if ( (! defined(SYSTEME_CRAY2_UNICOS)) \
&& (! defined(SYSTEME_CRAYC98_UNICOS)) \
&& (! defined(SYSTEME_CRAYC916_UNICOS)) \
&& (! defined(SYSTEME_CRAYYMP1_UNICOS)) \
&& (! defined(SYSTEME_CRAYYMP2_UNICOS)) \
&& (! defined(SYSTEME_CRAYYMP4_UNICOS)) \
)
# if (SYSTEME_32_64_BITS==SYSTEME_32_BITS)
# define PRECISION_DU_Int \
SIMPLE_PRECISION \
/* Definition du type entier sur les machines normales... */ \
/* */ \
/* On notera que jusqu'au 1995072400, date de la reinstallation du systeme sur '$LACT28', */ \
/* 'SYSTEME_SGIND?08_IRIX_CC', 'SYSTEME_SGIND?24_IRIX_CC' et 'SYSTEME_SGIND?GA_IRIX_CC' */ \
/* etaient definis ici en 'DOUBLE_PRECISION' en ce qui concerne 'PRECISION_DU_Int'. Ceci */ \
/* etait destine a definir automatiquement 'imageU' comme un tableau "entier non signe long" */ \
/* afin d'assurer la compatbilite de 'IGdisplay(...)' avec la fonction 'lrectwrite(...)' */ \
/* dans '$xiidG/fonction$FON'. Malheureusement, cela creait des fichiers "bootstrappables" */ \
/* (tels '$xbg/fonction$c') incompatibles avec la nouvelle version de '$LACT28'. Un nouveau */ \
/* type ('LPositive') a donc ete introduit pour compenser le retour de la definition de */ \
/* 'PRECISION_DU_Int' avec 'SIMPLE_PRECISION' pour ces SYSTEMEs... */ \
/* */ \
/* ATTENTION, il convient de modifier correlativement la definition de 'INTE(...)' qui est */ \
/* faite dans '$xil/defi_K2$vv$DEF'. */
# Aif (SYSTEME_32_64_BITS==SYSTEME_32_BITS)
# if (SYSTEME_32_64_BITS==SYSTEME_64_BITS)
# define PRECISION_DU_Int \
DOUBLE_PRECISION \
/* Introduit le 20100317125446 (un peu tardivement, suite a 'v $Fmachines 20091215105448'). */ \
/* */ \
/* Cela n'a pas ete aussi simple qu'il y parait. En effet, il a fallu introduire un nouveau */ \
/* type de fonction 'FonctionIB' (soit 'vrai_Int_de_base') pour 'print_defaut(...)' et pour */ \
/* 'BCommande(...)' par exemple. Puis sur '$CMAP28' (pour laquelle est faite cette extension */ \
/* afin de pouvoir faire de grosses allocations memoire (plus de 2Go pour les fractales */ \
/* utilisant la "fausse multiplication" ('v $ximcd/operator$FON 20091119084209')), */ \
/* il fallu compiler en premier tout '$xb', PUIS '$xcp/Konstantes$K' (et non pas avant */ \
/* comme c'est le cas habituellement) puisqu'en fait toutes les fonctions entieres de */ \
/* '$xbg' (par exemple 'FconversionL(...)') changeaient de type en passant de 'FonctionI' */ \
/* a 'FonctionIB'... */ \
/* */ \
/* Une difficulte est venue du fait que la constante 'NBITMO' est pre-generee dans la */ \
/* commande 'v $xcp/Konstantes$K NBITMO' or cette commande ne pouvait etre compilee */ \
/* qu'apres que '$xb' ait ete compilee (a cause de '$xbg/fonction$K' principalement) */ \
/* d'ou un probleme avec '$xiii/conversion$FON' qui reference 'NBITMO' via la constante */ \
/* 'BLANC_int'. Alors '$xbii/conversion$K' ne pouvait etre correct qu'apres recompilation */ \
/* de '$xcp/Konstantes$K'... */ \
/* */ \
/* Le 20100317171325, je reviens provisoirement a 'SIMPLE_PRECISION' a cause de problemes */ \
/* avec les operations sur bits (et les decalages), la generation des masques et des */ \
/* infinis. */ \
/* */ \
/* Le 20100318094738, je fais de nouvelles experiences avec 'DOUBLE_PRECISION' en notant */ \
/* qu'il est essentiel de detruire la variable 'v $Foptions PRE_GENERATION' ce qui permet */ \
/* a 'v $xcc/cpp$Z PRE_GENERATION' de ne pas utiliser les services de 'v $xcp/Konstantes$K' */ \
/* (cela se fait dans le fichier '$Doptimiseurs/.optimise1$Y'...) et ainsi de pouvoir */ \
/* compiler '$xbg/fonction$K' avec les definitions 64 bits. En consequence de quoi on */ \
/* fera dans l'ordre : */ \
/* */ \
/* unset PRE_GENERATION ($Doptimiseurs/.optimise1$Y) */ \
/* */ \
/* $xb/GENERE$Z $NEXIST */ \
/* */ \
/* xcp */ \
/* CL Konstantes */ \
/* */ \
/* et ensuite, il convient de revenir a une situation normale, par exemple avec 'OPTIMISE' */ \
/* pour repositionner 'PRE_GENERATION' et faire donc : */ \
/* */ \
/* OPTIMISE */ \
/* */ \
/* $xb/GENERE$Z $NEXIST */ \
/* */ \
/* et tout devrait etre bon... */
# Aif (SYSTEME_32_64_BITS==SYSTEME_64_BITS)
# message "ATTENTION : la precision des entiers (32/64 bits) n'a pas ete definie."
# Eif (SYSTEME_32_64_BITS==SYSTEME_64_BITS)
# Eif (SYSTEME_32_64_BITS==SYSTEME_32_BITS)
#Aif ( (! defined(SYSTEME_CRAY2_UNICOS)) \
&& (! defined(SYSTEME_CRAYC98_UNICOS)) \
&& (! defined(SYSTEME_CRAYC916_UNICOS)) \
&& (! defined(SYSTEME_CRAYYMP1_UNICOS)) \
&& (! defined(SYSTEME_CRAYYMP2_UNICOS)) \
&& (! defined(SYSTEME_CRAYYMP4_UNICOS)) \
)
# define PRECISION_DU_Int \
DOUBLE_PRECISION \
/* Version CRAY2/UNICOS, */ \
/* version CRAYC98/UNICOS, */ \
/* version CRAYC916/UNICOS, */ \
/* version CRAYYMP1/UNICOS, */ \
/* version CRAYYMP2/UNICOS, */ \
/* version CRAYYMP4/UNICOS. */ \
/* */ \
/* On notera que jusqu'au 1995072400, date de la reinstallation du systeme sur '$LACT28', */ \
/* 'SYSTEME_SGIND?08_IRIX_CC', 'SYSTEME_SGIND?24_IRIX_CC' et 'SYSTEME_SGIND?GA_IRIX_CC' */ \
/* etaient definis ici en 'DOUBLE_PRECISION' en ce qui concerne 'PRECISION_DU_Int'. Ceci */ \
/* etait destine a definir automatiquement 'imageU' comme un tableau "entier non signe long" */ \
/* afin d'assurer la compatbilite de 'IGdisplay(...)' avec la fonction 'lrectwrite(...)' */ \
/* dans '$xiidG/fonction$FON'. Malheureusement, cela creait des fichiers "bootstrappables" */ \
/* (tels '$xbg/fonction$c') incompatibles avec la nouvelle version de '$LACT28'. Un nouveau */ \
/* type ('LPositive') a donc ete introduit pour compenser le retour de la definition de */ \
/* 'PRECISION_DU_Int' avec 'SIMPLE_PRECISION' pour ces SYSTEMEs... */ \
/* */ \
/* ATTENTION, il convient de modifier correlativement la definition de 'INTE(...)' qui est */ \
/* faite dans '$xil/defi_K2$vv$DEF'. */
#Eif ( (! defined(SYSTEME_CRAY2_UNICOS)) \
&& (! defined(SYSTEME_CRAYC98_UNICOS)) \
&& (! defined(SYSTEME_CRAYC916_UNICOS)) \
&& (! defined(SYSTEME_CRAYYMP1_UNICOS)) \
&& (! defined(SYSTEME_CRAYYMP2_UNICOS)) \
&& (! defined(SYSTEME_CRAYYMP4_UNICOS)) \
)
#if ( (defined(SYSTEME_CRAY2_UNICOS)) \
|| (defined(SYSTEME_CRAYC98_UNICOS)) \
|| (defined(SYSTEME_CRAYC916_UNICOS)) \
|| (defined(SYSTEME_CRAYYMP1_UNICOS)) \
|| (defined(SYSTEME_CRAYYMP2_UNICOS)) \
|| (defined(SYSTEME_CRAYYMP4_UNICOS)) \
)
# define PRECISION_DU_Float \
SIMPLE_PRECISION \
/* Version CRAY2/UNICOS, */ \
/* version CRAYC98/UNICOS, */ \
/* version CRAYC916/UNICOS, */ \
/* version CRAYYMP1/UNICOS, */ \
/* version CRAYYMP2/UNICOS, */ \
/* version CRAYYMP4/UNICOS. */
#Aif ( (defined(SYSTEME_CRAY2_UNICOS)) \
|| (defined(SYSTEME_CRAYC98_UNICOS)) \
|| (defined(SYSTEME_CRAYC916_UNICOS)) \
|| (defined(SYSTEME_CRAYYMP1_UNICOS)) \
|| (defined(SYSTEME_CRAYYMP2_UNICOS)) \
|| (defined(SYSTEME_CRAYYMP4_UNICOS)) \
)
# define PRECISION_DU_Float \
DOUBLE_PRECISION \
/* Valeur par defaut... */
#Eif ( (defined(SYSTEME_CRAY2_UNICOS)) \
|| (defined(SYSTEME_CRAYC98_UNICOS)) \
|| (defined(SYSTEME_CRAYC916_UNICOS)) \
|| (defined(SYSTEME_CRAYYMP1_UNICOS)) \
|| (defined(SYSTEME_CRAYYMP2_UNICOS)) \
|| (defined(SYSTEME_CRAYYMP4_UNICOS)) \
)
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* N U M E R O D E L A V E R S I O N D E ' D E F V ' E T D E ' C A S T ' : */
/* */
/*************************************************************************************************************************************/
/* ATTENTION : les 'VERSION_01' et 'VERSION_02' n'ont plus d'interet, mais les definitions */
/* qui suivent sont conservees uniquement pour des raisons de compatibilite... */
#nodefine DEFV_CAST_VERSION_01 \
/* ATTENTION : la 'VERSION_01' ne permet pas d'utiliser 'DEFV' et 'CAST' en tant que */ \
/* fonction avec des arguments, c'est-a-dire : DEFV et CAST... */
#nodefine DEFV_CAST_VERSION_02 \
/* La 'VERSION_02' quant a elle, permet de les utiliser comme des fonctions, c'est-a-dire */ \
/* sous la forme DEFV(...) et CAST(...). */
#define DEFV_CAST_VERSION_03 \
/* La 'VERSION_03' quant a elle, permet de les utiliser comme des fonctions, c'est-a-dire */ \
/* sous la forme DEFV(...) et CAST(...), et plus generales que la 'VERSION_02'... */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* " P S E U D O - C O N C A T E N A T I O N " D E " S O U S - T Y P E S " : */
/* */
/*************************************************************************************************************************************/
#ifdef DEFV_CAST_VERSION_01
# message "La version 'DEFV_CAST_VERSION_01' n'est plus disponible."
#Aifdef DEFV_CAST_VERSION_01
#Eifdef DEFV_CAST_VERSION_01
#ifdef DEFV_CAST_VERSION_02
# message "La version 'DEFV_CAST_VERSION_02' n'est plus disponible."
#Aifdef DEFV_CAST_VERSION_02
#Eifdef DEFV_CAST_VERSION_02
#ifdef DEFV_CAST_VERSION_03
# define CONC(type1,type2) \
type1(type2 \
/* Permet de concatener par exemple deux "sous-types" (par exemple 'int' et 'short')... */
#Aifdef DEFV_CAST_VERSION_03
#Eifdef DEFV_CAST_VERSION_03
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N D ' U N E V A R I A B L E D E T Y P E Q U E L C O N Q U E : */
/* */
/*************************************************************************************************************************************/
#ifdef DEFV_CAST_VERSION_01
# message "La version 'DEFV_CAST_VERSION_01' n'est plus disponible."
#Aifdef DEFV_CAST_VERSION_01
#Eifdef DEFV_CAST_VERSION_01
#ifdef DEFV_CAST_VERSION_02
# message "La version 'DEFV_CAST_VERSION_02' n'est plus disponible."
#Aifdef DEFV_CAST_VERSION_02
#Eifdef DEFV_CAST_VERSION_02
#ifdef DEFV_CAST_VERSION_03
# define DEFV(type,variable) \
type(variable) \
/* Permet de definir une variable, avec son initialisation (par 'INIT') si celle-ci */ \
/* est fournie en argument... */
#Aifdef DEFV_CAST_VERSION_03
#Eifdef DEFV_CAST_VERSION_03
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N D U M O D E D E G E S T I O N D E S F O R M A T S D ' I M A G E S : */
/* */
/* */
/* ATTENTION : */
/* */
/* Lors du passage de la 'VERSION_01' a */
/* a la 'VERSION_02' on fera tres attention */
/* au programme '$xcp/Konstantes$K' d'optimisation */
/* des constantes "complexes" : en effet, il faut */
/* avant toute autre compilation, le recompiler */
/* lui-meme sous 'VERSION_02' afin qu'il ne definisse */
/* pas ces memes constantes (telle 'dimX',...). */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* "debut_pour_cpp_z" (debut du choix par '$xcc/cpp$Z' de 'GESTION_DU_FORMAT_DES_IMAGES_VERSION_0X') */
/* */
/*************************************************************************************************************************************/
#nodefine GESTION_DU_FORMAT_DES_IMAGES_VERSION_01 \
/* Cette facon de gerer le format des images est statique : les dimensions 'dimX', 'dimY' */ \
/* et 'dimZ' sont fixees a la compilation... */
#if ( (defined(LACT28)) \
)
/* ATTENTION, le 19970227180746, '$LACT29' a ete supprimee de cette liste ; en effet, la */
/* gestion 'GESTION_DU_FORMAT_DES_IMAGES_VERSION_03' demande beaucoup plus de memoire et */
/* limite la taille maximale des images. Or les gains en temps qu'elle apporte sont faibles */
/* ('v $xt/$Fnota'), d'ou son retour en 'GESTION_DU_FORMAT_DES_IMAGES_VERSION_02'... */
/* */
/* On notera que '$LACT28' reste en mode 'GESTION_DU_FORMAT_DES_IMAGES_VERSION_03' afin */
/* de pouvoir tester ce mode... */
# nodefine GESTION_DU_FORMAT_DES_IMAGES_VERSION_02 \
/* Cette facon de gerer le format des images est dynamique : les dimensions 'dimX', 'dimY' */ \
/* et 'dimZ' peuvent etre modifiees a l'execution, l'allocation memoire etant dynamique. */
# define GESTION_DU_FORMAT_DES_IMAGES_VERSION_03 \
/* Cette facon de gerer le format des images est dynamique : les dimensions 'dimX', 'dimY' */ \
/* et 'dimZ' peuvent etre modifiees a l'execution, l'allocation memoire etant statique. */ \
/* Cette methode a ete introduite le 19970218090000, suite a des tests effectues sur */ \
/* '$LACT29' ('v $Dbugs/SGO200A1$D/IRIX$D/CC$D/performan.02$c' ou l'on voit que l'acces a un */ \
/* tableau 'T' est 10 fois plus rapide s'il est accede par : */ \
/* */ \
/* T[index] */ \
/* */ \
/* que par : */ \
/* */ \
/* (*T)+index */ \
/* */
#Aif ( (defined(LACT28)) \
)
# define GESTION_DU_FORMAT_DES_IMAGES_VERSION_02 \
/* Cette facon de gerer le format des images est dynamique : les dimensions 'dimX', 'dimY' */ \
/* et 'dimZ' peuvent etre modifiees a l'execution, l'allocation memoire etant dynamique. */
# nodefine GESTION_DU_FORMAT_DES_IMAGES_VERSION_03 \
/* Cette facon de gerer le format des images est dynamique : les dimensions 'dimX', 'dimY' */ \
/* et 'dimZ' peuvent etre modifiees a l'execution, l'allocation memoire etant statique. */ \
/* Cette methode a ete introduite le 19970218090000, suite a des tests effectues sur */ \
/* '$LACT29' ('v $Dbugs/SGO200A1$D/IRIX$D/CC$D/performan.02$c' ou l'on voit que l'acces a un */ \
/* tableau 'T' est 10 fois plus rapide s'il est accede par : */ \
/* */ \
/* T[index] */ \
/* */ \
/* que par : */ \
/* */ \
/* (*T)+index */ \
/* */
#Eif ( (defined(LACT28)) \
)
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* "fin_pour_cpp_z" (fin du choix par '$xcc/cpp$Z' de 'GESTION_DU_FORMAT_DES_IMAGES_VERSION_0X') */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N D E L ' E X I S T E N C E D ' I M A G E S " S T A T I Q U E S " : */
/* */
/*************************************************************************************************************************************/
#if ( (defined(GESTION_DU_FORMAT_DES_IMAGES_VERSION_01)) \
)
#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)) \
)
/* On notera que ces definitions sont faites ici et non pas dans '$xiii/Images$DEF' a cause */
/* de '$xig/fonct$vv$DEF'... */
# nodefine GESTION_DES_IMAGES_STATIQUES_VERSION_01 \
/* Cette version admet l'existence d'images statiques dont la taille est bloquee au maximum */ \
/* possible, soit 'K___dimX', 'K___dimY' et 'K___dimZ'. */
# define GESTION_DES_IMAGES_STATIQUES_VERSION_02 \
/* Cette version n'admet plus l'existence d'images statiques ; elle les transforme en images */ \
/* dynamiques apres ques les dimensions reelles aient ete definies. Cela est fait dans la */ \
/* procedure 'GET_ARGUMENTSi(...)', ce qui implique donc maintenant son emploi generalise */ \
/* dans tous les programmes calculant des images... */
/* On notera que ces definitions sont faites ici et non pas dans '$xiii/Images$DEF' a cause */
/* de '$xig/fonct$vv$DEF'... */
#Aif ( (defined(GESTION_DU_FORMAT_DES_IMAGES_VERSION_02)) \
)
#Eif ( (defined(GESTION_DU_FORMAT_DES_IMAGES_VERSION_02)) \
)
#if ( (defined(GESTION_DU_FORMAT_DES_IMAGES_VERSION_03)) \
)
# define GESTION_DES_IMAGES_STATIQUES_VERSION_01 \
/* Cette version admet l'existence d'images statiques dont la taille est bloquee au maximum */ \
/* possible, soit 'K___dimX', 'K___dimY' et 'K___dimZ'. */
#Aif ( (defined(GESTION_DU_FORMAT_DES_IMAGES_VERSION_03)) \
)
#Eif ( (defined(GESTION_DU_FORMAT_DES_IMAGES_VERSION_03)) \
)