Skip to content

Commit fd73593

Browse files
authored
Change asserts in qsimcirq/qsim_simulator.py to raise errors instead (#1036)
Replace assert statements in qsimcirq/qsim_simulator.py with explicit if checks that raise TypeError and ValueError. This ensures that validation of qsim_state dtype and ndim is always performed, even when Python optimizations are enabled.
1 parent 11e5942 commit fd73593

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

qsimcirq/qsim_simulator.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -525,8 +525,10 @@ def _simulate_impl(
525525
qsim_state = fullstate_simulator_fn(options, initial_state)
526526
elif isinstance(initial_state, np.ndarray):
527527
qsim_state = fullstate_simulator_fn(options, input_vector)
528-
assert qsim_state.dtype == np.float32
529-
assert qsim_state.ndim == 1
528+
if qsim_state.dtype != np.float32:
529+
raise TypeError("qsim_state must have dtype np.float32.")
530+
if qsim_state.ndim != 1:
531+
raise ValueError("qsim_state must be a 1D array.")
530532

531533
yield prs, qsim_state.view(np.complex64), cirq_order
532534

0 commit comments

Comments
 (0)