مشکل پروژه
مشکل پروژه
سلام
این قطعه برنامه که در زبان لینوکس می باشدمعادل آن در در زبان سی چیه ؟
float frand(void)
{
long af = 16807, mf = 2147483647, qf = 127773, r = 2836;
long hi, lo;
float fnumb;
hi = seed/qf;
lo = seed - qf*hi;
seed = af*lo - r*hi;
/* "seed" will always be a legal integer of 32 bits (including sign). */
if(seed <= 0) seed = seed + mf;
fnumb = seed/2147483646.0;
return(fnumb);
}
/**********************************************************************/
float bit_rever_maxwell()
{
static int iset=0;
static int count=0;
static float gset;
float fac,r,v1,v2;
if(iset==0){
do{
v1=2.0*revers_base(count++,2)-1.0;
v2=2.0*revers_base(count,5)-1.0;
r = v1*v1+v2*v2;
} while (r>=1.0);
fac=sqrt(-2*log(r)/r);
gset=v1*fac;
iset = 1;
return v2*fac;
}
else{
iset=0;
return gset;
}
}
/**********************************************************************/
float maxwell()
{
static int iset=0;
static float gset;
float fac,r2,v1,v2;
if(iset==0){
do{
v1=2.0*frand()-1.0;
v2=2.0*frand()-1.0;
r2 = v1*v1+v2*v2;
} while (r2>=1.0);
fac=sqrt(-2*log(r2)/r2);
gset=v1*fac;
iset = 1;
return v2*fac;
}
else{
iset=0;
return gset;
}
}
/**********************************************************************/