**1)** In **nextp_init** in the line below, **i** can start from eithre '0' or
'1'.
for i in 0|1..<rescnt: pos[residues[i]] = i-1 # start from either 0 or 1
**2)** The program needs to use unsigned math, so yes, it needs to use
**uints**. I had a hard enough time to get all the type casting compatible, but
if you want to rewrite it to not use ints you wll reduce the size of the inputs
you can handle. Besides, uints are as old as programming, so shouldn't you fix
making it work correctly rather than discourage its use?
**3)** I've compiled using clang and gcc with: **\--cc:[clang:gcc]**. In a
Manjaro VB VM is has clang 4.0.1 and gcc 7.1.1, and I've used another VM that
has gcc 7.2.1.
As stated in previous posts, I've comiled the Nim source under multiple
directives, which just emphasizes the point to me the issue isn't the source
code but its interpretation by the compiler, otherwise it would work correctly
no matter how it is compiled, though its performance my differ.
But again, the source is available for anyone to play with.