/*************************************************************************************************************************************/
/* */
/* I N I T I A L I S A T I O N D ' U N E I M A G E P A R U N C H A M P " T R E F L E " : */
/* */
/* */
/* Author of '$xci/trefle$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 GENERER_LES_GET_ARGUMENTS_DE_CONTROLE_DE_L_ARITHMETIQUE_ETENDUE_DES_NOMBRES_FLOTTANTS
/* Introduit le 20071224112400... */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* F I C H I E R S D ' I N C L U D E S : */
/* */
/*************************************************************************************************************************************/
#include INCLUDES_BASE
#include image_image_IMAGESF_EXT
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* P A R A M E T R E S : */
/* */
/*************************************************************************************************************************************/
#include xci/genere_ch.01.I"
#ifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_01
# define COEFFICIENT \
FDU \
/* Coefficient de ponderation 'Cs' de la fonction 'sinus'. */
# define COEFFICIENT_LINEAIRE \
COMP(COEFFICIENT) \
/* Coefficient lineaire 'Ts' de l'expression en 'sinus(rho)' ; le 'COMP()' est la afin */ \
/* de garantir que la fonction 'F(X,Y)' est dans [0,1]... */
#Aifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_01
#Eifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_01
#ifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_02
# define COEFFICIENT \
FU \
/* Coefficient de ponderation 'Cs' de la fonction "polynomiale". */
# define COEFFICIENT_LINEAIRE \
EXP2(MOIT(COEFFICIENT)) \
/* Coefficient lineaire 'Ts' de la fonction "polynomiale" ; le 'EXP2(MOIT())' est la afin */ \
/* de garantir que la fonction 'F(X,Y)' est dans [0,1]... */
# define COEFFICIENT_CONTINU \
FZERO \
/* Composante continue 'Co' de la fonction "polynomiale" */
#Aifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_02
#Eifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_02
#ifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_03
# define COEFFICIENT \
FU \
/* Coefficient de ponderation 'Cs' de la fonction "polynomiale". */
# define COEFFICIENT_LINEAIRE \
EXP2(MOIT(COEFFICIENT)) \
/* Coefficient lineaire 'Ts' de la fonction "polynomiale" ; le 'EXP2(MOIT())' est la afin */ \
/* de garantir que 'Ts' est strictement positif, et meme dans ]0,1[. */
# define COEFFICIENT_CONTINU \
FZERO \
/* Composante continue 'Co' de la fonction "polynomiale" */
#Aifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_03
#Eifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_03
#ifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_01
# define COEFFICIENT_RHO \
GRO8(PI) \
/* Coefficient de ponderation 'Cr' du module 'rho'. */
# define COEFFICIENT_PHASE_RHO \
NEGA(PI_SUR_2) \
/* Coefficient de phase 'Pr' du module 'rho' (desole pour l'abus de langage, mais 'rho' */
/* est utilise comme un angle...). */
#Aifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_01
#Eifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_01
#ifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_02
# define MOITIE_DE_L_EXPOSANT \
UN \
/* Moitie 'r' de l'exposant de 'R(X,Y)'. */
# define COEFFICIENT_RHO \
CERCLE_TRIGONOMETRIQUE \
/* Coefficient de ponderation 'Cr' du module 'rho'. */
# define COEFFICIENT_PHASE_RHO \
FZERO \
/* Coefficient de phase 'Pr' du module 'rho' (desole pour l'abus de langage, mais 'rho' */
/* est utilise comme un angle...). */
#Aifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_02
#Eifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_02
#ifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_03
# define EXPOSANT \
GRO2(UN) \
/* Valeur 'r' de l'exposant de 'R(X,Y)'. */
# define COEFFICIENT_RHO \
CERCLE_TRIGONOMETRIQUE \
/* Coefficient de ponderation 'Cr' du module 'rho'. */
# define COEFFICIENT_PHASE_RHO \
FZERO \
/* Coefficient de phase 'Pr' du module 'rho' (desole pour l'abus de langage, mais 'rho' */
/* est utilise comme un angle...). */
#Aifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_03
#Eifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_03
#define COEFFICIENT_COSINUS \
FDU \
/* Coefficient de ponderation 'Cc' de la fonction 'cosinus'. */
#define COEFFICIENT_LINEAIRE_COSINUS \
FDEUX \
/* Coefficient lineaire 'Tc' de l'expression en 'cosinus(theta)'. */
#define COEFFICIENT_THETA \
GRO3(FU) \
/* Coefficient de ponderation 'Ct' de l'angle 'theta'. */
#define COEFFICIENT_PHASE_THETA \
FZERO \
/* Coefficient de phase 'Pt' de l'angle 'theta'. */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* M A C R O S U T I L E S : */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* I N I T I A L I S A T I O N D ' U N E I M A G E P A R U N C H A M P " T R E F L E " : */
/* */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
DEFV(CHAR,INIC(POINTERc(nom_imageR),NOM_PIPE));
#include xci/genere_ch.02.I"
/*..............................................................................................................................*/
EGAL(Ftrefle_____coefficient,COEFFICIENT);
#ifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_02
EGAL(Ftrefle_____moitie_de_l_exposant_de_rho_module,MOITIE_DE_L_EXPOSANT);
#Aifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_02
#Eifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_02
#ifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_03
EGAL(Ftrefle_____exposant_de_rho_module,EXPOSANT);
#Aifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_03
#Eifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_03
EGAL(Ftrefle_____coefficient_rho,COEFFICIENT_RHO);
EGAL(Ftrefle_____coefficient_phase_rho,COEFFICIENT_PHASE_RHO);
EGAL(Ftrefle_____coefficient_lineaire,COEFFICIENT_LINEAIRE);
#ifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_02
EGAL(Ftrefle_____coefficient_continu,COEFFICIENT_CONTINU);
#Aifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_02
#Eifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_02
#ifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_03
EGAL(Ftrefle_____coefficient_continu,COEFFICIENT_CONTINU);
#Aifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_03
#Eifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_03
EGAL(Ftrefle_____coefficient_cosinus,COEFFICIENT_COSINUS);
EGAL(Ftrefle_____coefficient_theta,COEFFICIENT_THETA);
EGAL(Ftrefle_____coefficient_phase_theta,COEFFICIENT_PHASE_THETA);
EGAL(Ftrefle_____coefficient_lineaire_cosinus,COEFFICIENT_LINEAIRE_COSINUS);
/* Definition du champ "trefle"... */
#include xci/genere_ch.03.I"
#include xci/genere_ch.11.I"
#ifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_01
GET_ARGUMENTSi(nombre_d_arguments
,BLOC(GET_ARGUMENT_C("imageR=""R=",nom_imageR);
GET_ARGUMENT_L("standard=",les_images_sont_standards);
PROCESS_ARGUMENT_L("arithmetique_etendue_trefle=""ariet=""ariec="
,Ftrefle____`use_arithmetique_etendue_et_non_basique
,BLOC(VIDE;)
,BLOC(Bblock
EGAL(si_le_GooF_est_activable`use_arithmetique_etendue_et_non_basique
,Ftrefle____`use_arithmetique_etendue_et_non_basique
);
Eblock
)
);
PROCESS_ARGUMENT_N("arithmetique_de_base_trefle=""aribt=""aribc="
,Ftrefle____`use_arithmetique_etendue_et_non_basique
,BLOC(VIDE;)
,BLOC(Bblock
EGAL(si_le_GooF_est_activable`use_arithmetique_etendue_et_non_basique
,NOTL(Ftrefle____`use_arithmetique_etendue_et_non_basique)
);
/* Le 20071226163535 fut introduit le 'NOTL(...)' a cause de 'PROCESS_ARGUMENT_N(...)' car, */
/* en effet, lorsque le 'EGAL(...)' est execute, le parametre logique en cours de traitement */
/* est alors inverse ('v $xig/fonct$vv$DEF NOTL.valeur_L_par_defaut'). */
Eblock
)
);
/* Parametres d'arithmetique etendue introduits le 20071224112400... */
GET_ARGUMENT_F("cs=""Cs=",Ftrefle_____coefficient);
GET_ARGUMENT_F("cr=""Cr=",Ftrefle_____coefficient_rho);
GET_ARGUMENT_F("pr=""Pr=",Ftrefle_____coefficient_phase_rho);
GET_ARGUMENT_F("ts=""Ts=",Ftrefle_____coefficient_lineaire);
GET_ARGUMENT_F("cc=""Cc=",Ftrefle_____coefficient_cosinus);
GET_ARGUMENT_F("ct=""Ct=",Ftrefle_____coefficient_theta);
GET_ARGUMENT_F("pt=""Pt=",Ftrefle_____coefficient_phase_theta);
GET_ARGUMENT_F("tc=""Tc=",Ftrefle_____coefficient_lineaire_cosinus);
PROCESS_ARGUMENTS_DE_PARAMETRAGE_2D_DE_____ACCES_A_UN_CHAMP_3D;
/* Introduit le 20060516111935... */
)
);
#Eifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_01
#ifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_02
GET_ARGUMENTSi(nombre_d_arguments
,BLOC(GET_ARGUMENT_C("imageR=""R=",nom_imageR);
GET_ARGUMENT_L("standard=",les_images_sont_standards);
PROCESS_ARGUMENT_L("arithmetique_etendue_trefle=""ariet=""ariec="
,Ftrefle____`use_arithmetique_etendue_et_non_basique
,BLOC(VIDE;)
,BLOC(Bblock
EGAL(si_le_GooF_est_activable`use_arithmetique_etendue_et_non_basique
,Ftrefle____`use_arithmetique_etendue_et_non_basique
);
Eblock
)
);
PROCESS_ARGUMENT_N("arithmetique_de_base_trefle=""aribt=""aribc="
,Ftrefle____`use_arithmetique_etendue_et_non_basique
,BLOC(VIDE;)
,BLOC(Bblock
EGAL(si_le_GooF_est_activable`use_arithmetique_etendue_et_non_basique
,NOTL(Ftrefle____`use_arithmetique_etendue_et_non_basique)
);
/* Le 20071226163535 fut introduit le 'NOTL(...)' a cause de 'PROCESS_ARGUMENT_N(...)' car, */
/* en effet, lorsque le 'EGAL(...)' est execute, le parametre logique en cours de traitement */
/* est alors inverse ('v $xig/fonct$vv$DEF NOTL.valeur_L_par_defaut'). */
Eblock
)
);
/* Parametres d'arithmetique etendue introduits le 20071224112400... */
GET_ARGUMENT_F("cs=""Cs=",Ftrefle_____coefficient);
GET_ARGUMENT_I("r=",Ftrefle_____moitie_de_l_exposant_de_rho_module);
GET_ARGUMENT_F("cr=""Cr=",Ftrefle_____coefficient_rho);
GET_ARGUMENT_F("pr=""Pr=",Ftrefle_____coefficient_phase_rho);
GET_ARGUMENT_F("ts=""Ts=",Ftrefle_____coefficient_lineaire);
GET_ARGUMENT_F("co=""Co=",Ftrefle_____coefficient_continu);
GET_ARGUMENT_F("cc=""Cc=",Ftrefle_____coefficient_cosinus);
GET_ARGUMENT_F("ct=""Ct=",Ftrefle_____coefficient_theta);
GET_ARGUMENT_F("pt=""Pt=",Ftrefle_____coefficient_phase_theta);
GET_ARGUMENT_F("tc=""Tc=",Ftrefle_____coefficient_lineaire_cosinus);
PROCESS_ARGUMENTS_DE_PARAMETRAGE_2D_DE_____ACCES_A_UN_CHAMP_3D;
/* Introduit le 20060516111935... */
)
);
#Aifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_02
#Eifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_02
#ifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_03
GET_ARGUMENTSi(nombre_d_arguments
,BLOC(GET_ARGUMENT_C("imageR=""R=",nom_imageR);
GET_ARGUMENT_L("standard=",les_images_sont_standards);
PROCESS_ARGUMENT_L("arithmetique_etendue_trefle=""ariet=""ariec="
,Ftrefle____`use_arithmetique_etendue_et_non_basique
,BLOC(VIDE;)
,BLOC(Bblock
EGAL(si_le_GooF_est_activable`use_arithmetique_etendue_et_non_basique
,Ftrefle____`use_arithmetique_etendue_et_non_basique
);
Eblock
)
);
PROCESS_ARGUMENT_N("arithmetique_de_base_trefle=""aribt=""aribc="
,Ftrefle____`use_arithmetique_etendue_et_non_basique
,BLOC(VIDE;)
,BLOC(Bblock
EGAL(si_le_GooF_est_activable`use_arithmetique_etendue_et_non_basique
,NOTL(Ftrefle____`use_arithmetique_etendue_et_non_basique)
);
/* Le 20071226163535 fut introduit le 'NOTL(...)' a cause de 'PROCESS_ARGUMENT_N(...)' car, */
/* en effet, lorsque le 'EGAL(...)' est execute, le parametre logique en cours de traitement */
/* est alors inverse ('v $xig/fonct$vv$DEF NOTL.valeur_L_par_defaut'). */
Eblock
)
);
/* Parametres d'arithmetique etendue introduits le 20071224112400... */
GET_ARGUMENT_F("cs=""Cs=",Ftrefle_____coefficient);
GET_ARGUMENT_I("r=",Ftrefle_____exposant_de_rho_module);
GET_ARGUMENT_F("cr=""Cr=",Ftrefle_____coefficient_rho);
GET_ARGUMENT_F("pr=""Pr=",Ftrefle_____coefficient_phase_rho);
GET_ARGUMENT_F("ts=""Ts=",Ftrefle_____coefficient_lineaire);
GET_ARGUMENT_F("co=""Co=",Ftrefle_____coefficient_continu);
GET_ARGUMENT_F("cc=""Cc=",Ftrefle_____coefficient_cosinus);
GET_ARGUMENT_F("ct=""Ct=",Ftrefle_____coefficient_theta);
GET_ARGUMENT_F("pt=""Pt=",Ftrefle_____coefficient_phase_theta);
GET_ARGUMENT_F("tc=""Tc=",Ftrefle_____coefficient_lineaire_cosinus);
PROCESS_ARGUMENTS_DE_PARAMETRAGE_2D_DE_____ACCES_A_UN_CHAMP_3D;
/* Introduit le 20060516111935... */
)
);
#Aifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_03
#Eifdef FACON_DE_CALCULER_LE_CHAMP_TREFLE_VERSION_03
#include xci/genere_ch.04.I"
GENERATION_DU_CHAMP_DEMANDE(Ftrefle,nom_imageR,Zf_ARGUMENT_INUTILE,Tf_ARGUMENT_INUTILE,UPD_CHAMP_S);
/* L'argument 'Tf_ARGUMENT_INUTILE' a ete introduit le 20100209110914. */
RETU_Commande;
Eblock
ECommande
Copyright © Jean-François COLONNA, 2019-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2019-2024.