Waveform improvements#485
Conversation
129efe4 to
536f275
Compare
536f275 to
fc077e4
Compare
|
Co-authored-by: Jessica Jeng <mingyoungjeng@gmail.com>
asaites
left a comment
There was a problem hiding this comment.
I've made some comments, but think I need to spend a bit more time with the code first.
In general, my concern is that the abstraction level is grander than necessary for the goals, and that it makes the code particularly challenging to follow (and perhaps use and maintain).
What would help a lot for me for working out how this impacts Python users/what suggestions I can make for the PyO3 usage: could you update some or all of the Python tests that are currently broken?
| Samples(Vec<Complex64>), | ||
| } | ||
|
|
||
| impl IqSamples { |
There was a problem hiding this comment.
As written here, this block can be #[pymethods] too, and you can avoid rewriting the wrapper functions. For Python users, it would benefit from a Sequence implementation.
There was a problem hiding this comment.
I couldn't figure out how to implement a Python class for a pyo3 type (assuming you're referring to collections.abc.Sequence). Any guidance would be appreciated!
|
I ran into an unexpected issue while reviewing this PR. Please try again later. |
asaites
left a comment
There was a problem hiding this comment.
Thanks for the hard work here; I really appreciate the documentation changes and the comprehensive the Python tests. I do have a couple of minor comments on a few things that are more style than substance, I think.
I'm going to look into what's up with CI right now, as there are a lot of failures. I think they may require some customization to the bindings' linter to handle the macros you've added.
| // U+005B is `[` (i.e., LEFT SQUARE BRACKET), but we have to hide it with an escape so as | ||
| // not to confuse our homegrown PyO3 linter script (`quil-rs/scripts/lint-quil-rs.py`). |
|
I pushed a couple commits to this branch to address the CI failures related to linting issues. Mostly, they were false positives: the new waveform macros generating classes, so the linter needed to be taught how to interpret the macro invocation to connect it to the exported classes. There was one legitimate issue: It looks like there's a new |
|
The |
antalsz
left a comment
There was a problem hiding this comment.
Here are some comments I meant to submit a while ago but they got trapped in "pending"
4074d24 to
79a8d3c
Compare
…thon IqSamples improvements
…complete) This comes at the cost of a nontrivial amount of conversion code and hackery, including manually rewriting the generated `.pyi` files in our `stub_gen` binary.
No description provided.