Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ repos:
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/pycqa/isort
rev: 5.13.2
rev: 6.0.1
hooks:
- id: isort
name: isort (python)
Expand Down
3 changes: 2 additions & 1 deletion docs/digital/examples/ghz.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,10 @@
# %%
import math

from bloqade import qasm2
from kirin.dialects import ilist

from bloqade import qasm2

# %% [markdown]
# ## Simple Linear Depth Implementation of a GHZ State Preparation Circuit
#
Expand Down
2 changes: 1 addition & 1 deletion docs/digital/examples/ghz_linear_circuit.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/digital/examples/ghz_log_circuit.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/digital/examples/pauli_exponentiation.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 2 additions & 1 deletion docs/digital/examples/qaoa.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,10 @@

import kirin
import networkx as nx
from bloqade import qasm2
from kirin.dialects import py, ilist

from bloqade import qasm2

pi = math.pi

# %% [markdown]
Expand Down
2 changes: 1 addition & 1 deletion docs/digital/examples/qft.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 2 additions & 1 deletion src/bloqade/analysis/address/analysis.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@
from dataclasses import field

from kirin import ir, interp
from bloqade.types import QubitType
from kirin.analysis import Forward, const
from kirin.analysis.forward import ForwardFrame

from bloqade.types import QubitType

from .lattice import Address


Expand Down
1 change: 1 addition & 0 deletions src/bloqade/analysis/schedule.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
)
from kirin.analysis import Forward, ForwardFrame
from kirin.dialects import func

from bloqade.analysis import address
from bloqade.qasm2.parse.print import Printer

Expand Down
3 changes: 2 additions & 1 deletion src/bloqade/noise/native/_wrappers.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
from typing import Any

from bloqade.noise import native
from kirin.dialects import ilist
from kirin.lowering import wraps

from bloqade.noise import native
from bloqade.qasm2.types import Qubit


Expand Down
1 change: 1 addition & 0 deletions src/bloqade/noise/native/stmts.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from kirin import ir, types
from kirin.decl import info, statement
from kirin.dialects import ilist

from bloqade.qasm2.types import QubitType

from ._dialect import dialect
Expand Down
1 change: 1 addition & 0 deletions src/bloqade/qasm2/dialects/core/address.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from kirin import interp

