/*************************************************************************************************************************************/ /* */ /* M I S E A L ' E C H E L L E D ' U N N O M B R E F L O T T A N T : */ /* */ /* */ /* Author of '$xcg/scale$K' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 1989??????????). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* I N T E R F A C E ' listG ' : */ /* */ /* */ /* :Debut_listG: */ /* :Fin_listG: */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* D I R E C T I V E S S P E C I F I Q U E S D E C O M P I L A T I O N : */ /* */ /*************************************************************************************************************************************/ @define PRAGMA_CL_____PAS_DE_LIBRAIRIES_DYNAMIQUES /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* F I C H I E R S D ' I N C L U D E S : */ /* */ /*************************************************************************************************************************************/ #include INCLUDES_MINI /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* P A R A M E T R E S : */ /* */ /*************************************************************************************************************************************/ #define DIVISEUR \ FU #define MULTIPLICATEUR \ FU #include xcg/ARIT.01.I" #include xci/valeurs.01.I" /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* M A C R O S U T I L E S : */ /* */ /*************************************************************************************************************************************/ #include xci/valeurs.02.I" /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* M I S E A L ' E C H E L L E D ' U N N O M B R E F L O T T A N T : */ /* */ /*************************************************************************************************************************************/ BCommande(nombre_d_arguments,arguments) /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock DEFV(Float,INIT(nombre_flottant,PI)); /* Nombre flottant 'x' a mettre a l'echelle suivant la formule 'SCAL(x,a,n)'. ATTENTION, */ /* avant le 1996091600, l'initialisation ci-dessus utilisait 'CERCLE_TRIGONOMETRIQUE'. */ /* Afin de pouvoir initialiser la variable '$pi' dans '$Fvariables', c'est dorenavant */ /* 'PI' qui est utilise... */ DEFV(Float,INIT(diviseur,DIVISEUR)); /* Nombre 'a' devant diviser 'x', */ DEFV(Float,INIT(multiplicateur,MULTIPLICATEUR)); /* Nombre 'n' devant multiplier 'x'. */ #include xci/valeurs.03.I" DEFV(CHAR,INIC(POINTERc(nom_imageR),NOM_PIPE)); DEFV(CHAR,INIC(POINTERc(nom_imageA),NOM_PIPE)); /* Afin de faire la difference entre '$xcg/scale$K' et '$xci/scale$K (ce dispositif a ete */ /* introduit le 20020606141416). */ /*..............................................................................................................................*/ GET_ARGUMENTS_(nombre_d_arguments ,BLOC(GET_ARGUMENT_F("x=""nombre=",nombre_flottant); GET_ARGUMENT_F("diviseur=""d=""a=",diviseur); GET_ARGUMENT_F("n=""multiplicateur=""m=",multiplicateur); PROCESS_ARGUMENTS_DE_PARAMETRAGE_DE_LA_GENERATION_DE_SUITE_DE_VALEURS_1; PROCESS_ARGUMENTS_DE_PARAMETRAGE_DE_LA_GENERATION_DE_SUITE_DE_VALEURS_2; /* Ces deux procedures furent introduites le 20061226184754... */ GET_ARGUMENT_C("imageA=""A=",nom_imageA); GET_ARGUMENT_C("imageR=""R=",nom_imageR); /* Introduit le 20020606141416, bien que inutile, pour le test suivant... */ ) ); Test(IFOU(IFNE_chaine(nom_imageA,NOM_PIPE),IFNE_chaine(nom_imageR,NOM_PIPE))) Bblock PRINT_ATTENTION("possible confusion entre '$xcg/scale$X' et '$xci/scale$X' a cause de la variable '$PATH'"); /* En effet, utiliser 'scale$X' alors que l'on n'est pas dans '$xci' provoque l'appel */ /* de '$xcg/scale$X' a cause de l'utilisation qui est faite alors de la variable '$PATH', */ /* dans laquelle '$xcg' apparait avant '$xci'... */ Eblock ATes Bblock Test(IZNE(diviseur)) Bblock EDITION_DE_LA_VALEUR_DE_L_OPERATEUR(SCAL(nombre_flottant,diviseur,multiplicateur)); /* Calcul de : */ /* n */ /* SCAL(x,a,n) = x . --- */ /* a */ /* */ /* ou de : */ /* n */ /* SCAL(x,a,n) = E[x . ---] */ /* a */ /* */ /* ou 'E[]' designe la partie entiere d'un nombre flottant. */ Eblock ATes Bblock PRINT_ERREUR("le diviseur est nul"); Eblock ETes Eblock ETes RETU_Commande; Eblock ECommande