-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Add binary literal example to methods of SimulatesAmplitudes class #5818
Conversation
…plitudes methods of SimulatesAmplitudes class (quantumlib#2603)
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.
The added comments document python, not cirq, so I think they are gratuitous. What's the reason for this PR?
cirq-core/cirq/sim/simulator.py
Outdated
@@ -157,6 +157,9 @@ def compute_amplitudes( | |||
as an integer array where each integer is formed from measured | |||
qubit values according to `qubit_order` from most to least | |||
significant qubit, i.e. in big-endian ordering. | |||
Binary literals should be input with the prefix 0b or 0B. | |||
For example, 0010 should be input as 0b0010 or 0B0010. |
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.
As indicated by the function signature, the bitstrings are supposed to be good old python ints. All valid ways of writing int literals will work, not just 0b-prefixed binary literals.
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.
I see. Thank you for the context. I suggest the following changes before we merge this:
- reword the comments to make it clear that these are mere examples and not the only supported way of specifying bitstrings,
- add a non-binary example, e.g. 32641, 0x7F81,
- fix the formatting errors.
@viathor Thanks for the feedback! I've made the changes. Hope this is fine? |
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.
Nearly there!
cirq-core/cirq/sim/simulator.py
Outdated
@@ -157,6 +157,9 @@ def compute_amplitudes( | |||
as an integer array where each integer is formed from measured | |||
qubit values according to `qubit_order` from most to least | |||
significant qubit, i.e. in big-endian ordering. | |||
If inputting a binary literal add the prefix 0b or 0B. | |||
For example: 0010 can be input as 0b0010, 0B0010, 2, 0x2, etc. |
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.
This needs to be indented by four spaces to align with the line above. Also, you can put "If inputting" on line 159 above that.
(Applies to the comment on lines 221-222 as well.)
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.
@viathor Made these changes in the latest commit :)
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.
I only meant a part of the "if inputting" line since there is an overall line length limit (and in any case we should stick to the rough right text boundary of the surrounding text). I'm approving this PR, but note that you will need to take care of this before the merge since at the moment the line-too-long issue makes the formatter and linter checks go red.
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.
Thanks! The last two recent commits resolve this (only 'if inputting' is on the previous line).
Resolves #2603