measure() and if_test() reject NumPy integers

Geschlossen Anfängerfreundlich
#7 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
78/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
numpy, python, rust
Bereich
backend

Rechercherichtung

Beginne in python/qsengine/__init__.py und untersuche die Prüfungen auf Ganzzahlen in measure() und if_test(); vergleiche sie mit den Gate-Methoden, die NumPy-Ganzzahlen bereits akzeptieren. Führe die relevanten Tests aus und ergänze dann Testabdeckung für NumPy-Ganzzahlen und Sequenzen, die keine Ganzzahlen enthalten. Die Aufgabe ist abgeschlossen, wenn beide Methoden ganzzahlige Werte akzeptieren und Sequenzen weiterhin korrekt verarbeiten.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

bug good first issue
Code that shows the problem
q = np.arange(3)[0]          # numpy.int64
qc.measure(q, 0)             # TypeError: 'numpy.int64' object is not iterable
with qc.if_test(np.int64(1), 1): ...   # same error
What you expected, and what happened instead

Gate methods accept NumPy integers, but these two don't, because they check
isinstance(x, int), which is False for numpy.int64 (python/qsengine/__init__.py).

Use operator.index(x) (or check for numbers.Integral) to accept anything integer-like, and
treat everything else as a sequence.

qsengine version

1.1.0

Operating system, Python version and GPU

Windows 10, Python 3.14.7

Backend

None

Vorherrschende Sprache
Rust
Sterne
1
Forks
0
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus kaiwave/qsengine

Alle Issues in kaiwave/qsengine

Ähnliche Issues

Weitere Issues zu Rust

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.