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.
Files changed (32) hide show
  1. classiq/applications/iqae/__init__.py +0 -0
  2. classiq/applications/iqae/iqae.py +207 -0
  3. classiq/execution/__init__.py +1 -1
  4. classiq/interface/_version.py +1 -1
  5. classiq/interface/applications/iqae/__init__.py +0 -0
  6. classiq/interface/applications/iqae/generic_iqae.py +222 -0
  7. classiq/interface/applications/iqae/iqae_result.py +45 -0
  8. classiq/interface/debug_info/debug_info.py +3 -0
  9. classiq/interface/executor/execution_result.py +1 -1
  10. classiq/interface/executor/user_budget.py +1 -1
  11. classiq/interface/generator/expressions/proxies/classical/any_classical_value.py +9 -3
  12. classiq/interface/generator/generated_circuit_data.py +18 -7
  13. classiq/interface/ide/visual_model.py +2 -0
  14. classiq/model_expansions/closure.py +1 -58
  15. classiq/model_expansions/evaluators/argument_types.py +1 -2
  16. classiq/model_expansions/function_builder.py +0 -45
  17. classiq/model_expansions/interpreters/base_interpreter.py +12 -14
  18. classiq/model_expansions/interpreters/frontend_generative_interpreter.py +0 -17
  19. classiq/model_expansions/quantum_operations/call_emitter.py +71 -32
  20. classiq/model_expansions/quantum_operations/emitter.py +6 -1
  21. classiq/model_expansions/quantum_operations/function_calls_cache.py +84 -0
  22. classiq/model_expansions/scope.py +20 -10
  23. classiq/model_expansions/transformers/type_qualifier_inference.py +183 -0
  24. classiq/model_expansions/utils/text_utils.py +4 -2
  25. classiq/model_expansions/visitors/symbolic_param_inference.py +1 -12
  26. classiq/qmod/builtins/classical_execution_primitives.py +1 -1
  27. classiq/qmod/qmod_variable.py +7 -4
  28. classiq/qmod/utilities.py +4 -0
  29. {classiq-0.77.0.dist-info → classiq-0.78.0.dist-info}/METADATA +1 -1
  30. {classiq-0.77.0.dist-info → classiq-0.78.0.dist-info}/RECORD +31 -25
  31. classiq/interface/executor/iqae_result.py +0 -17
  32. {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,
@@ -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, get_args(SymbolicTypes)):
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, get_args(SymbolicTypes)):
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, get_args(SymbolicTypes)):
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, get_args(SymbolicTypes)):
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
  [
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: classiq
3
- Version: 0.77.0
3
+ Version: 0.78.0
4
4
  Summary: Classiq's Python SDK for quantum computing
5
5
  License: Proprietary
6
6
  Keywords: quantum computing,quantum circuits,quantum algorithms,QAD,QDL
@@ -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=Xo0rp4UfoJvSvvYzavHMdichKObQtJ4pmZ0qVzlKX9c,1270
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=jI4kviCOmRh93vreuj-hTR8EP_FmR1Kg8OljaxaN4mY,197
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=uyYEk2sqJRy5uH9mj2kImmtyH8YD_Lyg651NvWYLVD8,4603
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=56wymbRd8ukd5QCgZ4o41MAnBHVMhBCNkxlt-zlw7_g,2867
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=h8bapLl9Uk40QZquw93pPLKMzzdwQRCe7NXleR5zUEE,1775
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=NteWZ2pECDFPdsaHwVXkkOQANGnnhAvAZgiIXAzDeyU,1160
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=qaZxXAJDlqPXEnZtB7V_iwDzGdbxlYNjnjazC5NT7tI,13193
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=nnauOxOCJrWmc_W0Qtn7RoXlXYY3dPxr_ZPNCtHDaaE,3274
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=yfKKAeNG94me1TgA1ywifX9bjLKcax2o5GVbmzoDhuU,5707
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=idaRKTDHbOW6sVc4S5aX7YFVAmRIh2eeCZR_81imaIk,1489
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=a_IYyeqAYIZLDdw14hPnGwtNK59UK80d9Uax-PzZTSs,10534
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=mLwlApyqeDA_JVM020ubLQw6FgU_Iyp6opwnloMwlYY,12063
424
- classiq/model_expansions/interpreters/frontend_generative_interpreter.py,sha256=DR2jQC_17WEEcRkbleoQA6J9SMyjPZAcJ7tc71lzKJc,4918
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=ZJOIrlEfFnyDAyNQfU7wPgMB_Kyq7_nXILELx649A9A,15047
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=oXjzX3pfDPTSnt0RQxK4eud8RE0cSm4RBXrnV5gUkRY,9736
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=fux2b7XfkbYae7dGUscMi7GTtCwBnntTOr4hoNdp9xY,10084
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=rVYVPHLmnmEhsDXwn-90AEaznDyuYRf1kBhD0TMHuls,373
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=qe99m_8eOXw82uLMMxWpewthNJMYKDisf9ev2ztPTlY,8111
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=Qlh1w6C8EChgX2iDnQvuf9hKxw4dBwCKsOcbwyniobc,3232
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=H0DFV3oWaiqfSlOVpBDczNUbUIvKsOsiVUsBc_9GIuI,25917
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=XoB9JU6Vn4p8ZirrUUaP-UpOInm3jwuuYjB6R_V3XLo,5467
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.77.0.dist-info/METADATA,sha256=znkdzc0JaIqxKIcP-F_nAW6ywTIBISinyA_wC5jySXI,3382
548
- classiq-0.77.0.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
549
- classiq-0.77.0.dist-info/RECORD,,
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]