[R] Bug on MWC1019?
Duncan Murdoch
murdoch at stats.uwo.ca
Mon Mar 14 19:42:23 CET 2005
On Mon, 14 Mar 2005 16:54:46 +0100, "Guido Montorsi"
<montorsi at polito.it> wrote :
>Dear R-developer (Marsaglia??)
>
>The following piece of code from package SuppDist , routine "dist.cc" seems
>to have a bug
You should normally send package bug reports to the maintainer, in
this case Bob Wheeler (who I've cc'd).
By the way, I agree that code does look wrong, but it would also be
helpful to provide R code that gives obviously wrong answers because
of it.
Duncan Murdoch
>
>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