Yes, that was the problem!!
    
    
    for b in 0 .. <Kn*bprg: seg[b] = 0   vs  for b in 0 .. <(Kn*bprg): seg[b] = 0
    

I was half right, it wasn't memory management (directly) but it damn sure was 
subtle. 

This makes perfectly good sense now. The **seg** array wasn't being completely 
cleared for each segment slice, so bits set from previous slices were still set.

Actually, I'm glad it was this than a real compiler error, because as comments 
have stated, maybe this style of operators can be changed, and/or parsing the 
semantics can either follow C++, or throw an error.

It now makes me wonder what did the parser/compiler do with the multiplication 
by **bprg** since it didn't apply the multiplication value as the iteration 
max? So there also seems to be the issue of why this didn't throw an error for 
the extraneous part of the expression that seemingly wasn't applied?

But a very **Big Thanks to Jehan** for finding this. I was at my wits end.

Reply via email to