/*************************************************************************************************************************************/ /* */ /* L O G A R I T H M E N E P E R I E N D ' U N N O M B R E : */ /* */ /* */ /* Author of '$xcg/LOGX.01$K' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 19990204102006). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* 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 BASE_DU_LOGARITHME \ EN \ /* A priori le logarithme sera neperien (la possibilite de changer de base a ete */ \ /* introduite le 20011025125157 afin de calculer des logarithmes base 2...). */ #define NOMBRE_0 \ FU \ /* Nombre dont on veut le logarithme neperien. */ #define FACTEUR \ FU #define TRANSLATEUR \ FZERO /* Introduit le 20150629110020 afin de pouvoir eviter facilement 'log(0)'... */ #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" #define NOMBRE_EFFECTIF \ AXPB(facteur,nombre,translateur) \ /* Nombre effectif dont on veut le logarithme neperien (introduit le 20171030112909...). */ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* L O G A R I T H M E N E P E R I E N D ' U N N O M B R E : */ /* */ /*************************************************************************************************************************************/ BCommande(nombre_d_arguments,arguments) /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock DEFV(Float,INIT(base_du_logarithme,BASE_DU_LOGARITHME)); /* A priori le logarithme sera neperien (la possibilite de changer de base a ete */ /* introduite le 20011025125157 afin de calculer des logarithmes base 2...). */ DEFV(Float,INIT(nombre,NOMBRE_0)); /* Nombre dont on veut le logarithme neperien. */ DEFV(Float,INIT(facteur,FACTEUR)); DEFV(Float,INIT(translateur,TRANSLATEUR)); /* Introduit le 20150629110020 afin de pouvoir eviter facilement 'log(0)'... */ #include xci/valeurs.03.I" /*..............................................................................................................................*/ GET_ARGUMENTS_(nombre_d_arguments ,BLOC(GET_ARGUMENT_F("x=""nombre=""n=""a=",nombre); GET_ARGUMENT_F("base=""b=",base_du_logarithme); GET_ARGUMENT_F("facteur=""f=",facteur); GET_ARGUMENT_F("translateur=""t=",translateur); 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 20061226182515... */ ) ); Test(IZGT(NOMBRE_EFFECTIF)) Bblock EDITION_DE_LA_VALEUR_DE_L_OPERATEUR(LObX(NOMBRE_EFFECTIF,base_du_logarithme)); /* Edition du logarithme neperien du nombre. ATTENTION, jusqu'au 20011025125157, c'etait */ /* 'LOGX(nombre)' qui etait utilise explicitement ici... */ Eblock ATes Bblock PRINT_ERREUR("le logarithme neperien d'un nombre negatif ou nul est demande"); Eblock ETes RETU_Commande; Eblock ECommande