[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