/*************************************************************************************************************************************/ /* */ /* T E S T S P O U R ' v $xrv/selection.11$K ' : */ /* */ /* */ /* Author of '$xtc/selection.11$c' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 20230409115808). */ /* */ /*************************************************************************************************************************************/ #include "INCLUDES.01.I" #define PREMIER \ 0 #define DERNIER \ 328 #define N_A_RECUPERER \ 254 main() { int NARecuperer=N_A_RECUPERER; int premier=PREMIER,dernier=DERNIER; double pas1=1,pas2; double index1; int index2; int compteur=0; pas2=pas1*((double)((dernier-premier+1)-1)/(double)(NARecuperer-1)); printf("amplitude1=%.16f\n",(double)(dernier-premier+1)); printf("amplitude2=%.16f\n",(pas2*((double)(NARecuperer-1))+1)); printf("pas1=%.16f\n",pas1); printf("pas2=%.16f\n",pas2); printf("\n"); compteur=0; for (index1=premier ; index1<=((double)dernier) ; index1=index1+pas2) { compteur++; printf("index1=%.16f --> %d\n",index1,(int)(index1+0.5)); } /* Cette deuxieme boucle fonctionne mal et se termine par : */ /* */ /* index1=326.7035573122537926 --> 327 */ /* compteur=253 */ /* */ /* et donc une iteration de moins... */ printf("\n"); printf("compteur=%d\n",compteur); printf("\n"); printf("\n"); compteur=0; index1=premier; for (index2=premier ; index2<NARecuperer ; index2++) { compteur++; printf("index1=%.16f --> %d\n",index1,(int)(index1+0.5)); index1=index1+pas2; } /* Cette deuxieme boucle possede le bon fonctionnement en se terminant par : */ /* */ /* index1=328.0000000000008527 --> 328 */ /* compteur=254 */ /* */ printf("\n"); printf("compteur=%d\n",compteur); }