Yes, I suspect you are right. I didn't look into that in much detail, although I did try exchanging "(2 ^ 50000000)" with "(1 `shiftL` 50000000)"; but that didn't make any difference.
Uwe
On Thu, Feb 14, 2008 at 8:23 PM, Uwe Hollerbach <uhollerbach@gmail.com> wrote:This seems wrong to me; that routine should take a small constant
> Stefan's routine is, as expected, much much faster still: I tested the
> first two routines on numbers with 5 million or so bits and they took
> ~20 seconds of CPU time, whereas I tested Stefan's routine with
> numbers with 50 million bits, and it took ~11 seconds of CPU time.
amount of time. I suspect you are measuring the time to construct the
50-million bit numbers as well. If you constructed a single number
and called this routine on it several times I am sure you would get
far different results, with the first routines taking ~7-11s each and
Stefan's GHC/GMP-magic taking almost nothing.
-- ryan