/*************************************************************************************************************************************/ /* */ /* E T U D E D E L A C O M P L E X I T E S T R U C T U R E L L E */ /* D E P O I N T S P S E U D O - A L E A T O I R E S N O I R O U B L A N C : */ /* */ /* */ /* Author of '$xrC/ObjetComplexe.01$vv$c' : */ /* */ /* Jean-Francois Colonna (LACTAMME, 20130501081535). */ /* */ /*************************************************************************************************************************************/ #ifdef COMMENTS # undef COMMENTS #else #endif #define COMMENTS "Points pseudo-aleatoires type 'drand48(...)' (format octet) -noir ou blanc-" #define DEFINE_01 "-DSEUIL=gDIVI(15.0,15.0)" #define DEFINE_02 "-DSEUIL=gDIVI(14.0,15.0)" #define DEFINE_03 "-DSEUIL=gDIVI(13.0,15.0)" #define DEFINE_04 "-DSEUIL=gDIVI(12.0,15.0)" #define DEFINE_05 "-DSEUIL=gDIVI(11.0,15.0)" #define DEFINE_06 "-DSEUIL=gDIVI(10.0,15.0)" #define DEFINE_07 "-DSEUIL=gDIVI(9.0,15.0)" #define DEFINE_08 "-DSEUIL=gDIVI(8.0,15.0)" #define DEFINE_09 "-DSEUIL=gDIVI(7.0,15.0)" #define DEFINE_10 "-DSEUIL=gDIVI(6.0,15.0)" #define DEFINE_11 "-DSEUIL=gDIVI(5.0,15.0)" #define DEFINE_12 "-DSEUIL=gDIVI(4.0,15.0)" #define DEFINE_13 "-DSEUIL=gDIVI(3.0,15.0)" #define DEFINE_14 "-DSEUIL=gDIVI(2.0,15.0)" #define DEFINE_15 "-DSEUIL=gDIVI(1.0,15.0)" #define DEFINE_16 "-DSEUIL=gDIVI(0.0,15.0)" #include "images_1octet.01.vv.I" #ifndef SEUIL # define SEUIL \ (0.5) #else #endif double seuil=SEUIL; MAIN( { long int m=0x0000ffffffffffff; long int a=0x5DEECE66D; long int c=0xB; long int Xi=1; /* Les valeurs des parametres {m,a,c} sont ceux de la fonction 'drand48(...)'. */ for (y=Ymin ; y <= Ymax ; y=ADD2(y,1)) { for (x=Xmin ; x <= Xmax ; x=ADD2(x,1)) { Xi = ETLO(ADD2(MUL2(a,Xi),c),m); STORE_IMAGE_PLAN(x,y,COND(IFLT(DIVIf(((double)Xi),((double)m)),seuil),NOIR,BLANC)); } } SORTIE_DU_FICHIER_IMAGE; EDITER_LES_COMPTEURS_DES_FONCTIONS; } )