If you wrap the final value in _handle_readout_bug below, the test will pass.
def _handle_readout_bug(final_value: int):
if final_value < 0:
# somewhere up the stack, values are being interpreted as signed-magnitude.
# Here we correct that by flipping the bits and adding 1 to get the correct
# two's complement value.
return (final_value ^ (2**47 - 1)) + 1
return final_value
Info:
$ poetry run python --version
Python 3.9.19
$ poetry show pyquil
name : pyquil
version : 4.9.2
description : A Python library for creating Quantum Instruction Language (Quil) programs.
$ poetry show qcs-sdk-python
name : qcs-sdk-python
version : 0.17.6
description : Python interface for the QCS Rust SDK
The following test fails:
Output:
If you wrap the final value in
_handle_readout_bug
below, the test will pass.Info: