Closed msmftc closed 2 years ago
I believe this issue is corrected in 0.6.9 (the testcase runs, at least). I've added an evaluator for if/else constraints inside foreach constraints that flattens out if/else that have a constant expression. For the purposes of foreach unrolling, the iteration index is considered a constant.
@mballance,
I've encountered a couple unique errors while using constraints in a foreach loop. I've found a workaround for my immediate needs, but I think the errors are still worth investigation. In the examples below, I am trying to randomly select 5 consecutive numbers from a rangelist.
In this first example, a if_then constraint is nested inside a foreach. It seems like the target of the if_then is being evaluated even when the condition is false, causing an
index out of range
error.In this second example, I've eliminated the if_then statement, but now I get a
KeyError
. I don't know why.In this third example, I added an intermediate scalar value to the constraints. PyVSC solves these constraints correctly.