/* Quasi-Random Sequence (van der Corput) */ new; cls; nn=1000; /* Up to 1000 in Light version of GAUSS */ x=U01vdC(nn); library pgraph; graphset; call hist(x,29); proc U01vdC(nn); local binarym,index,m,m1,i,j,s,x,cp; binarym=floor(seqa(1,1,nn)./rev(seqm(1,2,ceil(ln(nn+1)/ln(2))))')%2; m=(rev(binarym'))'; index=2^seqa(1,1,1000); m1=zeros(nn,1); i=1; do while i<=nn; m1[i]=(sumc((i.>=index))+1); i=i+1; endo; s=zeros(nn,1); i=1; do while i<=nn; j=1; do while j<=m1[i]; s[i]=s[i]+m[i,j]*2^(m1[i]-j); j=j+1; endo; i=i+1; endo; x=s./2^m1; retp(x); endp;