measure() and if_test() reject NumPy integers

Fechada Para iniciantes
#7 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
78/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
numpy, python, rust
Domínio
backend

Direção de pesquisa

Comece em python/qsengine/__init__.py e examine as verificações de inteiros em measure() e if_test(); compare-as com os métodos de gate que já aceitam inteiros do NumPy. Execute os testes pertinentes e, em seguida, adicione cobertura para entradas de inteiros do NumPy e sequências não inteiras. O trabalho estará concluído quando ambos os métodos aceitarem valores do tipo inteiro e continuarem tratando as sequências corretamente.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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

Linguagem predominante
Rust
Estrelas
1
Forks
0
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de kaiwave/qsengine

Todas as issues de kaiwave/qsengine

Issues semelhantes

Mais issues de Rust

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.