/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        T E S T   D E S   F O N C T I O N S   S U R   C H A I N E   D E   C A R A C T E R E S  :                                   */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xtKg/chaine.01$K' :                                                                                            */
/*                                                                                                                                   */
/*                    Jean-Francois COLONNA (LACTAMME, 1987??????????).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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_CPP_____MODULE_NON_DERIVABLE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   NOMBRE_DE_CHIFFRES_C                                                                                                          \
                    PARE(20)
#define   NUMERO_TEST                                                                                                                   \
                    PARE(1234567)
#define   SEPARATEUR_DU_NUMERO                                                                                                          \
                    C_POINT                                                                                                             \
                                        /* Limiteur...                                                                               */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        T E S T   D E S   F O N C T I O N S   S U R   C H A I N E   D E   C A R A C T E R E S  :                                   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     DEFV(Schar,INIS(DTb0(chaine1),"vive "));
     DEFV(Schar,INIS(DTb0(chaine2),"BULL..."));
     DEFV(Schar,INIS(DTb0(chaine3),"x=1 y=2 z=3"));
     DEFV(Schar,INIS(DTb0(chaine4),"x=1"));
     DEFV(Schar,INIS(DTb0(chaine5),"y=2"));
     DEFV(Schar,INIS(DTb0(chaine6),"z=3"));
     DEFV(Schar,INIS(DTb0(chaine7),"t=4"));
     DEFV(Schar,INIS(DTb0(chaine8),"image"));
     DEFV(Schar,INIS(DTb0(chaine9),"1234567890"));
     DEFV(CHAR,POINTERc(chaine_bull));
     DEFV(CHAR,POINTERc(chaine));
     DEFV(Int,INIT(taille,UNDEF));
     DEFV(Int,INIT(index,UNDEF));
                                        /* Nombre courant de chiffre a generer.                                                      */
     DEFV(Int,INIT(numero_de_l_image,SEPT));
     /*..............................................................................................................................*/
     GET_ARGUMENTS_(nombre_d_arguments
                   ,BLOC(VIDE;)
                    );

     CAL2(Prin1("copie (translation 0) = %s\n",chain_Acopie(chaine9)));
     EGAL(chain_copie_____index_du_premier_caractere_d_une_chaineA,SUCC(PREMIER_CARACTERE));
     CAL2(Prin1("copie (translation 1) = %s\n",chain_Acopie(chaine9)));
     EGAL(chain_copie_____index_du_premier_caractere_d_une_chaineA,PREMIER_CARACTERE);

     CAL2(Prin1("chaine 1 = %s\n",chaine1));
     CAL2(Prin1("taille de la chaine 1 = %d\n",chain_Xtaille(chaine1)));
     CAL2(Prin1(" = %d",chain_taille(chaine1)));
     CAL2(Prin1("chaine 2 = %s\n",chaine2));
     CAL2(Prin1("taille de la chaine 2 = %d\n",chain_Xtaille(chaine2)));
     CAL2(Prin1(" = %d",chain_taille(chaine2)));
     EGAL(chaine_bull,chain_Aconcaten2(chaine1,chaine2));
     CAL2(Prin1("chaine resultat = %s\n",chaine_bull));
     CAL2(Prin1("taille de la chaine resultat = %d\n",chain_Xtaille(chaine_bull)));
     CAL2(Prin1(" = %d",chain_taille(chaine_bull)));

     Test(IFEQ_chaine(chaine1,chaine1))
          Bblock
          CAL2(Prin2("'%s' et '%s' sont identiques\n",chaine1,chaine1));
          Eblock
     ATes
          Bblock
          CAL2(Prin2("'%s' et '%s' sont differentes\n",chaine1,chaine1));
          Eblock
     ETes

     Test(IFEQ_chaine(chaine1,chaine2))
          Bblock
          CAL2(Prin2("'%s' et '%s' sont identiques\n",chaine1,chaine2));
          Eblock
     ATes
          Bblock
          CAL2(Prin2("'%s' et '%s' sont differentes\n",chaine1,chaine2));
          Eblock
     ETes

     DoIn(index,ZERO,NOMBRE_DE_CHIFFRES_C,I)
          Bblock
          EGAL(chaine,chain_Aconcaten2(chaine_bull,chain_numero(NUMERO_TEST,index)));
          CAL2(Prin1("taille du numero = %d\n",chain_Xtaille(chaine)));
          CAL2(Prin1(" = %d",chain_taille(chaine)));
          CAL2(Prin1("      numero = %s",chaine));
          Eblock
     EDoI

     CAL2(Prin1("ADRESSE_UNDEF=%08X\n",ADRESSE_UNDEF));
     CAL2(Prin1("chaine3      =%08X\n",chaine3));
     CAL2(Prin1("chaine4      =%08X\n",chain_recherche(chaine3,chaine4)));
     CAL2(Prin1("chaine5      =%08X\n",chain_recherche(chaine3,chaine5)));
     CAL2(Prin1("chaine6      =%08X\n",chain_recherche(chaine3,chaine6)));
     CAL2(Prin1("chaine7      =%08X\n",chain_recherche(chaine3,chaine7)));
     CAL2(Prin1("chaine4      =%s\n",chain_recherche(chaine3,chaine4)));
     CAL2(Prin1("chaine5      =%s\n",chain_recherche(chaine3,chaine5)));
     CAL2(Prin1("chaine6      =%s\n",chain_recherche(chaine3,chaine6)));
     CAL2(Prin1("chaine7      =%s\n",chain_recherche(chaine3,chaine7)));
     EGAL(chaine,chain_Aconcaten2(chaine8,chaine8));
     CAL2(Prin1("chaine8      =%s\n",chain_Aconcaten3(chaine
                                                     ,SEPARATEUR_DU_NUMERO
                                                     ,chain_numero(numero_de_l_image,NOMBRE_DE_CHIFFRES)
                                                      )
                )
          );
     CAL2(Prin0("\n"));

     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.