-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(ir): fix columns size for vector trace access #290
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice catch, thank you! This looks correct to me. However, let's add a test for the issue that you're fixing before merging this.
I've modified the evaluators integration test. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you - one more request, sorry!
enf is_unchanged([b]) | ||
enf are_unchanged([b, c[1], d[2]]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To really test both cases effectively, I think we should pass a column group to an evaluator function, e.g.
ev are_all_binary([c[3]]):
enf is_binary([c[i]]) for i in 0..3
I know this is a stupid example, but the point is just to test passing in a SymbolType
with AccessType::Default
where the size is > 1.
I think this is my oversight from before the previous fix, since I think it was captured in another test elsewhere instead, but I'd appreciate it if you could update it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually we don't yet support variables as indices for comprehensions in the parser. Maybe we should prioritize this issue since a lot of our constraints depend on this. Also, we haven't merged constraint comprehension for evaluators yet so I've added test for:
ev are_all_binary([c[3]]):
enf c^2 = c for c in c
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah ok good point, thanks. That works! That's not the part I cared about for the test anyway
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you, looks good!
Addressing #289