You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mrql.apache.org by Apache Wiki <wi...@apache.org> on 2013/04/22 21:19:02 UTC

[Mrql Wiki] Update of "RMAT.mrql" by LeonidasFegaras

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Mrql Wiki" for change notification.

The "RMAT.mrql" page has been changed by LeonidasFegaras:
http://wiki.apache.org/mrql/RMAT.mrql

New page:
{{{
// Kronecker graph generator parameters:
a = 0.57;
b = 0.19;
c = 0.19;
d = 1-(a+b+c);

function randomEdge ( imin: int, imax: int, jmin: int, jmax: int ): (int,int) {
   if (imin = imax and jmin = jmax)
   then (imin,jmin)
   else let n = random(1000)
        in if (n as float <= 1000*a)
           then randomEdge(imin,(imin+imax)/2,jmin,(jmin+jmax)/2)
           else if (n as float <= 1000*(a+b))
                then randomEdge((imin+imax)/2,imax,jmin,(jmin+jmax)/2)
                else if (n as float <= 1000*(a+b+c))
                     then randomEdge(imin,(imin+imax)/2,(jmin+jmax)/2,jmax)
                     else randomEdge((imin+imax)/2,imax,(jmin+jmax)/2,jmax)
};

store "graph.bin"
 from select distinct randomEdge(0,toInt(args[0]),0,toInt(args[0]))
        from i in 1...(toLong(args[1]));
}}}