C++ : Corps de la fonction rand ()
M.had
Messages postés
24
Statut
Membre
-
vordano Messages postés 1981 Statut Membre -
vordano Messages postés 1981 Statut Membre -
Bonjour à tous!
Je cherche à trouver le corps de la fonction rand() !
Merci
Je cherche à trouver le corps de la fonction rand() !
Merci
2 réponses
-
Salut,
je ne connais pas le corps de la fonction rand originale mais tu peux te servir de ça :
#define IA 16807
#define IM 2147483647
#define AM (1.0f/IM)
#define IQ 127773
#define IR 2836
#define NTAB 32
#define NDIV (1+(IM-1)/NTAB)
#define EPS 1.2e-7f
#define RNMX (1.0f-EPS)
float ran1(long *idum)
{
int j;
long k;
static long iy=0;
static long iv[NTAB];
float temp;
if (*idum <= 0 || !iy) {
if (-(*idum) < 1) *idum=1;
else *idum = -(*idum);
for (j=NTAB+7;j>=0;j--) {
k=(*idum)/IQ;
*idum=IA*(*idum-k*IQ)-IR*k;
if (*idum < 0) *idum += IM;
if (j < NTAB) iv[j] = *idum;
}
iy=iv[0];
}
k=(*idum)/IQ;
*idum=IA*(*idum-k*IQ)-IR*k;
if (*idum < 0) *idum += IM;
j=iy/NDIV;
iy=iv[j];
iv[j] = *idum;
if ((temp=AM*iy) > RNMX) return RNMX;
else return temp;
}
#undef IA
#undef IM
#undef AM
#undef IQ
#undef IR
#undef NTAB
#undef NDIV
#undef EPS
#undef RNMX
->
static long i_time;
static time_t tt;
i_time = -((long)time(&tt));
ran1(&i_time)
-
c'est si dur que ca de taper c++ fonction rand sur google ???
en plus la vrai fonction rand tiens sur quelques lignes