[R] Bug on MWC1019?
Uwe Ligges
ligges at statistik.uni-dortmund.de
Mon Mar 14 19:35:08 CET 2005
Guido Montorsi wrote:
> Dear R-developer (Marsaglia??)
>
> The following piece of code from package SuppDist , routine "dist.cc" seems
> to have a bug
The package is called *SuppDists*.
Bug reports and contributions for contributed packages should be
addressed to the package maintainer (CCing, he might not be listening)
rather than to R-help. Thanks.
Uwe Ligges
> ULONG MWC1019(void){
> ULONG long t;
> int i = endQ-1;
>
> t = 147669672LL*Q[i] + Q[endQ];
> Q[endQ] = (t>>32);
> if(i>0)
> return(Q[i--] = t);
> i = endQ-1;
> return(Q[0] = t);
> }
>
> in fact , being "i" a local variable that have automatic storage, it is
> initialized to endQ-1 (1019)
> each time the routine is called so that it can never
> cycle through all values as it should.
>
> I think it should be declared as static:
>
> ULONG MWC1019(void){
> ULONG long t;
> static int i = endQ-1;
>
> t = 147669672LL*Q[i] + Q[endQ];
> Q[endQ] = (t>>32);
> if(i>0)
> return(Q[i--] = t);
> i = endQ-1;
> return(Q[0] = t);
> }
>
> Best regards,
>
> Guido Montorsi
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
More information about the R-help
mailing list