You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This does not look right to me. Specifically, the padding_strategy for Y will mean it is no longer a permutation of X. The logical option here is to have an append padding strategy, but I'm unsure whether or not this is permissible.
The logical option here is to have an append padding strategy, but I'm unsure whether or not this is permissible.
Some updates on this point specifically. Yes, we can choose to append at the end or the beginning (let's call this the padding sign of a column). However, I did not make this work for permutation sorts. Specifically, at a minimum because of this:
(Delta Sign). The problem is, we can't using inverse (i.e. appending) padding for the delta column. Since this currently ranges over both positive and negative signed columns, its only logical to pad at the front. But, this breaks with inverse padding.
The easiest solution then is to enforce a requirement that we must have a leftmost positively signed column for a permutation sort and, furthermore, no trace prior to expansion can have 0 for that column.
Overall, my feeling is that it actually would just make sense to remove sorting direction altogether. That way, there is no confusion.
Minimal example to recreate:
(module m1) (defcolumns X) (defpermutation (Y) ((- X)))
With this example trace:
Then, running
corset compute --trace test.json --out test.out test.lisp
gives this:This does not look right to me. Specifically, the
padding_strategy
forY
will mean it is no longer a permutation ofX
. The logical option here is to have anappend
padding strategy, but I'm unsure whether or not this is permissible.@OlivierBBB FYI
The text was updated successfully, but these errors were encountered: