diff --git a/pulse_lib/acquisition/measurement_converter.py b/pulse_lib/acquisition/measurement_converter.py index 3d2b34e82ddb07fbc16832a220b1d400faac1c1b..51c176bf0334e70c9d1731ecffcd207c95ef7bbe 100644 --- a/pulse_lib/acquisition/measurement_converter.py +++ b/pulse_lib/acquisition/measurement_converter.py @@ -316,7 +316,7 @@ class MeasurementConverter: continue result = self._raw[i] > m.threshold if m.zero_on_high: - result = ~result + result = result ^ 1 result = result.astype(int) elif isinstance(m, measurement_expression): result = m.expression.evaluate(last_result) diff --git a/pulse_lib/segments/utility/measurement_converter.py b/pulse_lib/segments/utility/measurement_converter.py index 164717e3ed2b3626d5ceeadfd0527ba4f37b5fe0..7d37f9740f0c10a659034a8a66d217446d3e61e3 100644 --- a/pulse_lib/segments/utility/measurement_converter.py +++ b/pulse_lib/segments/utility/measurement_converter.py @@ -201,7 +201,8 @@ class measurement_converter: channel_name = m.acquisition_channel result = self._channel_raw[channel_name][m.index] > m.threshold if m.zero_on_high: - result = not result + # flip bit 0 + result = result ^ 1 result = result.astype(int) elif isinstance(m, measurement_expression): result = m.expression.evaluate(last_result)