[PIPython] loop strano

Ernesto e.picardi
Mar 15 Nov 2005 15:28:59 CET


Ciao a tutti,

sto cercando di tradurre in python una funzione scritta in c. Mi sono
bloccato davanti il loop "for(;;)" che non so cosa voglia dire. Qualcuno di
voi ha mai visto qualcosa del genere? Grazie

Ernesto

Inserisco anche la funzione c completa.

double rndgamma1 (double s)
{

        double                  r, x=0.0, small=1e-37, w;
        static double   a, p, uf, ss=10.0, d;

        if (s!=ss)
                {
                a  = 1.0-s;
                p  = a/(a+s*exp(-a));
                uf = p*pow(small/a,s);
                d  = a*log(a);
                ss = s;
                }
        for (;;)
                {
                r = rndu();
                if (r > p)
                        x = a-log((1.0-r)/(1.0-p)), w=a*log(x)-d;
                else if (r>uf)
                        x = a*pow(r/p,1/s), w=x;
                else
                        return (0.0);
                r = rndu();
                if (1.0-r <= w && r > 0.0)
                        if (r*(w+1.0) >= 1.0 || -log(r) <= w)
                                continue;
                break;
                }
        return (x);




More information about the Python mailing list