classiq 0.77.0__py3-none-any.whl → 0.78.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- classiq/applications/iqae/__init__.py +0 -0
- classiq/applications/iqae/iqae.py +207 -0
- classiq/execution/__init__.py +1 -1
- classiq/interface/_version.py +1 -1
- classiq/interface/applications/iqae/__init__.py +0 -0
- classiq/interface/applications/iqae/generic_iqae.py +222 -0
- classiq/interface/applications/iqae/iqae_result.py +45 -0
- classiq/interface/debug_info/debug_info.py +3 -0
- classiq/interface/executor/execution_result.py +1 -1
- classiq/interface/executor/user_budget.py +1 -1
- classiq/interface/generator/expressions/proxies/classical/any_classical_value.py +9 -3
- classiq/interface/generator/generated_circuit_data.py +18 -7
- classiq/interface/ide/visual_model.py +2 -0
- classiq/model_expansions/closure.py +1 -58
- classiq/model_expansions/evaluators/argument_types.py +1 -2
- classiq/model_expansions/function_builder.py +0 -45
- classiq/model_expansions/interpreters/base_interpreter.py +12 -14
- classiq/model_expansions/interpreters/frontend_generative_interpreter.py +0 -17
- classiq/model_expansions/quantum_operations/call_emitter.py +71 -32
- classiq/model_expansions/quantum_operations/emitter.py +6 -1
- classiq/model_expansions/quantum_operations/function_calls_cache.py +84 -0
- classiq/model_expansions/scope.py +20 -10
- classiq/model_expansions/transformers/type_qualifier_inference.py +183 -0
- classiq/model_expansions/utils/text_utils.py +4 -2
- classiq/model_expansions/visitors/symbolic_param_inference.py +1 -12
- classiq/qmod/builtins/classical_execution_primitives.py +1 -1
- classiq/qmod/qmod_variable.py +7 -4
- classiq/qmod/utilities.py +4 -0
- {classiq-0.77.0.dist-info → classiq-0.78.0.dist-info}/METADATA +1 -1
- {classiq-0.77.0.dist-info → classiq-0.78.0.dist-info}/RECORD +31 -25
- classiq/interface/executor/iqae_result.py +0 -17
- {classiq-0.77.0.dist-info → classiq-0.78.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,183 @@
|
|
1
|
+
import ast
|
2
|
+
import functools
|
3
|
+
import itertools
|
4
|
+
from collections.abc import Collection, Iterator, Sequence
|
5
|
+
from contextlib import contextmanager
|
6
|
+
|
7
|
+
from classiq.interface.exceptions import ClassiqInternalExpansionError
|
8
|
+
from classiq.interface.generator.functions.type_qualifier import TypeQualifier
|
9
|
+
from classiq.interface.model.allocate import Allocate
|
10
|
+
from classiq.interface.model.bind_operation import BindOperation
|
11
|
+
from classiq.interface.model.control import Control
|
12
|
+
from classiq.interface.model.invert import Invert
|
13
|
+
from classiq.interface.model.model_visitor import ModelVisitor
|
14
|
+
from classiq.interface.model.phase_operation import PhaseOperation
|
15
|
+
from classiq.interface.model.port_declaration import PortDeclaration
|
16
|
+
from classiq.interface.model.power import Power
|
17
|
+
from classiq.interface.model.quantum_expressions.amplitude_loading_operation import (
|
18
|
+
AmplitudeLoadingOperation,
|
19
|
+
)
|
20
|
+
from classiq.interface.model.quantum_expressions.arithmetic_operation import (
|
21
|
+
ArithmeticOperation,
|
22
|
+
)
|
23
|
+
from classiq.interface.model.quantum_expressions.quantum_expression import (
|
24
|
+
QuantumExpressionOperation,
|
25
|
+
)
|
26
|
+
from classiq.interface.model.quantum_function_call import QuantumFunctionCall
|
27
|
+
from classiq.interface.model.quantum_statement import QuantumStatement
|
28
|
+
from classiq.interface.model.within_apply_operation import WithinApply
|
29
|
+
|
30
|
+
from classiq.model_expansions.visitors.variable_references import VarRefCollector
|
31
|
+
|
32
|
+
|
33
|
+
class TypeQualifierInference(ModelVisitor):
|
34
|
+
"""
|
35
|
+
This class assumes that function calls are topologically sorted, so it traverses
|
36
|
+
the list of function calls and infers the type qualifiers for each function call
|
37
|
+
without going recursively into the function calls.
|
38
|
+
The function definition ports are modified inplace.
|
39
|
+
"""
|
40
|
+
|
41
|
+
def __init__(self, support_unused_ports: bool = True) -> None:
|
42
|
+
self._signature_ports: dict[str, PortDeclaration] = dict()
|
43
|
+
self._inferred_ports: dict[str, PortDeclaration] = dict()
|
44
|
+
self._support_unused_ports = (
|
45
|
+
support_unused_ports # could be turned off for debugging
|
46
|
+
)
|
47
|
+
|
48
|
+
@contextmanager
|
49
|
+
def infer_ports(self, ports: Collection[PortDeclaration]) -> Iterator[bool]:
|
50
|
+
for port in ports:
|
51
|
+
if port.type_qualifier is TypeQualifier.Inferred:
|
52
|
+
self._inferred_ports[port.name] = port
|
53
|
+
else:
|
54
|
+
self._signature_ports[port.name] = port
|
55
|
+
|
56
|
+
yield len(self._inferred_ports) > 0
|
57
|
+
|
58
|
+
self._set_unused_as_const()
|
59
|
+
self._signature_ports.clear()
|
60
|
+
self._inferred_ports.clear()
|
61
|
+
|
62
|
+
def _set_unused_as_const(self) -> None:
|
63
|
+
unresolved_ports = [
|
64
|
+
port
|
65
|
+
for port in self._inferred_ports.values()
|
66
|
+
if port.type_qualifier is TypeQualifier.Inferred
|
67
|
+
]
|
68
|
+
if not self._support_unused_ports and len(unresolved_ports) > 0:
|
69
|
+
raise ClassiqInternalExpansionError(
|
70
|
+
f"Unresolved inferred ports detected: {', '.join(port.name for port in unresolved_ports)}. "
|
71
|
+
"All ports must have their type qualifiers resolved."
|
72
|
+
)
|
73
|
+
for port in unresolved_ports:
|
74
|
+
port.type_qualifier = TypeQualifier.Const
|
75
|
+
|
76
|
+
def _reduce_qualifier(self, candidate: str, qualifier: TypeQualifier) -> None:
|
77
|
+
if candidate in self._inferred_ports:
|
78
|
+
self._inferred_ports[candidate].type_qualifier = TypeQualifier.and_(
|
79
|
+
self._inferred_ports[candidate].type_qualifier, qualifier
|
80
|
+
)
|
81
|
+
|
82
|
+
def run(
|
83
|
+
self, ports: Collection[PortDeclaration], body: Sequence[QuantumStatement]
|
84
|
+
) -> None:
|
85
|
+
with self.infer_ports(ports) as should_infer:
|
86
|
+
if should_infer:
|
87
|
+
self.visit(body)
|
88
|
+
|
89
|
+
def visit_QuantumFunctionCall(self, call: QuantumFunctionCall) -> None:
|
90
|
+
for handle, port in call.handles_with_params:
|
91
|
+
self._reduce_qualifier(handle.name, port.type_qualifier)
|
92
|
+
|
93
|
+
def visit_Allocate(self, alloc: Allocate) -> None:
|
94
|
+
self._reduce_qualifier(alloc.target.name, TypeQualifier.QFree)
|
95
|
+
|
96
|
+
def visit_BindOperation(self, bind_op: BindOperation) -> None:
|
97
|
+
reduced_qualifier = self._get_reduced_qualifier(bind_op)
|
98
|
+
for handle in itertools.chain(bind_op.in_handles, bind_op.out_handles):
|
99
|
+
self._reduce_qualifier(handle.name, reduced_qualifier)
|
100
|
+
|
101
|
+
def _get_reduced_qualifier(self, bind_op: BindOperation) -> TypeQualifier:
|
102
|
+
handles = itertools.chain(bind_op.in_handles, bind_op.out_handles)
|
103
|
+
op_vars = {handle.name for handle in handles}
|
104
|
+
|
105
|
+
signature_ports = {
|
106
|
+
name: self._signature_ports[name]
|
107
|
+
for name in op_vars.intersection(self._signature_ports)
|
108
|
+
}
|
109
|
+
known_inferred_ports = {
|
110
|
+
name: self._inferred_ports[name]
|
111
|
+
for name in op_vars.intersection(self._inferred_ports)
|
112
|
+
if self._inferred_ports[name].type_qualifier is not TypeQualifier.Inferred
|
113
|
+
}
|
114
|
+
min_qualifier = self._get_min_qualifier(known_inferred_ports, signature_ports)
|
115
|
+
if not all(
|
116
|
+
port.type_qualifier is min_qualifier for port in signature_ports.values()
|
117
|
+
):
|
118
|
+
raise ClassiqInternalExpansionError(
|
119
|
+
f"Bind operation {bind_op} has inconsistent type qualifiers: "
|
120
|
+
f"{signature_ports}, {known_inferred_ports}"
|
121
|
+
)
|
122
|
+
|
123
|
+
return min_qualifier
|
124
|
+
|
125
|
+
@staticmethod
|
126
|
+
def _get_min_qualifier(
|
127
|
+
known_inferred_ports: dict[str, PortDeclaration],
|
128
|
+
signature_ports: dict[str, PortDeclaration],
|
129
|
+
) -> TypeQualifier:
|
130
|
+
known_ports = tuple(
|
131
|
+
itertools.chain(signature_ports.values(), known_inferred_ports.values())
|
132
|
+
)
|
133
|
+
if len(known_ports) == 0:
|
134
|
+
return TypeQualifier.Quantum
|
135
|
+
elif len(known_ports) == 1:
|
136
|
+
return known_ports[0].type_qualifier
|
137
|
+
else:
|
138
|
+
return functools.reduce(
|
139
|
+
TypeQualifier.and_, (port.type_qualifier for port in known_ports)
|
140
|
+
)
|
141
|
+
|
142
|
+
@staticmethod
|
143
|
+
def _extract_expr_vars(expr_op: QuantumExpressionOperation) -> list[str]:
|
144
|
+
vrc = VarRefCollector(
|
145
|
+
ignore_duplicated_handles=True, ignore_sympy_symbols=True, unevaluated=True
|
146
|
+
)
|
147
|
+
vrc.visit(ast.parse(expr_op.expression.expr))
|
148
|
+
return [handle.name for handle in vrc.var_handles]
|
149
|
+
|
150
|
+
def visit_ArithmeticOperation(self, arith: ArithmeticOperation) -> None:
|
151
|
+
result_var = arith.result_var.name
|
152
|
+
self._reduce_qualifier(result_var, TypeQualifier.QFree)
|
153
|
+
for expr_var in self._extract_expr_vars(arith):
|
154
|
+
self._reduce_qualifier(expr_var, TypeQualifier.Const)
|
155
|
+
|
156
|
+
def visit_AmplitudeLoadingOperation(
|
157
|
+
self, amp_load: AmplitudeLoadingOperation
|
158
|
+
) -> None:
|
159
|
+
result_var = amp_load.result_var.name
|
160
|
+
self._reduce_qualifier(result_var, TypeQualifier.Quantum)
|
161
|
+
for expr_var in self._extract_expr_vars(amp_load):
|
162
|
+
self._reduce_qualifier(expr_var, TypeQualifier.Const)
|
163
|
+
|
164
|
+
def visit_PhaseOperation(self, phase_op: PhaseOperation) -> None:
|
165
|
+
for expr_var in self._extract_expr_vars(phase_op):
|
166
|
+
self._reduce_qualifier(expr_var, TypeQualifier.Const)
|
167
|
+
|
168
|
+
def visit_Control(self, control: Control) -> None:
|
169
|
+
for control_var in self._extract_expr_vars(control):
|
170
|
+
self._reduce_qualifier(control_var, TypeQualifier.Const)
|
171
|
+
self.visit(control.body)
|
172
|
+
if control.else_block is not None:
|
173
|
+
self.visit(control.else_block)
|
174
|
+
|
175
|
+
def visit_Invert(self, invert: Invert) -> None:
|
176
|
+
self.visit(invert.body)
|
177
|
+
|
178
|
+
def visit_Power(self, power: Power) -> None:
|
179
|
+
self.visit(power.body)
|
180
|
+
|
181
|
+
def visit_WithinApply(self, within_apply: WithinApply) -> None:
|
182
|
+
self.visit(within_apply.compute)
|
183
|
+
self.visit(within_apply.action)
|
@@ -10,7 +10,9 @@ def they(items: list) -> str:
|
|
10
10
|
return "it" if len(items) == 1 else "they"
|
11
11
|
|
12
12
|
|
13
|
-
def readable_list(items: list) -> str:
|
13
|
+
def readable_list(items: list, quote: bool = False) -> str:
|
14
|
+
if quote:
|
15
|
+
items = [repr(str(item)) for item in items]
|
14
16
|
if len(items) == 1:
|
15
17
|
return str(items[0])
|
16
|
-
return f"{', '.join(items[:-1])} and {items[-1]}"
|
18
|
+
return f"{', '.join(items[:-1])}{',' if len(items) > 2 else ''} and {items[-1]}"
|
@@ -73,7 +73,6 @@ class SymbolicParamInference(ModelVisitor):
|
|
73
73
|
else nameables_to_dict(additional_signatures)
|
74
74
|
)
|
75
75
|
self._inferred_funcs: set[str] = set()
|
76
|
-
self._call_stack: list[str] = []
|
77
76
|
self._scope: Mapping[str, ClassicalType] = {}
|
78
77
|
self._scope_operands: dict[str, QuantumOperandDeclaration] = {}
|
79
78
|
|
@@ -81,9 +80,6 @@ class SymbolicParamInference(ModelVisitor):
|
|
81
80
|
for func in self._functions.values():
|
82
81
|
self._infer_func_params(func)
|
83
82
|
|
84
|
-
def _is_recursive_call(self, func: str) -> bool:
|
85
|
-
return func in self._call_stack
|
86
|
-
|
87
83
|
@contextmanager
|
88
84
|
def function_context(
|
89
85
|
self,
|
@@ -91,8 +87,6 @@ class SymbolicParamInference(ModelVisitor):
|
|
91
87
|
scope: Mapping[str, ClassicalType],
|
92
88
|
scope_operands: dict[str, QuantumOperandDeclaration],
|
93
89
|
) -> Iterator[None]:
|
94
|
-
if func_name is not None:
|
95
|
-
self._call_stack.append(func_name)
|
96
90
|
prev_scope = self._scope
|
97
91
|
self._scope = scope
|
98
92
|
prev_scope_ops = self._scope_operands
|
@@ -100,12 +94,11 @@ class SymbolicParamInference(ModelVisitor):
|
|
100
94
|
yield
|
101
95
|
self._scope = prev_scope
|
102
96
|
self._scope_operands = prev_scope_ops
|
103
|
-
if func_name is not None:
|
104
|
-
self._call_stack.pop()
|
105
97
|
|
106
98
|
def _infer_func_params(self, func: NativeFunctionDefinition) -> None:
|
107
99
|
if func.name in self._inferred_funcs:
|
108
100
|
return
|
101
|
+
self._inferred_funcs.add(func.name)
|
109
102
|
scope = {param.name: param.classical_type for param in func.param_decls}
|
110
103
|
scope_operands = func.operand_declarations_dict
|
111
104
|
with self.function_context(func.name, scope, scope_operands):
|
@@ -114,7 +107,6 @@ class SymbolicParamInference(ModelVisitor):
|
|
114
107
|
self._process_compile_time_expression(expr.expr)
|
115
108
|
self._set_enums_generative(func)
|
116
109
|
self.visit(func.body)
|
117
|
-
self._inferred_funcs.add(func.name)
|
118
110
|
|
119
111
|
def _set_enums_generative(self, decl: AnonQuantumFunctionDeclaration) -> None:
|
120
112
|
for param in decl.positional_arg_declarations:
|
@@ -144,9 +136,6 @@ class SymbolicParamInference(ModelVisitor):
|
|
144
136
|
|
145
137
|
def visit_QuantumFunctionCall(self, call: QuantumFunctionCall) -> None:
|
146
138
|
self._process_compile_time_expressions(call.function)
|
147
|
-
name = call.func_name
|
148
|
-
if self._is_recursive_call(name):
|
149
|
-
return # Recursion is not fully supported
|
150
139
|
params = self._get_params(call)
|
151
140
|
for param, arg in zip_longest(params, call.positional_args):
|
152
141
|
if (
|
@@ -1,8 +1,8 @@
|
|
1
1
|
from typing import Final, Optional, Union
|
2
2
|
|
3
|
+
from classiq.interface.applications.iqae.iqae_result import IQAEResult
|
3
4
|
from classiq.interface.exceptions import ClassiqError
|
4
5
|
from classiq.interface.executor.execution_preferences import QaeWithQpeEstimationMethod
|
5
|
-
from classiq.interface.executor.iqae_result import IQAEResult
|
6
6
|
from classiq.interface.executor.result import (
|
7
7
|
EstimationResult,
|
8
8
|
EstimationResults,
|
classiq/qmod/qmod_variable.py
CHANGED
@@ -103,6 +103,9 @@ def _infer_variable_name(name: Any, depth: int) -> Any:
|
|
103
103
|
return name
|
104
104
|
|
105
105
|
|
106
|
+
_SYMBOLIC_TYPES = tuple(get_origin(t) or t for t in get_args(SymbolicTypes))
|
107
|
+
|
108
|
+
|
106
109
|
class QVar(Symbolic):
|
107
110
|
CONSTRUCTOR_DEPTH: int = 1
|
108
111
|
|
@@ -218,7 +221,7 @@ class QScalar(QVar, SymbolicExpr):
|
|
218
221
|
)
|
219
222
|
|
220
223
|
def __ior__(self, other: Any) -> Self:
|
221
|
-
if not isinstance(other,
|
224
|
+
if not isinstance(other, _SYMBOLIC_TYPES):
|
222
225
|
raise TypeError(
|
223
226
|
f"Invalid argument {other!r} for out-of-place arithmetic operation"
|
224
227
|
)
|
@@ -229,7 +232,7 @@ class QScalar(QVar, SymbolicExpr):
|
|
229
232
|
return self
|
230
233
|
|
231
234
|
def __ixor__(self, other: Any) -> Self:
|
232
|
-
if not isinstance(other,
|
235
|
+
if not isinstance(other, _SYMBOLIC_TYPES):
|
233
236
|
raise TypeError(
|
234
237
|
f"Invalid argument {other!r} for in-place arithmetic operation"
|
235
238
|
)
|
@@ -240,7 +243,7 @@ class QScalar(QVar, SymbolicExpr):
|
|
240
243
|
return self
|
241
244
|
|
242
245
|
def __iadd__(self, other: Any) -> Self:
|
243
|
-
if not isinstance(other,
|
246
|
+
if not isinstance(other, _SYMBOLIC_TYPES):
|
244
247
|
raise TypeError(
|
245
248
|
f"Invalid argument {other!r} for in-place arithmetic operation"
|
246
249
|
)
|
@@ -251,7 +254,7 @@ class QScalar(QVar, SymbolicExpr):
|
|
251
254
|
return self
|
252
255
|
|
253
256
|
def __imul__(self, other: Any) -> Self:
|
254
|
-
if not isinstance(other,
|
257
|
+
if not isinstance(other, _SYMBOLIC_TYPES):
|
255
258
|
raise TypeError(
|
256
259
|
f"Invalid argument {other!r} for out of ampltiude encoding operation"
|
257
260
|
)
|
classiq/qmod/utilities.py
CHANGED
@@ -20,6 +20,7 @@ from typing import (
|
|
20
20
|
overload,
|
21
21
|
)
|
22
22
|
|
23
|
+
import sympy
|
23
24
|
from typing_extensions import ParamSpec
|
24
25
|
|
25
26
|
from classiq.interface.generator.expressions.proxies.classical.qmod_struct_instance import (
|
@@ -101,6 +102,9 @@ def get_source_ref(frame: FrameType) -> SourceReference:
|
|
101
102
|
|
102
103
|
|
103
104
|
def qmod_val_to_expr_str(val: Any) -> str:
|
105
|
+
if isinstance(val, sympy.Basic):
|
106
|
+
return str(val)
|
107
|
+
|
104
108
|
if dataclasses.is_dataclass(type(val)):
|
105
109
|
kwargs_str = ", ".join(
|
106
110
|
[
|
@@ -63,6 +63,8 @@ classiq/applications/combinatorial_optimization/examples/__init__.py,sha256=A0-j
|
|
63
63
|
classiq/applications/finance/__init__.py,sha256=t3HcLC2xqNtcRhYW6GAtfxPIeFceFDAmN7pjD4h-vAQ,260
|
64
64
|
classiq/applications/hamiltonian/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
65
65
|
classiq/applications/hamiltonian/pauli_decomposition.py,sha256=2yBve2bpPMKo5KcYk8Pe67-oU30O78K3wzeJPg1R1GY,3968
|
66
|
+
classiq/applications/iqae/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
67
|
+
classiq/applications/iqae/iqae.py,sha256=Shp0s1zGqjk120vcXZh-KB_vj6IBkU7n6qPi_05cK84,7346
|
66
68
|
classiq/applications/qnn/__init__.py,sha256=_DQQo81JQ-LR0VY2AooqpRMj9ej9ubZfVl6ESoBPoqE,433
|
67
69
|
classiq/applications/qnn/circuit_utils.py,sha256=QWRYnHhDgbFuEQIUYhFfShNFGgbsIB-ZcLkubztLsZQ,4345
|
68
70
|
classiq/applications/qnn/datasets/__init__.py,sha256=HRQHIXGZOYqa4tIwUR3o31GiWVCtJOGW2xGV-gKAqUo,812
|
@@ -81,7 +83,7 @@ classiq/applications/qnn/types.py,sha256=mDElTam102OolLt1KWrVHZPW_9jNTUyhohJLEN-
|
|
81
83
|
classiq/applications/qsvm/__init__.py,sha256=ctM9hllKY9zuc3Ps8YgLBrDXgPInJNwJ3nVpTurs8MY,191
|
82
84
|
classiq/applications/qsvm/qsvm.py,sha256=vuc7TDHcxN9VvPRDufRmXcIVHkCpzjz2QuY48WJN6Is,177
|
83
85
|
classiq/applications/qsvm/qsvm_data_generation.py,sha256=BIXBAxYNAvwZi1pVQJeSPTa5b5CTRaejuAlBgyy3d9E,1604
|
84
|
-
classiq/execution/__init__.py,sha256=
|
86
|
+
classiq/execution/__init__.py,sha256=2rC4VBnX4oPAqOCWeIlTOmkwcy7UHG4PfYrW1qhzFPE,1279
|
85
87
|
classiq/execution/all_hardware_devices.py,sha256=KpLefEISE03FDdgFPGggXeG7NAxBW4090gN4272Dl-E,368
|
86
88
|
classiq/execution/execution_session.py,sha256=8a9I7h87Cpa6WfddQcK5uCyQm3_Z9grfe1yyO-Gsrec,16536
|
87
89
|
classiq/execution/iqcc.py,sha256=fG92ZwgZl_tAih0vndZpIKksVCQuLTk5pJy2X4LRkxA,4298
|
@@ -90,12 +92,15 @@ classiq/execution/qnn.py,sha256=BjwJw0LXr_I_eeZuXrFTpNVcs6pFBCvzsys8ZraRZZg,2373
|
|
90
92
|
classiq/execution/user_budgets.py,sha256=FY21S7fh6KwBFw5YcZhzWzIktIMifMOLc-fO772EmxE,1184
|
91
93
|
classiq/executor.py,sha256=uLr1640-DZtdPP0T6fCsmUf1Jj7QPumyoE09mJ8lVo0,2308
|
92
94
|
classiq/interface/__init__.py,sha256=cg7hD_XVu1_jJ1fgwmT0rMIoZHopNVeB8xtlmMx-E_A,83
|
93
|
-
classiq/interface/_version.py,sha256=
|
95
|
+
classiq/interface/_version.py,sha256=7b0-sxTat2hycP0f6hJtGISfdQDM0BEDAI7Jzel9jbo,197
|
94
96
|
classiq/interface/analyzer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
95
97
|
classiq/interface/analyzer/analysis_params.py,sha256=dM5rwSks798cxk4FWe4_X5ToRYtgZQh34F1u0XrFkK8,3881
|
96
98
|
classiq/interface/analyzer/cytoscape_graph.py,sha256=MpeRBIYS1TfwYwiFpgTO51IE0KoxhY510pmEM3S0rbw,2361
|
97
99
|
classiq/interface/analyzer/result.py,sha256=CJhZ7Q_VUCyKS1ivtyD9l9534efjEUY6C6Wwrb3kXak,5872
|
98
100
|
classiq/interface/applications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
101
|
+
classiq/interface/applications/iqae/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
102
|
+
classiq/interface/applications/iqae/generic_iqae.py,sha256=IdbdB3vJ6kUe2exSaHuSf-DtVZ_O9W_nQ3Oz0CAzR7I,8227
|
103
|
+
classiq/interface/applications/iqae/iqae_result.py,sha256=S13A_mQKRTBaqO2NKJEJlgLl06I2Fz_C6F_4Xlp4fzQ,1770
|
99
104
|
classiq/interface/applications/qsvm.py,sha256=4dHVSZH--sv58SvxmpDHPh9JDr4qQUZbbGCeaEv6b1I,3408
|
100
105
|
classiq/interface/ast_node.py,sha256=-X3lke3c2Wm0fGDupj0g4cGfuRmLv4hA4EjLsJ1dHqE,941
|
101
106
|
classiq/interface/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -138,7 +143,7 @@ classiq/interface/combinatorial_optimization/solver_types.py,sha256=kcLt80fQucq_
|
|
138
143
|
classiq/interface/compression_utils.py,sha256=rX4sD4_8C-liWqBICuE6VaT38yjUK_FneSA5GUmPF2A,973
|
139
144
|
classiq/interface/debug_info/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
140
145
|
classiq/interface/debug_info/back_ref_util.py,sha256=plWBiBMfFIY6aYAR3NVYComsY394ysLVdk_yFy1qcC4,791
|
141
|
-
classiq/interface/debug_info/debug_info.py,sha256=
|
146
|
+
classiq/interface/debug_info/debug_info.py,sha256=mX-P1k-YAyDBZ8xMuKPBauzoMFGSxPYfL_LQ3kju-zE,4753
|
142
147
|
classiq/interface/enum_utils.py,sha256=QxkxLGgON8vdSzLZzHFlPEBJoGOqoIwpESEfLfRqN0w,312
|
143
148
|
classiq/interface/exceptions.py,sha256=fXl3esnLP03zds09BLxIJSN4aIwx2PVPX0Do8awfLjg,4418
|
144
149
|
classiq/interface/execution/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -151,14 +156,13 @@ classiq/interface/executor/constants.py,sha256=DtSx-1HArWE0hHjOZHY9WJBevt3hP7M8S
|
|
151
156
|
classiq/interface/executor/estimation.py,sha256=lJEmN3Uj9bW0EY7JEZvzItwEybbBHSn7zYFz89L8fqo,389
|
152
157
|
classiq/interface/executor/execution_preferences.py,sha256=Tnd9yS42Nk28f8Ds78lC-b8ohwwOLvcqwaBVVHw1OPE,2931
|
153
158
|
classiq/interface/executor/execution_request.py,sha256=bf5qEF4eeb2UQ2DIriW-DBTRmPcDYiWs9QsfmzyhYEg,2441
|
154
|
-
classiq/interface/executor/execution_result.py,sha256=
|
155
|
-
classiq/interface/executor/iqae_result.py,sha256=mCjbLTd4vtFOkvEEUfcSp3569wGzQOvFpZO4KKaLnmU,565
|
159
|
+
classiq/interface/executor/execution_result.py,sha256=z_D0KpnxKelnkxg6b1WkTWRbLZI7Dm7Q5juNWWdIZx0,2876
|
156
160
|
classiq/interface/executor/optimizer_preferences.py,sha256=koqBO5YDzO3iBH71a8oe4hK-ib8M1yUPWJbC_m-Nzn4,4427
|
157
161
|
classiq/interface/executor/quantum_code.py,sha256=jA-4hIw5nydv7TcDZ4xPI0YP-FiSa_52SieyYjJkVHI,4258
|
158
162
|
classiq/interface/executor/quantum_instruction_set.py,sha256=z6i6jWsXjatmyrTJW6t9XjQrO6scRgmfV1Oi2xEEu1A,592
|
159
163
|
classiq/interface/executor/register_initialization.py,sha256=-dkivVSDkkLGkIdu0L5VaONhPCRp_JE42LiAZuHUK7k,1365
|
160
164
|
classiq/interface/executor/result.py,sha256=aBpMCHExTCgcx9y8akMv6ZQ2re4cmzdlrTBVSUBgyz4,12249
|
161
|
-
classiq/interface/executor/user_budget.py,sha256=
|
165
|
+
classiq/interface/executor/user_budget.py,sha256=62ANvoQ3txLldIe9lR6bxc6CgOGwWQEhA9I-8B4Qvnc,1775
|
162
166
|
classiq/interface/executor/vqe_result.py,sha256=cH66jBbZVhyU5Ud4WeoC1eKeX15aO60phEXWFrilc4E,2324
|
163
167
|
classiq/interface/finance/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
164
168
|
classiq/interface/finance/finance_modelling_params.py,sha256=dmJscMXugQsBRoFd4HFtrTU8gsuZJ6sS51R4crC-PKE,347
|
@@ -227,7 +231,7 @@ classiq/interface/generator/expressions/handle_identifier.py,sha256=Vf1EsfzkW3tB
|
|
227
231
|
classiq/interface/generator/expressions/non_symbolic_expr.py,sha256=9JzU1y6oYmDjZyZLjDQNA81X3p1Z7CGzweN6WeFAcY8,4036
|
228
232
|
classiq/interface/generator/expressions/proxies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
229
233
|
classiq/interface/generator/expressions/proxies/classical/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
230
|
-
classiq/interface/generator/expressions/proxies/classical/any_classical_value.py,sha256=
|
234
|
+
classiq/interface/generator/expressions/proxies/classical/any_classical_value.py,sha256=J5y_Gz4NvkUfSslcM7beBxgzyncVeUacf_5XkYIejyM,1370
|
231
235
|
classiq/interface/generator/expressions/proxies/classical/classical_array_proxy.py,sha256=6VRR_ghELgvFeF1KCLlyxCFGK490iDaIB5KymIgYJsM,3459
|
232
236
|
classiq/interface/generator/expressions/proxies/classical/classical_proxy.py,sha256=2FQ5d37i2BxzfTG1HrboxhUaYxH6MFKAD-Gw-ojd6Rg,691
|
233
237
|
classiq/interface/generator/expressions/proxies/classical/classical_scalar_proxy.py,sha256=S0ydGd4QN5x3zCqTwkj5-cOBJzjeJo0-C4JEcU3bteg,1059
|
@@ -257,7 +261,7 @@ classiq/interface/generator/functions/port_declaration.py,sha256=ESJE_19jOg_zS1r
|
|
257
261
|
classiq/interface/generator/functions/qmod_python_interface.py,sha256=x8GA4Cr6YyfC6prGXv0A0I9G9GSnLHNito2nfN1GZDI,93
|
258
262
|
classiq/interface/generator/functions/type_name.py,sha256=HBUN_GBRb8Qy2Q7C68oJJ92UelcxoeuWGrJ_l80rXCQ,5351
|
259
263
|
classiq/interface/generator/functions/type_qualifier.py,sha256=I_G_W3oHLGLj-aavtKRAdObb4V37ESGLSwXMs-S9xuQ,892
|
260
|
-
classiq/interface/generator/generated_circuit_data.py,sha256=
|
264
|
+
classiq/interface/generator/generated_circuit_data.py,sha256=9FRNF_qqYhPJYDagItBu4Fwl4RDLRasVHp8WcD6O3kw,13565
|
261
265
|
classiq/interface/generator/grover_diffuser.py,sha256=c52p2_hpjBO0qUDsqFMQ_xffBIDPJlrfz3kIy2Mh2Gk,3750
|
262
266
|
classiq/interface/generator/grover_operator.py,sha256=_VzBJ3qO0O0MJzsHf8LF7_ooXnsz1p_I5rjQQFf1Ptg,4119
|
263
267
|
classiq/interface/generator/hadamard_transform.py,sha256=NI4oZBpDCGfaw2OTb5SL3iSGI_nDtyUgElTCO4pEKnk,673
|
@@ -356,7 +360,7 @@ classiq/interface/helpers/validation_helpers.py,sha256=Jt0xs5EZeEQZOBEZPRmKctHmA
|
|
356
360
|
classiq/interface/helpers/versioned_model.py,sha256=ttIxi5oRkISFtTlVXU47gcamqE3hWr1YGSkS2ZQ8Y_o,677
|
357
361
|
classiq/interface/ide/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
358
362
|
classiq/interface/ide/ide_data.py,sha256=TtFsBttR7L34DeRx4NaswpdyMqEyAuguEWSvGXfZtZs,2504
|
359
|
-
classiq/interface/ide/visual_model.py,sha256=
|
363
|
+
classiq/interface/ide/visual_model.py,sha256=RLPP3BC__hBiP4oGgVMvTCecM6NH0BI031WexpJor40,3364
|
360
364
|
classiq/interface/interface_version.py,sha256=csY-m7d0lTVBwoAgRdxkF7BShGGlSfQspVK3WF2J8cE,25
|
361
365
|
classiq/interface/jobs.py,sha256=i8hrBR2qtptCbxNI-PVYZedH_EDehOe2i09JbJUlD1g,2339
|
362
366
|
classiq/interface/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -405,11 +409,11 @@ classiq/model_expansions/atomic_expression_functions_defs.py,sha256=DW9zbtmeNWaT
|
|
405
409
|
classiq/model_expansions/capturing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
406
410
|
classiq/model_expansions/capturing/captured_vars.py,sha256=mAFfKhSDYDeyi_O6R_qKqyRHELFtaVPBhDSfcJTr0PU,27547
|
407
411
|
classiq/model_expansions/capturing/mangling_utils.py,sha256=wfCsjP0pScZv9YP6JXq3oVhkS-lCFyUoZ9IROBHS3Ek,1858
|
408
|
-
classiq/model_expansions/closure.py,sha256=
|
412
|
+
classiq/model_expansions/closure.py,sha256=e0jdnKZjKyyIjKLYrVMqdO_7umDKj4hV72gLZL48bHQ,3625
|
409
413
|
classiq/model_expansions/debug_flag.py,sha256=JWzl9FFq2CLcvTg_sh-K8Dp_xXvewsTuFKhPjTCrsrs,107
|
410
414
|
classiq/model_expansions/evaluators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
411
415
|
classiq/model_expansions/evaluators/arg_type_match.py,sha256=vri_cwnCv1E3Tmk2XOXjYvhqKJHU18upxNbkv2d7xBU,6155
|
412
|
-
classiq/model_expansions/evaluators/argument_types.py,sha256=
|
416
|
+
classiq/model_expansions/evaluators/argument_types.py,sha256=pHCLWtc3EV9BaOoPDqwerjK5C3LjKTLPoeR0UQCnbbA,1462
|
413
417
|
classiq/model_expansions/evaluators/classical_expression.py,sha256=BzPhVpgnsZUjp8RiNDdjTo4QXDmrpcwZE32rLwiCT9U,1371
|
414
418
|
classiq/model_expansions/evaluators/classical_type_inference.py,sha256=fUEx0HXU3NK37HxeByxSI0iuYdf1WcdOpWc-9DH-jnM,3013
|
415
419
|
classiq/model_expansions/evaluators/control.py,sha256=rFSP5kuQZfh0OPMuf0OmiDVlX_c0stl2mKX4tnIhAHA,4110
|
@@ -417,11 +421,11 @@ classiq/model_expansions/evaluators/parameter_types.py,sha256=Mvfx3gWAorgu9o8Rad
|
|
417
421
|
classiq/model_expansions/evaluators/quantum_type_utils.py,sha256=s2kqPenO3qaJsiVa1bo5t4cpJ-MZeRqlVvM9TXPtyBI,7729
|
418
422
|
classiq/model_expansions/evaluators/type_type_match.py,sha256=zo4ijsgtPNBbxBW6r3p7emDJr3LJi-P4YoiArpE5TbA,3256
|
419
423
|
classiq/model_expansions/expression_evaluator.py,sha256=zMGmVvBvItaz_rX3XqFLrkDZiDkODa_dIl796rFgr1U,4790
|
420
|
-
classiq/model_expansions/function_builder.py,sha256=
|
424
|
+
classiq/model_expansions/function_builder.py,sha256=oVmXhyEu6wr8Ru8LSxIqxwn9gdDoQ26SAPlNnYWCGMI,8697
|
421
425
|
classiq/model_expansions/generative_functions.py,sha256=CefLLjnR16NGmf3l9Wt7u9jRaJMHRbwcqMrqQ-dBDSo,8075
|
422
426
|
classiq/model_expansions/interpreters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
423
|
-
classiq/model_expansions/interpreters/base_interpreter.py,sha256=
|
424
|
-
classiq/model_expansions/interpreters/frontend_generative_interpreter.py,sha256
|
427
|
+
classiq/model_expansions/interpreters/base_interpreter.py,sha256=8l-52QAK-_DfoIGjDf47tsO1STcY5ltkyjJryf_sU9U,11986
|
428
|
+
classiq/model_expansions/interpreters/frontend_generative_interpreter.py,sha256=-IZ7cs9gZOY93h_lsAiTQ_gnrQc-2rymoyPgaUcTuxk,4283
|
425
429
|
classiq/model_expansions/interpreters/generative_interpreter.py,sha256=83EPG50ffb3qeciloij1OKODl1w2nLSmSkzacmhi6fw,12675
|
426
430
|
classiq/model_expansions/model_tables.py,sha256=dlrOGRS2x4Fd_dzClIcV7V8edmbbQzePv9eqxtJQrpo,620
|
427
431
|
classiq/model_expansions/quantum_operations/__init__.py,sha256=iLROXHuWaYKWPYJHUM_6uRNKa9-I7oDPYn1yqYFpYgM,309
|
@@ -431,16 +435,17 @@ classiq/model_expansions/quantum_operations/arithmetic/explicit_boolean_expressi
|
|
431
435
|
classiq/model_expansions/quantum_operations/assignment_result_processor.py,sha256=UMWZQs9ey5kak7SLuUWfubdwjqYX881hMuxGcP50bTM,10792
|
432
436
|
classiq/model_expansions/quantum_operations/bind.py,sha256=kuP09XoNw61eTBpsB9WO5zFEB09HhBYeftaABHsI3AA,5452
|
433
437
|
classiq/model_expansions/quantum_operations/block_evaluator.py,sha256=06EYOb5CVDUvqYXKk-s-rcoY3rQ2Dr2XWUkqNzT0N0w,4734
|
434
|
-
classiq/model_expansions/quantum_operations/call_emitter.py,sha256=
|
438
|
+
classiq/model_expansions/quantum_operations/call_emitter.py,sha256=AM6NHTKEMAecjk-MoZHNYoB8_ne8WecwSiMG2yR5ikQ,16978
|
435
439
|
classiq/model_expansions/quantum_operations/composite_emitter.py,sha256=AQp3cYaUUA7eEKNwmZwIq1KEdDlTKRaXiop9pXxSVZg,815
|
436
440
|
classiq/model_expansions/quantum_operations/declarative_call_emitter.py,sha256=IHCS_jqmKcFNSyVCj5MYAe86LZKaf1vEAFTYaLAjVIs,3641
|
437
|
-
classiq/model_expansions/quantum_operations/emitter.py,sha256=
|
441
|
+
classiq/model_expansions/quantum_operations/emitter.py,sha256=E2-5curYQ9i83jK3UkKrqX6zxkcuBzd89x91RjiRLXU,9953
|
438
442
|
classiq/model_expansions/quantum_operations/expression_evaluator.py,sha256=X3hzj4SxCz100t06ot8Xvl7oqlccRIl6f_HSa0XM9kc,1579
|
443
|
+
classiq/model_expansions/quantum_operations/function_calls_cache.py,sha256=nEcAmAllBbHacEu6V2IbwjY_IHy5cITRiYcLmzBq0XA,2969
|
439
444
|
classiq/model_expansions/quantum_operations/handle_evaluator.py,sha256=ML3xQ_Z9yNDkf8dncoWQzEr5O8EM6CyVof52QM0Zu1U,1107
|
440
445
|
classiq/model_expansions/quantum_operations/quantum_function_call.py,sha256=A_1wfeUNhVWEmziamCMdCJr3gvjdoNFjY4gvUepLuo4,3481
|
441
446
|
classiq/model_expansions/quantum_operations/repeat_block_evaluator.py,sha256=kV6quFtPq8YFrYqM5JrERxDRYJrjJOBueTvNOu-qAgc,1412
|
442
447
|
classiq/model_expansions/quantum_operations/variable_decleration.py,sha256=y9wcBFKXxcBd-YkAnNSn_1cQr9fuUoJzOtBgUlbDmrs,1672
|
443
|
-
classiq/model_expansions/scope.py,sha256=
|
448
|
+
classiq/model_expansions/scope.py,sha256=uD3mXIv4QuGbYxhnNY_HSEFgKcndsQCodGopMm_vifM,10672
|
444
449
|
classiq/model_expansions/scope_initialization.py,sha256=5WEqxrW1WdHJEsjw3t7gWzhQrbqyj5HhooyGb1uBgDE,5872
|
445
450
|
classiq/model_expansions/sympy_conversion/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
446
451
|
classiq/model_expansions/sympy_conversion/arithmetics.py,sha256=ljvzVBdVm-IkzNuKVZBnvnLDuDgg7ese3sfVzNx2PZk,1524
|
@@ -449,15 +454,16 @@ classiq/model_expansions/sympy_conversion/sympy_to_python.py,sha256=03fkNV_GvsUU
|
|
449
454
|
classiq/model_expansions/transformers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
450
455
|
classiq/model_expansions/transformers/ast_renamer.py,sha256=Ve3ix6u_xbbxqU2SF0Z4F0-4oIhN8lyUPID1O387C-U,806
|
451
456
|
classiq/model_expansions/transformers/model_renamer.py,sha256=eQ1XLcUp4MNtIvKxJgKxg8Qe-ayl7TXRqB9vEX05YUg,5600
|
457
|
+
classiq/model_expansions/transformers/type_qualifier_inference.py,sha256=heDDer7eLnkFLH_XXkFtDJXgy3OjaI64PVeH-FBkAX4,7758
|
452
458
|
classiq/model_expansions/transformers/var_splitter.py,sha256=lojo3zHj4B78g2oJlYfjrnpRdlNbKMtZ5dx9q5HlubM,7871
|
453
459
|
classiq/model_expansions/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
454
460
|
classiq/model_expansions/utils/counted_name_allocator.py,sha256=9LPLBm-4ZrpC_0r1rbogyF11FnLaGCUyzwWpcBJoSmA,297
|
455
461
|
classiq/model_expansions/utils/handles_collector.py,sha256=PG18tyg7x8n8gZYC1MzY8WSPwYCThNNY92VezvKEVCM,1182
|
456
462
|
classiq/model_expansions/utils/sympy_utils.py,sha256=nfmAj2r5NawLlANA5M2IkN3PmQoxNAYYPdaxz79uoEE,682
|
457
|
-
classiq/model_expansions/utils/text_utils.py,sha256=
|
463
|
+
classiq/model_expansions/utils/text_utils.py,sha256=oejtcnOrRzwYpFKPccUnwxRoEuElFkbWlRf0w8f5YVg,491
|
458
464
|
classiq/model_expansions/visitors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
459
465
|
classiq/model_expansions/visitors/boolean_expression_transformers.py,sha256=a8ITXY48uROZFd9MF8tXdXs14Uxh8XbBpuvRXvRehjY,8067
|
460
|
-
classiq/model_expansions/visitors/symbolic_param_inference.py,sha256=
|
466
|
+
classiq/model_expansions/visitors/symbolic_param_inference.py,sha256=ye8ES6g_F6gpgklAp37W-e26OwG3Ik8WNflBxkPTWPk,7699
|
461
467
|
classiq/model_expansions/visitors/variable_references.py,sha256=EL-xSJW7DZ00lA7cGZkFVwGRQSYnS_th6EwIIM1sruk,6817
|
462
468
|
classiq/open_library/__init__.py,sha256=bmg_qqXCXo85hcU7_QCce-qYGrpAVSFNwTKCClsclrg,114
|
463
469
|
classiq/open_library/functions/__init__.py,sha256=Xf4XbgHLZphUO5Qw6v5kIi3_fW77jidivjmoHDa3qe8,3358
|
@@ -480,7 +486,7 @@ classiq/open_library/functions/variational.py,sha256=KYoqPKYRjgUXk_10RvogV0YiCG5
|
|
480
486
|
classiq/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
481
487
|
classiq/qmod/__init__.py,sha256=EdKNMC5UuMGpjnnEBuGWVN1lLDNlJVUsxEsHqbJrGB8,882
|
482
488
|
classiq/qmod/builtins/__init__.py,sha256=pYNdaroGuxuXRPX3oHdwGoF5sCfHSqU9IG3uuenCmT8,1206
|
483
|
-
classiq/qmod/builtins/classical_execution_primitives.py,sha256=
|
489
|
+
classiq/qmod/builtins/classical_execution_primitives.py,sha256=ok1E8ezEkhVM_kJGzoFXxGUJ3IvLaQ-vrCbpGOQBGQQ,3241
|
484
490
|
classiq/qmod/builtins/classical_functions.py,sha256=OglbvAIiL0SiegxVqsvFi-fFz-PfDaT_GYC_z-u5vUw,2256
|
485
491
|
classiq/qmod/builtins/constants.py,sha256=FURSVt0dlIAw_xkGMyj89z4eub7vUdvUrPzaLTGUQxk,222
|
486
492
|
classiq/qmod/builtins/enums.py,sha256=2mjLKd0vthY42r4LhNUMnjEVVYxznDuE1HOIfLRyYmk,3431
|
@@ -516,7 +522,7 @@ classiq/qmod/python_classical_type.py,sha256=tbdgzF8IrkF0Z9BMnBey2uk5khg4yaDAjda
|
|
516
522
|
classiq/qmod/qfunc.py,sha256=islHk7znWoB5kqHLURHFrDEpRvDB3hb6YVaKATHC0Mo,3532
|
517
523
|
classiq/qmod/qmod_constant.py,sha256=U01qRjD8e4tJ83cTeLfD7ndIyXoZu3CrJdlES-iwFAE,5202
|
518
524
|
classiq/qmod/qmod_parameter.py,sha256=3WYO11-F8dmbZKqTokmKxzehLdb-aEPYwyiDcAFbbQ0,4554
|
519
|
-
classiq/qmod/qmod_variable.py,sha256=
|
525
|
+
classiq/qmod/qmod_variable.py,sha256=wK5LrILn6wKfizR9V7rrejCw7PPGRjnl8Bol_hHCQLY,25964
|
520
526
|
classiq/qmod/quantum_callable.py,sha256=RifbkZEmZ4COOHfluPD2jfd-qYSda2ytW173diR3tI4,2501
|
521
527
|
classiq/qmod/quantum_expandable.py,sha256=-uohubbObpg8SVI7e-3wAJso-xgZ0slfAqlOvV1QZ_E,18647
|
522
528
|
classiq/qmod/quantum_function.py,sha256=At5PR0oUwdEx-QVHv3Aul3JGSufJHLiwf_Rv2lW6TFo,13345
|
@@ -540,10 +546,10 @@ classiq/qmod/symbolic.py,sha256=DNjPwoCkDa6uZ8VQ58Ygx47dK89gFcjBjBAY5Gzx8FM,7981
|
|
540
546
|
classiq/qmod/symbolic_expr.py,sha256=RZkqJqaydahlOW4Qcf5Zvj9FrxPpwxT-YCZUonYA-mI,7424
|
541
547
|
classiq/qmod/symbolic_type.py,sha256=ded7bVfWmHFw8MoyivVDJsG5vZZVRQontOZYb1kCrTQ,162
|
542
548
|
classiq/qmod/type_attribute_remover.py,sha256=NZmTXAsngWqthXjE8n-n6yE72fiWTFM12-TXXJ1kJ-Q,1242
|
543
|
-
classiq/qmod/utilities.py,sha256=
|
549
|
+
classiq/qmod/utilities.py,sha256=SV0NO4vLtQEzObSK1isrPjb4355tdUkclM5GGcME__A,5542
|
544
550
|
classiq/qmod/write_qmod.py,sha256=QddTcpXsjLahq3ZATGTIKZW3aj99RtG6MPUHZTKaw38,3508
|
545
551
|
classiq/synthesis.py,sha256=nP8lMJ5FqCuR8tJoOgrytm7lRsKtWbXW6mooDfgJxFI,8650
|
546
552
|
classiq/visualization.py,sha256=q-GepvUJf2-tDqof0isaNwWAlf3W3_1dxvlsak1U0ng,983
|
547
|
-
classiq-0.
|
548
|
-
classiq-0.
|
549
|
-
classiq-0.
|
553
|
+
classiq-0.78.0.dist-info/METADATA,sha256=rR6BcsP9FD-byHIVPlZM_iUDwZTaWJ-o6qvitdrZNeY,3382
|
554
|
+
classiq-0.78.0.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
|
555
|
+
classiq-0.78.0.dist-info/RECORD,,
|
@@ -1,17 +0,0 @@
|
|
1
|
-
from pydantic import BaseModel, Field
|
2
|
-
|
3
|
-
from classiq.interface.executor.result import ExecutionDetails
|
4
|
-
from classiq.interface.generator.functions.classical_type import QmodPyObject
|
5
|
-
from classiq.interface.helpers.versioned_model import VersionedModel
|
6
|
-
|
7
|
-
|
8
|
-
class IQAEIterationData(BaseModel):
|
9
|
-
grover_iterations: int
|
10
|
-
sample_results: ExecutionDetails
|
11
|
-
|
12
|
-
|
13
|
-
class IQAEResult(VersionedModel, QmodPyObject):
|
14
|
-
estimation: float
|
15
|
-
confidence_interval: list[float] = Field(min_length=2, max_length=2)
|
16
|
-
iterations_data: list[IQAEIterationData]
|
17
|
-
warnings: list[str]
|
File without changes
|