You can change the code yourself, but it doesn't change the behavior. I've 
tried every equivalent implementation I can think, and the problem still exists.
    
    
        for j in 0.. <pcnt:              # for each prime r1..sqrt(N)
          if nextp[row + j] < uint(Kn):  # if 1st mult resgroup is within 'seg'
            var k = int(nextp[row + j])  # starting from this resgroup in 'seg'
            var ki = k*bprg + byti       # convert it to a byte addres in 'seg'
            let prime = primes[j]        # for this prime
            let prmstep = prime * bprg   # set number of bytes to next prime 
mult
            while k < Kn:                # for each primenth byte to end of 
'seg'
    

The inexorable conclusion is there is a fundamental bug in the structure of the 
language which causes this error to occur. The good thing is now you know it 
exists and can find and fix it (remember when the GIMPS folks found a hardware 
glitch in Intel chips). You're only at 0.17, so it's good this has been 
identified now rather than later. This is a benefit of people using/testing the 
language against reference code from other languages.

Reply via email to