/*************************************************************************************************************************************/
/* */
/* P R O D U I T D E D E U X N O M B R E S H Y P E R - C O M P L E X E S : */
/* */
/* */
/* Author of '$xcg/q_MUL2.01$K' : */
/* */
/* Jean-Francois COLONNA (LACTAMME, 20221202114140). */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* 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_JMAGINAIRE_DE_NOMBRE_1 \
FZERO
#define PARTIE_KMAGINAIRE_DE_NOMBRE_1 \
FZERO
#define PARTIE_REELLE_____DE_NOMBRE_2 \
FU
#define PARTIE_IMAGINAIRE_DE_NOMBRE_2 \
FZERO
#define PARTIE_JMAGINAIRE_DE_NOMBRE_2 \
FZERO
#define PARTIE_KMAGINAIRE_DE_NOMBRE_2 \
FZERO
/* Nombres hyper-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 H Y P E R - C O M P L E X E S : */
/* */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
DEFV(hyper_complexe,nombre_1);
DEFV(hyper_complexe,nombre_2);
/* Nombres hyper-complexes dont on veut le produit... */
#include xci/valeurs.03.I"
/*..............................................................................................................................*/
HCinitialisation(nombre_1
,PARTIE_REELLE_____DE_NOMBRE_1
,PARTIE_IMAGINAIRE_DE_NOMBRE_1
,PARTIE_JMAGINAIRE_DE_NOMBRE_1
,PARTIE_KMAGINAIRE_DE_NOMBRE_1
);
HCinitialisation(nombre_2
,PARTIE_REELLE_____DE_NOMBRE_2
,PARTIE_IMAGINAIRE_DE_NOMBRE_2
,PARTIE_JMAGINAIRE_DE_NOMBRE_2
,PARTIE_KMAGINAIRE_DE_NOMBRE_2
);
GET_ARGUMENTS_(nombre_d_arguments
,BLOC(GET_ARGUMENT_F("partie_reelle_1=""r1=""x1=",HReelle(nombre_1));
GET_ARGUMENT_F("partie_imaginaire_1=""i1=""y1=",HImaginaire(nombre_1));
GET_ARGUMENT_F("partie_jmaginaire_1=""j1=""z1=",HJmaginaire(nombre_1));
GET_ARGUMENT_F("partie_kmaginaire_1=""k1=""t1=",HKmaginaire(nombre_1));
GET_ARGUMENT_F("partie_reelle_2=""r2=""x2=",HReelle(nombre_2));
GET_ARGUMENT_F("partie_imaginaire_2=""i2=""y2=",HImaginaire(nombre_2));
GET_ARGUMENT_F("partie_jmaginaire_2=""j2=""z2=",HJmaginaire(nombre_2));
GET_ARGUMENT_F("partie_kmaginaire_2=""k2=""t2=",HKmaginaire(nombre_2));
CONTROLE_DE_L_ARITHMETIQUE_FOLKLORIQUE_DES_NOMBRES_COMPLEXES;
CONTROLE_DE_L_ARITHMETIQUE_ETENDUE_DES_NOMBRES_HYPER_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_HC("produit",fFHCproduit(nombre_1,nombre_2));
PRINT_DANS_HC("produit",fFHCproduit(nombre_2,nombre_1));
/* Edition du produit eventuellement generalisee et/ou folklorique... */
/* */
/* Cela permet de verifier la NON commutativite de la multiplication des nombres */
/* hyper-complexes, par exemple avec : */
/* */
/* $xcg/q_MUL2.01$X r1=3 r2=7 \ */
/* i1=13 i2=17 \ */
/* j1=9 j2=23 \ */
/* k1=31 k2=19 \ */
/* */
/* qui donne : */
/* */
/* produit={-996,-400,+412,+420} */
/* produit={-996,+684,-148,+128} */
/* */
/* (voir 'v $xcg/z_MUL2.01$K', 'v $xcg/q_MUL2.01$K' et '$xcg/o_MUL2.01$K'). Ceci fut */
/* introduit le 20230323181514... */
RETU_Commande;
Eblock
ECommande