/*************************************************************************************************************************************/ /* */ /* V A L I D A T I O N D U C O S I N U S E T D U S I N U S C I R C U L A I R E S */ /* D ' U N N O M B R E H Y P E R - C O M P L E X E : */ /* */ /* */ /* Author of '$xcg/q_COSX2_SINX2.01$K' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 20230322105817). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* 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 \ FU #define PARTIE_IMAGINAIRE_DE_NOMBRE \ FZERO #define PARTIE_JMAGINAIRE_DE_NOMBRE \ FZERO #define PARTIE_VMAGINAIRE_DE_NOMBRE \ FZERO /* Nombre hyper-complexe qui va servir a verifier l'identite classique... */ #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" /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* V A L I D A T I O N D U C O S I N U S E T D U S I N U S C I R C U L A I R E S */ /* D ' U N N O M B R E H Y P E R - C O M P L E X E : */ /* */ /*************************************************************************************************************************************/ BCommande(nombre_d_arguments,arguments) /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock DEFV(hyper_complexe,nombre); /* Nombre hyper-complexe qui va servir a verifier l'identite classique... */ DEFV(hyper_complexe,cosinus); DEFV(hyper_complexe,sinus); DEFV(hyper_complexe,cosinus_au_carre); DEFV(hyper_complexe,sinus_au_carre); DEFV(hyper_complexe,pythagore); #include xci/valeurs.03.I" /*..............................................................................................................................*/ HCinitialisation(nombre ,PARTIE_REELLE_____DE_NOMBRE ,PARTIE_IMAGINAIRE_DE_NOMBRE ,PARTIE_JMAGINAIRE_DE_NOMBRE ,PARTIE_VMAGINAIRE_DE_NOMBRE ); GET_ARGUMENTS_(nombre_d_arguments ,BLOC(CONTROLE_DES_COMPATIBILITES_DES_FONCTIONS_DES_NOMBRES_HYPER_COMPLEXES; GET_ARGUMENT_F("partie_reelle=""r=",HReelle(nombre)); GET_ARGUMENT_F("partie_imaginaire=""i=",HImaginaire(nombre)); GET_ARGUMENT_F("partie_jmaginaire=""j=",HJmaginaire(nombre)); GET_ARGUMENT_F("partie_kmaginaire=""k=",HKmaginaire(nombre)); 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; ) ); HCcosinus(cosinus,nombre); HCsinus(sinus,nombre); HCpuissance(cosinus_au_carre,cosinus,DEUX); HCpuissance(sinus_au_carre,sinus,DEUX); HCsomme(pythagore,cosinus_au_carre,sinus_au_carre); PRINT_DANS_HC("pythagore",pythagore); /* Verification de l'identite : */ /* */ /* 2 2 */ /* cos (x) + sin (x) = 1 */ /* */ RETU_Commande; Eblock ECommande