/*************************************************************************************************************************************/ /* */ /* P R O D U I T D E D E U X N O M B R E S C O M P L E X E S : */ /* */ /* */ /* Author of '$xcg/z_MUL2.01$K' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 20221202110311). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* 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 GENERER_LES_GET_ARGUMENTS_DE_CONTROLE_DE_L_ARITHMETIQUE_ETENDUE_DES_NOMBRES_FLOTTANTS /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* F I C H I E R S D ' I N C L U D E S : */ /* */ /*************************************************************************************************************************************/ #include INCLUDES_BASE /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* P A R A M E T R E S : */ /* */ /*************************************************************************************************************************************/ #define PARTIE_REELLE_____DE_NOMBRE_1 \ FU #define PARTIE_IMAGINAIRE_DE_NOMBRE_1 \ FZERO #define PARTIE_REELLE_____DE_NOMBRE_2 \ FU #define PARTIE_IMAGINAIRE_DE_NOMBRE_2 \ FZERO /* Nombres complexes dont on veut le produit... */ #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" /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* P R O D U I T D E D E U X N O M B R E S C O M P L E X E S : */ /* */ /*************************************************************************************************************************************/ BCommande(nombre_d_arguments,arguments) /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock DEFV(complexe,nombre_1); DEFV(complexe,nombre_2); /* Nombres complexes dont on veut le produit... */ #include xci/valeurs.03.I" /*..............................................................................................................................*/ Cinitialisation(nombre_1,PARTIE_REELLE_____DE_NOMBRE_1,PARTIE_IMAGINAIRE_DE_NOMBRE_1); Cinitialisation(nombre_2,PARTIE_REELLE_____DE_NOMBRE_2,PARTIE_IMAGINAIRE_DE_NOMBRE_2); GET_ARGUMENTS_(nombre_d_arguments ,BLOC(GET_ARGUMENT_F("partie_reelle_1=""r1=""x1=",Reelle(nombre_1)); GET_ARGUMENT_F("partie_imaginaire_1=""i1=""y1=",Imaginaire(nombre_1)); GET_ARGUMENT_F("partie_reelle_2=""r2=""x2=",Reelle(nombre_2)); GET_ARGUMENT_F("partie_imaginaire_2=""i2=""y2=",Imaginaire(nombre_2)); CONTROLE_DE_L_ARITHMETIQUE_FOLKLORIQUE_DES_NOMBRES_COMPLEXES; CONTROLE_DE_L_ARITHMETIQUE_ETENDUE_DES_NOMBRES_COMPLEXES; PROCESS_ARGUMENTS_DE_PARAMETRAGE_DE_LA_GENERATION_DE_SUITE_DE_VALEURS_1; PROCESS_ARGUMENTS_DE_PARAMETRAGE_DE_LA_GENERATION_DE_SUITE_DE_VALEURS_2; ) ); PRINT_DANS_C("produit",fFCproduit(nombre_1,nombre_2)); PRINT_DANS_C("produit",fFCproduit(nombre_2,nombre_1)); /* Edition du produit eventuellement generalise et/ou folklorique... */ /* */ /* Cela permet de verifier la commutativite de la multiplication des nombres */ /* complexes, par exemple avec : */ /* */ /* $xcg/z_MUL2.01$X r1=3 r2=7 \ */ /* i1=13 i2=17 \ */ /* */ /* qui donne : */ /* */ /* produit={-200,+142} */ /* produit={-200,+142} */ /* */ /* (voir 'v $xcg/z_MUL2.01$K', 'v $xcg/q_MUL2.01$K' et '$xcg/o_MUL2.01$K'). Ceci fut */ /* introduit le 20230323181100... */ RETU_Commande; Eblock ECommande