from bloqade.analysis.address import (
Address,
NotQubit,
Expand Down
1 change: 1 addition & 0 deletions src/bloqade/qasm2/dialects/core/emit.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from kirin import interp

from bloqade.qasm2.parse import ast
from bloqade.qasm2.emit.main import EmitQASM2Main, EmitQASM2Frame

Expand Down
1 change: 1 addition & 0 deletions src/bloqade/qasm2/dialects/core/stmts.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from kirin import ir, types
from kirin.decl import info, statement

from bloqade.qasm2.types import BitType, CRegType, QRegType, QubitType

from ._dialect import dialect
Expand Down
1 change: 1 addition & 0 deletions src/bloqade/qasm2/dialects/core/typeinfer.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from kirin import types, interp
from kirin.analysis import TypeInference
from kirin.dialects import py

from bloqade.qasm2.types import CRegType, QRegType, QubitType

from ._dialect import dialect
Expand Down
3 changes: 2 additions & 1 deletion src/bloqade/qasm2/dialects/expr/emit.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
from typing import Literal

from kirin import interp
from kirin.emit.exceptions import EmitError

from bloqade.qasm2.parse import ast
from bloqade.qasm2.types import QubitType
from kirin.emit.exceptions import EmitError
from bloqade.qasm2.emit.gate import EmitQASM2Gate, EmitQASM2Frame

from . import stmts
Expand Down
1 change: 1 addition & 0 deletions src/bloqade/qasm2/dialects/glob.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from kirin import ir, types, interp
from kirin.decl import info, statement
from kirin.dialects import ilist

from bloqade.qasm2.parse import ast
from bloqade.qasm2.types import QRegType
from bloqade.qasm2.emit.gate import EmitQASM2Gate, EmitQASM2Frame
Expand Down
1 change: 1 addition & 0 deletions src/bloqade/qasm2/dialects/indexing.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
from kirin import ir, types
from kirin.lowering import Result, FromPythonAST, LoweringState
from kirin.exceptions import DialectLoweringError

from bloqade.qasm2.types import BitType, CRegType, QRegType, QubitType
from bloqade.qasm2.dialects import core

Expand Down
1 change: 1 addition & 0 deletions src/bloqade/qasm2/dialects/noise.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from kirin import ir, types
from kirin.decl import info, statement

from bloqade.qasm2.types import QubitType

dialect = ir.Dialect("qasm2.noise")
Expand Down
1 change: 1 addition & 0 deletions src/bloqade/qasm2/dialects/parallel.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
from kirin.decl import info, statement
from kirin.analysis import ForwardFrame
from kirin.dialects import ilist

from bloqade.qasm2.parse import ast
from bloqade.qasm2.types import QubitType
from bloqade.qasm2.emit.gate import EmitQASM2Gate, EmitQASM2Frame
Expand Down
1 change: 1 addition & 0 deletions src/bloqade/qasm2/dialects/uop/emit.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from kirin import interp

from bloqade.qasm2.parse import ast
from bloqade.qasm2.emit.gate import EmitQASM2Gate, EmitQASM2Frame

Expand Down
1 change: 1 addition & 0 deletions src/bloqade/qasm2/dialects/uop/schedule.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from kirin import interp
from kirin.analysis import ForwardFrame

from bloqade.analysis.schedule import DagScheduleAnalysis

from . import stmts
Expand Down
1 change: 1 addition & 0 deletions src/bloqade/qasm2/dialects/uop/stmts.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from kirin import ir
from kirin.decl import info, statement

from bloqade.qasm2.types import QubitType
from bloqade.qasm2.dialects.expr.stmts import PyNum

Expand Down
1 change: 1 addition & 0 deletions src/bloqade/qasm2/emit/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from kirin import ir, idtable
from kirin.emit import EmitABC, EmitError, EmitFrame
from typing_extensions import Self

from bloqade.qasm2.parse import ast

StmtType = TypeVar("StmtType", bound=ast.Node)
Expand Down
3 changes: 2 additions & 1 deletion src/bloqade/qasm2/emit/gate.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
from dataclasses import field, dataclass

from kirin import ir, types, interp
from bloqade.types import QubitType
from kirin.dialects import py, func, ilist
from kirin.ir.dialect import Dialect as Dialect

from bloqade.types import QubitType
from bloqade.qasm2.parse import ast

from .base import EmitError, EmitQASM2Base, EmitQASM2Frame
Expand Down
1 change: 1 addition & 0 deletions src/bloqade/qasm2/emit/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
from kirin import ir, interp
from kirin.dialects import cf, scf, func
from kirin.ir.dialect import Dialect as Dialect

from bloqade.qasm2.parse import ast

from .base import EmitQASM2Base, EmitQASM2Frame
Expand Down
1 change: 1 addition & 0 deletions src/bloqade/qasm2/emit/target.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
from rich.console import Console
from kirin.analysis import CallGraph
from kirin.dialects import ilist

from bloqade.qasm2.parse import ast, pprint
from bloqade.qasm2.passes.fold import QASM2Fold
from bloqade.qasm2.passes.glob import GlobalToParallel
Expand Down
1 change: 1 addition & 0 deletions src/bloqade/qasm2/groups.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from kirin import ir, passes
from kirin.prelude import structural_no_opt
from kirin.dialects import scf, func, ilist, lowering

from bloqade.qasm2.dialects import (
uop,
core,
Expand Down
1 change: 1 addition & 0 deletions src/bloqade/qasm2/parse/lowering.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
from kirin.dialects import cf, func, ilist
from kirin.lowering import LoweringState
from kirin.exceptions import DialectLoweringError

from bloqade.qasm2.types import CRegType, QRegType
from bloqade.qasm2.dialects import uop, core, expr, glob, noise, parallel

Expand Down
1 change: 1 addition & 0 deletions src/bloqade/qasm2/passes/fold.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
from kirin.dialects import scf, ilist
from kirin.ir.method import Method
from kirin.rewrite.abc import RewriteResult

from bloqade.qasm2.dialects import expr


Expand Down
5 changes: 3 additions & 2 deletions src/bloqade/qasm2/passes/glob.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,13 @@

from kirin import ir
from kirin.rewrite import cse, dce, walk, result
from bloqade.analysis import address
from kirin.passes.abc import Pass
from kirin.passes.fold import Fold
from bloqade.qasm2.rewrite import GlobalToUOpRule, GlobalToParallelRule
from kirin.rewrite.fixpoint import Fixpoint

from bloqade.analysis import address
from bloqade.qasm2.rewrite import GlobalToUOpRule, GlobalToParallelRule


class GlobalToUOP(Pass):
"""Pass to convert Global gates into single gates.
Expand Down
5 changes: 3 additions & 2 deletions src/bloqade/qasm2/passes/noise.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

from kirin import ir
from kirin.passes import Pass
from bloqade.noise import native
from kirin.rewrite import (
Walk,
Chain,
Expand All @@ -11,8 +10,10 @@
DeadCodeElimination,
CommonSubexpressionElimination,
)
from bloqade.analysis import address
from kirin.rewrite.result import RewriteResult

from bloqade.noise import native
from bloqade.analysis import address
from bloqade.qasm2.rewrite.heuristic_noise import NoiseRewriteRule


Expand Down
1 change: 1 addition & 0 deletions src/bloqade/qasm2/passes/parallel.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
result,
)
from kirin.analysis import const

from bloqade.analysis import address, schedule
from bloqade.qasm2.rewrite import (
MergePolicyABC,
Expand Down
1 change: 1 addition & 0 deletions src/bloqade/qasm2/passes/py2qasm.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
from kirin.dialects import py, math
from kirin.rewrite.abc import RewriteRule
from kirin.rewrite.result import RewriteResult

from bloqade.qasm2.dialects import core, expr


Expand Down
1 change: 1 addition & 0 deletions src/bloqade/qasm2/passes/qasm2py.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
from kirin.dialects import py, math
from kirin.rewrite.abc import RewriteRule
from kirin.rewrite.result import RewriteResult

from bloqade.qasm2.dialects import core, expr


Expand Down
1 change: 1 addition & 0 deletions src/bloqade/qasm2/rewrite/desugar.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
from kirin.passes import Pass
from kirin.rewrite import abc, walk, result
from kirin.dialects import py

from bloqade.qasm2.dialects import core


Expand Down
3 changes: 2 additions & 1 deletion src/bloqade/qasm2/rewrite/glob.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@
from dataclasses import dataclass

from kirin import ir
from bloqade import qasm2
from kirin.rewrite import abc, result
from kirin.dialects import py, ilist

from bloqade import qasm2
from bloqade.analysis import address
from bloqade.qasm2.dialects import glob

Expand Down
3 changes: 2 additions & 1 deletion src/bloqade/qasm2/rewrite/heuristic_noise.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@
from dataclasses import field, dataclass

from kirin import ir
from bloqade.noise import native
from kirin.rewrite import abc as result_abc, result
from kirin.dialects import py, ilist

from bloqade.noise import native
from bloqade.analysis import address
from bloqade.qasm2.dialects import uop, core, glob, parallel

Expand Down
3 changes: 2 additions & 1 deletion src/bloqade/qasm2/rewrite/native_gates.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,13 @@
from kirin import ir
from kirin.rewrite import abc, result
from kirin.dialects import py
from bloqade.qasm2.dialects import uop, expr
from cirq.circuits.qasm_output import QasmUGate
from cirq.transformers.target_gatesets.compilation_target_gateset import (
CompilationTargetGateset,
)

from bloqade.qasm2.dialects import uop, expr


# rydeberg gate sets
class RydbergTargetGateset(cirq.CZTargetGateset):
Expand Down
1 change: 1 addition & 0 deletions src/bloqade/qasm2/rewrite/parallel_to_uop.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

from kirin import ir
from kirin.rewrite import abc, result

from bloqade.analysis import address
from bloqade.qasm2.dialects import uop, parallel

Expand Down
1 change: 1 addition & 0 deletions src/bloqade/qasm2/rewrite/register.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from kirin import ir
from kirin.dialects import py
from kirin.rewrite.abc import RewriteRule, RewriteResult

from bloqade.qasm2.dialects import core


Expand Down
3 changes: 2 additions & 1 deletion src/bloqade/qasm2/rewrite/uop_to_parallel.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@
from kirin import ir
from kirin.rewrite import abc as rewrite_abc
from kirin.dialects import py, ilist
from bloqade.analysis import address
from kirin.analysis.const import lattice

from bloqade.analysis import address
from bloqade.qasm2.dialects import uop, core, parallel
from bloqade.analysis.schedule import StmtDag

Expand Down
1 change: 1 addition & 0 deletions src/bloqade/qasm2/types.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from kirin import types

from bloqade.types import Qubit as Qubit, QubitType as QubitType


Expand Down
Loading
Loading