classiq 0.56.0__py3-none-any.whl → 0.57.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 (33) hide show
  1. classiq/analyzer/show_interactive_hack.py +16 -4
  2. classiq/executor.py +1 -1
  3. classiq/interface/_version.py +1 -1
  4. classiq/interface/executor/execution_request.py +5 -5
  5. classiq/interface/generator/arith/arithmetic_expression_validator.py +28 -9
  6. classiq/interface/generator/types/builtin_enum_declarations.py +1 -0
  7. classiq/model_expansions/closure.py +24 -6
  8. classiq/model_expansions/quantum_operations/call_emitter.py +207 -0
  9. classiq/model_expansions/quantum_operations/classicalif.py +2 -2
  10. classiq/model_expansions/quantum_operations/control.py +7 -5
  11. classiq/model_expansions/quantum_operations/emitter.py +1 -186
  12. classiq/model_expansions/quantum_operations/expression_operation.py +26 -189
  13. classiq/model_expansions/quantum_operations/inplace_binary_operation.py +2 -2
  14. classiq/model_expansions/quantum_operations/invert.py +2 -2
  15. classiq/model_expansions/quantum_operations/phase.py +3 -1
  16. classiq/model_expansions/quantum_operations/power.py +2 -2
  17. classiq/model_expansions/quantum_operations/quantum_assignment_operation.py +7 -9
  18. classiq/model_expansions/quantum_operations/quantum_function_call.py +2 -2
  19. classiq/model_expansions/quantum_operations/repeat.py +2 -2
  20. classiq/model_expansions/transformers/__init__.py +0 -0
  21. classiq/model_expansions/transformers/var_splitter.py +237 -0
  22. classiq/qmod/__init__.py +0 -2
  23. classiq/qmod/builtins/classical_functions.py +1 -0
  24. classiq/qmod/builtins/functions/state_preparation.py +1 -1
  25. classiq/qmod/create_model_function.py +25 -20
  26. classiq/qmod/pretty_print/pretty_printer.py +53 -28
  27. classiq/qmod/qfunc.py +43 -9
  28. classiq/qmod/quantum_function.py +30 -24
  29. classiq/synthesis.py +3 -1
  30. {classiq-0.56.0.dist-info → classiq-0.57.0.dist-info}/METADATA +1 -1
  31. {classiq-0.56.0.dist-info → classiq-0.57.0.dist-info}/RECORD +32 -30
  32. classiq/qmod/synthesize_separately.py +0 -15
  33. {classiq-0.56.0.dist-info → classiq-0.57.0.dist-info}/WHEEL +0 -0
@@ -28,12 +28,35 @@ from classiq.qmod.quantum_expandable import QExpandable, QTerminalCallable
28
28
  from classiq.qmod.utilities import mangle_keyword
29
29
 
30
30
 
31
- class QFunc(QExpandable):
31
+ class BaseQFunc(QExpandable):
32
+ def __init__(
33
+ self,
34
+ py_callable: Callable,
35
+ compilation_metadata: Optional[CompilationMetadata] = None,
36
+ ) -> None:
37
+ super().__init__(py_callable)
38
+ self.compilation_metadata = compilation_metadata
39
+
40
+ def update_compilation_metadata(self, **kwargs: Any) -> None:
41
+ self.compilation_metadata = self._compilation_metadata.model_copy(update=kwargs)
42
+
43
+ @property
44
+ def _compilation_metadata(self) -> CompilationMetadata:
45
+ if self.compilation_metadata is None:
46
+ return CompilationMetadata()
47
+ return self.compilation_metadata
48
+
49
+
50
+ class QFunc(BaseQFunc):
32
51
  FRAME_DEPTH = 2
33
52
 
34
- def __init__(self, py_callable: Callable) -> None:
53
+ def __init__(
54
+ self,
55
+ py_callable: Callable,
56
+ compilation_metadata: Optional[CompilationMetadata] = None,
57
+ ) -> None:
35
58
  _validate_no_gen_params(py_callable.__annotations__)
36
- super().__init__(py_callable)
59
+ super().__init__(py_callable, compilation_metadata)
37
60
  functools.update_wrapper(self, py_callable)
38
61
  self.compilation_metadata: Optional[CompilationMetadata] = None
39
62
 
@@ -44,21 +67,6 @@ class QFunc(QExpandable):
44
67
  infer_func_decl(self._py_callable, qmodule=self._qmodule),
45
68
  )
46
69
 
47
- @property
48
- def should_synthesize_separately(self) -> bool:
49
- if self.compilation_metadata is None:
50
- return False
51
- return self.compilation_metadata.should_synthesize_separately
52
-
53
- @should_synthesize_separately.setter
54
- def should_synthesize_separately(self, value: bool) -> None:
55
- if self.compilation_metadata is None:
56
- self.compilation_metadata = CompilationMetadata(
57
- should_synthesize_separately=value
58
- )
59
- else:
60
- self.compilation_metadata.should_synthesize_separately = value
61
-
62
70
  def __call__(self, *args: Any, **kwargs: Any) -> None:
63
71
  super().__call__(*args, **kwargs)
64
72
  self.expand()
@@ -69,16 +77,13 @@ class QFunc(QExpandable):
69
77
  execution_preferences: Optional[ExecutionPreferences] = None,
70
78
  preferences: Optional[Preferences] = None,
71
79
  classical_execution_function: Optional[CFunc] = None,
72
- functions_compilation_metadata: Optional[dict[str, CompilationMetadata]] = None,
73
80
  ) -> Model:
74
- if functions_compilation_metadata is None:
75
- functions_compilation_metadata = dict()
76
81
  self._qmodule.enum_decls = dict()
77
82
  self._qmodule.type_decls = dict()
78
83
  self._qmodule.qstruct_decls = dict()
79
84
  self._qmodule.native_defs = dict()
80
85
  self._qmodule.constants = dict()
81
- self._qmodule.functions_compilation_metadata = functions_compilation_metadata
86
+ self._qmodule.functions_compilation_metadata = dict()
82
87
  QConstant.set_current_model(self._qmodule)
83
88
  self.expand()
84
89
  model_extra_settings: list[tuple[str, Any]] = [
@@ -167,13 +172,14 @@ class ExternalQFunc(QTerminalCallable):
167
172
  ][0]
168
173
 
169
174
 
170
- class GenerativeQFunc(QExpandable):
175
+ class GenerativeQFunc(BaseQFunc):
171
176
  def __init__(
172
177
  self,
173
178
  py_callable: Callable,
174
179
  func_decl: Optional[NamedParamsQuantumFunctionDeclaration] = None,
180
+ compilation_metadata: Optional[CompilationMetadata] = None,
175
181
  ) -> None:
176
- super().__init__(py_callable)
182
+ super().__init__(py_callable, compilation_metadata)
177
183
  self._func_decl = func_decl
178
184
 
179
185
  @property
classiq/synthesis.py CHANGED
@@ -20,13 +20,15 @@ CANT_PARSE_QUANTUM_PROGRAM_MSG = (
20
20
  )
21
21
 
22
22
 
23
- def show(quantum_program: SerializedQuantumProgram) -> None:
23
+ def show(quantum_program: SerializedQuantumProgram, display_url: bool = True) -> None:
24
24
  """
25
25
  Displays the interactive representation of the quantum program in the Classiq IDE.
26
26
 
27
27
  Args:
28
28
  quantum_program:
29
29
  The serialized quantum program to be displayed.
30
+ display_url:
31
+ Whether to print the url
30
32
 
31
33
  Links:
32
34
  [Visualization tool](https://docs.classiq.io/latest/reference-manual/analyzer/quantum-program-visualization-tool/)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: classiq
3
- Version: 0.56.0
3
+ Version: 0.57.0
4
4
  Summary: Classiq's Python SDK for quantum computing
5
5
  Home-page: https://classiq.io
6
6
  License: Proprietary
@@ -22,7 +22,7 @@ classiq/analyzer/__init__.py,sha256=1ASEd3a5BLznMq_uD4ogR6buanALXfJIONZYmCweAgA,
22
22
  classiq/analyzer/analyzer.py,sha256=gvyiBWIdzrR4P_YE-si-UcfFpVZYNlIeCLuSO_XzAX8,7239
23
23
  classiq/analyzer/analyzer_utilities.py,sha256=PT_WsLygmAx4Hf7-VGBzKi6xHclIy5FYelCkdtChe1k,3658
24
24
  classiq/analyzer/rb.py,sha256=gUQPYEcy99rLcV-MQG87HSbiQP4IP_Qz3KKqqeq2T2E,4934
25
- classiq/analyzer/show_interactive_hack.py,sha256=lW56gbwn83Zcl7107hIpee7Uht5sOAD03A_ZSVjkbrM,1488
25
+ classiq/analyzer/show_interactive_hack.py,sha256=mXWSFOqInwFOlJOmkC3Q4rkYyeCufBXeDiQhtGUi67A,1867
26
26
  classiq/analyzer/url_utils.py,sha256=FfcERpHqqNILwTt7LNwLUKURmpN21rilQVFpnvPtdHE,690
27
27
  classiq/applications/__init__.py,sha256=Kmb1gK6tTmbXcBUotrx77X9zDCOTN1-syMw3M1Xq4Mg,306
28
28
  classiq/applications/chemistry/__init__.py,sha256=Fq22ADuTo8h7QtOo3cCFHIyGqSg2FW2KKEn16I8t7Dg,1094
@@ -93,9 +93,9 @@ classiq/execution/iqcc.py,sha256=0wy1tgQFcwqf9wFYyi6_OYRtx4s0AEViIAIvUkyKBmk,242
93
93
  classiq/execution/jobs.py,sha256=ACMwyEnXFAgpqBe6vYudsoHx8LC4dRu0XOOm_6rMQFQ,9576
94
94
  classiq/execution/qaoa.py,sha256=IiicS_L41FeR_9kDcqLKnbuBuWj5ABuuGKqyC6SVsHk,3007
95
95
  classiq/execution/qnn.py,sha256=6lAKO0TpSEkcY_EwbJfVqNeqCeOegmkBQC1AzUrWxy0,2333
96
- classiq/executor.py,sha256=TbGAu6p70kNWMWvq3d9YldAd6LZqBJ2xl915vg8rM2Y,2602
96
+ classiq/executor.py,sha256=wp8FwEUbtkgXCchmgjHTqgMgNYxC06zR7sSvPlDokvk,2603
97
97
  classiq/interface/__init__.py,sha256=cg7hD_XVu1_jJ1fgwmT0rMIoZHopNVeB8xtlmMx-E_A,83
98
- classiq/interface/_version.py,sha256=cKtHL5MqnHCnyLSUhs4AIJCaYZOJegX3Ak5U8Dpc7cI,197
98
+ classiq/interface/_version.py,sha256=tiZH63it_Jiao8bMyundi52jx5Mx5eV0_gTABVhD-YI,197
99
99
  classiq/interface/analyzer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
100
100
  classiq/interface/analyzer/analysis_params.py,sha256=dM5rwSks798cxk4FWe4_X5ToRYtgZQh34F1u0XrFkK8,3881
101
101
  classiq/interface/analyzer/cytoscape_graph.py,sha256=MpeRBIYS1TfwYwiFpgTO51IE0KoxhY510pmEM3S0rbw,2361
@@ -155,7 +155,7 @@ classiq/interface/executor/aws_execution_cost.py,sha256=0yx_q_-rvaaofaqHyI9YvTtA
155
155
  classiq/interface/executor/constants.py,sha256=DtSx-1HArWE0hHjOZHY9WJBevt3hP7M8SrYO3eM3dgo,31
156
156
  classiq/interface/executor/estimation.py,sha256=lJEmN3Uj9bW0EY7JEZvzItwEybbBHSn7zYFz89L8fqo,389
157
157
  classiq/interface/executor/execution_preferences.py,sha256=lEjsv_RGPLrpXBUw55TOZ17lWLEgCJLi3ol9uo1-_Rk,2931
158
- classiq/interface/executor/execution_request.py,sha256=yd7UBW7jUX7jGd5Y2evc3xxo-w-wiLtfoCx7qPJR4jY,1944
158
+ classiq/interface/executor/execution_request.py,sha256=2HaXiuDALzsv5TZnSmU8iqUaezeAnT-MgaR2W5kDv5w,2054
159
159
  classiq/interface/executor/execution_result.py,sha256=56wymbRd8ukd5QCgZ4o41MAnBHVMhBCNkxlt-zlw7_g,2867
160
160
  classiq/interface/executor/iqae_result.py,sha256=mCjbLTd4vtFOkvEEUfcSp3569wGzQOvFpZO4KKaLnmU,565
161
161
  classiq/interface/executor/optimizer_preferences.py,sha256=iw-UJ_8WhziqB2s8cmQ1jmyTRX1Krpld4CG5tXDWpZ0,4407
@@ -188,7 +188,7 @@ classiq/interface/generator/arith/arithmetic.py,sha256=yOt91yxUJNhDWJb0OPB_1j7n2
188
188
  classiq/interface/generator/arith/arithmetic_arg_type_validator.py,sha256=k7e9nIQOTJ1Dk1PD7jXZFBATbZNR93Lok-OVq6riZYI,1177
189
189
  classiq/interface/generator/arith/arithmetic_expression_abc.py,sha256=c9T_5m9B6Lq7vgNt3u1o8MGHSFo3OJJc9EdpaXP8Yqk,7168
190
190
  classiq/interface/generator/arith/arithmetic_expression_parser.py,sha256=rdzpQkfyxwr1gFm3s96H-qNyi0RKlkBpwx8RJPsM3Ac,5371
191
- classiq/interface/generator/arith/arithmetic_expression_validator.py,sha256=-D155VvFlYP2LL6NjiJd2yTvbzNOFx6ZWO5qaIBX5lk,6631
191
+ classiq/interface/generator/arith/arithmetic_expression_validator.py,sha256=QQ9mlCmw-XrYTCmuw-uNZuWx2cmtMPpfIUUOcpuB3YM,7244
192
192
  classiq/interface/generator/arith/arithmetic_operations.py,sha256=SMwXDF6WQBgbG3NkvZcM5zKUUUw4pFUs02J2uUX8mcg,1894
193
193
  classiq/interface/generator/arith/arithmetic_param_getters.py,sha256=P0RWHhu7UiWJ_qjF_SRW6GUcVtyAr8HFgZde3Lau3kQ,13367
194
194
  classiq/interface/generator/arith/arithmetic_result_builder.py,sha256=XYBz7ZwX47GkJG-U2Bh2vE1iJGX-IcRw811_MDGegMI,4231
@@ -320,7 +320,7 @@ classiq/interface/generator/synthesis_metadata/synthesis_duration.py,sha256=CzE6
320
320
  classiq/interface/generator/synthesis_metadata/synthesis_execution_data.py,sha256=YOKZGGsNyVm-AYPZHf-2vSqgQDchqHY4oMMovmrUSX0,1276
321
321
  classiq/interface/generator/transpiler_basis_gates.py,sha256=4MHl6uI3Fa8bl1w_kGQC_2y_CQGxnKXbWSp5ezaw-w0,2397
322
322
  classiq/interface/generator/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
323
- classiq/interface/generator/types/builtin_enum_declarations.py,sha256=_FW45QH1LgXfXP83ZNhc74-BZTzjwARngTlA6YKATlk,2315
323
+ classiq/interface/generator/types/builtin_enum_declarations.py,sha256=kzrmQhyvIAO0FG1b4eHNVM7v0YYg5weXtLYYalejARE,2316
324
324
  classiq/interface/generator/types/compilation_metadata.py,sha256=2LJUeGWxuW3Yu_PYvN1Vk9MBDfNDd-blApP-iDst574,140
325
325
  classiq/interface/generator/types/enum_declaration.py,sha256=NLSkIANe33qubSDGmxROhNFZNuIDcJjRA-ZRuKhiZ5g,1712
326
326
  classiq/interface/generator/types/qstruct_declaration.py,sha256=Qw6cHW_elZmrs4UO0z7lgS7TWb0hEUEJ5Ur-Ko0bCR4,485
@@ -394,7 +394,7 @@ classiq/model_expansions/capturing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQe
394
394
  classiq/model_expansions/capturing/captured_var_manager.py,sha256=t-3EM-MfNlSGhx9-wzdwNAUM0aaEqDSboMBSe48QpVo,1790
395
395
  classiq/model_expansions/capturing/mangling_utils.py,sha256=oXefnIECq-8yeW6FujI0UxgIJRKfPTjhIdfizHK3I2I,1350
396
396
  classiq/model_expansions/capturing/propagated_var_stack.py,sha256=h6STPdNYa-kpoPYSgnjZ0SPYm2uyTanieY626pbr538,7414
397
- classiq/model_expansions/closure.py,sha256=2Votl4jGNOYvW73Ob6bdRitgp-_gGRvtySse1vpFW7s,8308
397
+ classiq/model_expansions/closure.py,sha256=4X-zE7MW8um5rO9ydp-9LwkeNsbVm-UaYJ5QLw8Qcyo,8897
398
398
  classiq/model_expansions/debug_flag.py,sha256=JWzl9FFq2CLcvTg_sh-K8Dp_xXvewsTuFKhPjTCrsrs,107
399
399
  classiq/model_expansions/evaluators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
400
400
  classiq/model_expansions/evaluators/arg_type_match.py,sha256=ovN41FwUYr0-t_PbTrtUnzqO3ZKw9y7_VBZmZFRN8aM,6135
@@ -412,17 +412,18 @@ classiq/model_expansions/interpreter.py,sha256=eKtaF47ty5RfzsfM26h3Epu62SqbKvpIC
412
412
  classiq/model_expansions/model_tables.py,sha256=C0ZhCF1GAmgCqkm6iTNO9-cj_YdwGpE8etKvVxWx1w8,3585
413
413
  classiq/model_expansions/quantum_operations/__init__.py,sha256=BMruLYFsir2nU9Du9PZBcQzQsgIc-4Zpkx8CJmvbL14,1040
414
414
  classiq/model_expansions/quantum_operations/bind.py,sha256=QsrNMtDXHFcG2TWO7wbk4yml7kpPys1YCmL-bNrrZ_I,2606
415
- classiq/model_expansions/quantum_operations/classicalif.py,sha256=gbRbGXtM5ep1HPGps4OSZQ07Rjgyehzgx3hsbx2ZK9Y,2160
416
- classiq/model_expansions/quantum_operations/control.py,sha256=39dFHH2bySdl9A9HNLlE7XtCimVRYoxjsLvDMQss3Ww,13416
417
- classiq/model_expansions/quantum_operations/emitter.py,sha256=bCLX3Q2TFbZQy1DlUoplJ178kFScCFHC7NFdZdQ5STw,13035
418
- classiq/model_expansions/quantum_operations/expression_operation.py,sha256=S4LMvKdmOakjXkAxedSYIgWc3No5dTMIHodpQ_NaaQ4,10420
419
- classiq/model_expansions/quantum_operations/inplace_binary_operation.py,sha256=RHSNil7KGaWJWDVWYX5_bTU8RTuyp2KDN5c2asPzKdA,17036
420
- classiq/model_expansions/quantum_operations/invert.py,sha256=2lGBaGR6XuMPkMXSx9_LlVI_Y--XYaEDyofCYUgin14,1667
421
- classiq/model_expansions/quantum_operations/phase.py,sha256=LUk33JP9o7V-TaAhSeZci0LhNiP3EY0_PxWxVqjkQLE,7227
422
- classiq/model_expansions/quantum_operations/power.py,sha256=ysFIKzEB5nc3NUusJv_z6V1QKDXIjfEnZs2-6rF5EVc,2920
423
- classiq/model_expansions/quantum_operations/quantum_assignment_operation.py,sha256=bvWXSuT56lBLftc4SnacZyZPMRDm3d4jxC0RnatTHQA,9477
424
- classiq/model_expansions/quantum_operations/quantum_function_call.py,sha256=HVU92szD_SzmtB3XJ2hY66iZazUaw5XT6o0Byw-jlNs,993
425
- classiq/model_expansions/quantum_operations/repeat.py,sha256=_ukxgNnQXbaMoJImhIVFaXswi01Z2x1y-ArxH_JS080,2241
415
+ classiq/model_expansions/quantum_operations/call_emitter.py,sha256=wF7HdACC6s0kRnTYRnxp9EKLfOLqeOEn0jAQIq9UJw8,8736
416
+ classiq/model_expansions/quantum_operations/classicalif.py,sha256=e15sfehhfMViSVWEA2DcJ6Olb8teWDpRP1FuBhLzzR0,2173
417
+ classiq/model_expansions/quantum_operations/control.py,sha256=M2ghFVXU4zu8AOwcfg1pkxmnqmepyNJChLS2fuVwPu8,13486
418
+ classiq/model_expansions/quantum_operations/emitter.py,sha256=IL0lR2D2jNWIKCyoc74Qun78BNlOeDPcpK8Oenkse-A,4961
419
+ classiq/model_expansions/quantum_operations/expression_operation.py,sha256=dIAtOBkHQtE0BHiRq-Zi2_Cei42DoMKg8hSwf2fDDcE,4290
420
+ classiq/model_expansions/quantum_operations/inplace_binary_operation.py,sha256=FKKNyT54VEs-48CzTr0_zqCuu60UxXwk6vOovONVZz4,17049
421
+ classiq/model_expansions/quantum_operations/invert.py,sha256=Vyvw2hRy37onm6y60T-cwYnGabqxsAR1hrdzfZhYluo,1680
422
+ classiq/model_expansions/quantum_operations/phase.py,sha256=vBYdGd5KPj7am37pXAJwY4vZAPI7igm8Fyjg5rkanL8,7280
423
+ classiq/model_expansions/quantum_operations/power.py,sha256=_7mx4emS2cFwC-Ycbdg-FtLTgg1stwNObRa3el829A0,2933
424
+ classiq/model_expansions/quantum_operations/quantum_assignment_operation.py,sha256=OQgkUzX747vn5gaQHovnvEpuTRi4iNad2_FRUztYfCI,9524
425
+ classiq/model_expansions/quantum_operations/quantum_function_call.py,sha256=7x58DvoLt2IPYMsZxL6swjZDxCo5RXkTPFZvL96GX3c,1006
426
+ classiq/model_expansions/quantum_operations/repeat.py,sha256=bvzPtBPArewDpFTiborHhJt8-_pHMfIksxpbKbs3ItE,2254
426
427
  classiq/model_expansions/quantum_operations/variable_decleration.py,sha256=DdlkwMbVknd_rvZXaXelF0p1YDy6cYHStAzLJVbnV9w,1208
427
428
  classiq/model_expansions/quantum_operations/within_apply.py,sha256=dehZPxM-z2x_pdjKplml293viBtrhXNtJDEm99TbEqY,1746
428
429
  classiq/model_expansions/scope.py,sha256=kcqvA-aL8HnyzR6hT-ptxt01lQAT7z_rLXHzxh99AQk,7624
@@ -431,16 +432,18 @@ classiq/model_expansions/sympy_conversion/__init__.py,sha256=47DEQpj8HBSa-_TImW-
431
432
  classiq/model_expansions/sympy_conversion/arithmetics.py,sha256=7ZKg1C92wUdxtFhrT4VuI9mNvH2a1z1R8lbWYFhYczc,1116
432
433
  classiq/model_expansions/sympy_conversion/expression_to_sympy.py,sha256=JvjhM68m6OinhJ0fR0gSUn3RqoEniD7vLAL0FO4C6R0,5634
433
434
  classiq/model_expansions/sympy_conversion/sympy_to_python.py,sha256=VVz5OvbzLGGRgZibbjTCRGCH0v-Lqt4PEmMwqkN9JEo,3773
435
+ classiq/model_expansions/transformers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
436
+ classiq/model_expansions/transformers/var_splitter.py,sha256=fp9QOJ3O0PqxRdp0H7o8VihQevGobEoznzceQ6YpAic,8474
434
437
  classiq/model_expansions/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
435
438
  classiq/model_expansions/utils/counted_name_allocator.py,sha256=9LPLBm-4ZrpC_0r1rbogyF11FnLaGCUyzwWpcBJoSmA,297
436
439
  classiq/model_expansions/visitors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
437
440
  classiq/model_expansions/visitors/boolean_expression_transformers.py,sha256=a8ITXY48uROZFd9MF8tXdXs14Uxh8XbBpuvRXvRehjY,8067
438
441
  classiq/model_expansions/visitors/variable_references.py,sha256=HfAU6UZUtfcy7KkrvQbNQdnSXD79wwbyagnv8ZpMukQ,4111
439
442
  classiq/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
440
- classiq/qmod/__init__.py,sha256=OMMtt4fV3lgk4nszak2VOjvQFhEpf9vZ1JplVYKCcfU,928
443
+ classiq/qmod/__init__.py,sha256=ktAnNYCn6UJGvpMjwEjed3MKtdOwpevBD3JPErM7lqs,842
441
444
  classiq/qmod/builtins/__init__.py,sha256=pYNdaroGuxuXRPX3oHdwGoF5sCfHSqU9IG3uuenCmT8,1206
442
445
  classiq/qmod/builtins/classical_execution_primitives.py,sha256=v6XCeAlXNSEFteKXdh1L7rT6JwyNnoOk4hQYnOcSTLA,3232
443
- classiq/qmod/builtins/classical_functions.py,sha256=sOMYm_vU24mAGgR63qmJ5eMTgpacXCRIhNEXa6pl0Q4,1914
446
+ classiq/qmod/builtins/classical_functions.py,sha256=fsUU8ih0MX5roA6628rGl2bb4hXinxIV6sq1FariCr4,1915
444
447
  classiq/qmod/builtins/constants.py,sha256=FURSVt0dlIAw_xkGMyj89z4eub7vUdvUrPzaLTGUQxk,222
445
448
  classiq/qmod/builtins/enums.py,sha256=JzfANJT4Z1Gy8io4JjCnez4t97mxBjT1K-ij2Cli9kQ,3417
446
449
  classiq/qmod/builtins/functions/__init__.py,sha256=11hP94xe4ZZLlusTGPuYtK5ASUgVLVWm9fqYBPqRhFM,5962
@@ -462,7 +465,7 @@ classiq/qmod/builtins/functions/qpe.py,sha256=SnV95exHzLLjxqtMhYawQPumWFvhlQab9j
462
465
  classiq/qmod/builtins/functions/qsvm.py,sha256=j5UbMWfl2UNtBewjSWgXq-fvHuAznpINw_b5-_XEKdU,586
463
466
  classiq/qmod/builtins/functions/qsvt.py,sha256=bqqS7DKpXWGVPAS7OzT9hBSUE1YT53-TdB9LB6LfOBE,7224
464
467
  classiq/qmod/builtins/functions/standard_gates.py,sha256=CRhNH7cUtRqGOknpfjT_v8B2wx00sOxgRXfayI3AMWc,15679
465
- classiq/qmod/builtins/functions/state_preparation.py,sha256=RQXlXiR_zX6pMr_-gcV1p-NAL62E7Xj9MlZl8pAinh0,16781
468
+ classiq/qmod/builtins/functions/state_preparation.py,sha256=TPt8Ak-tmVz8p2uU0xaN0qQnJFbQZlpQZqB40vLOGnY,16753
466
469
  classiq/qmod/builtins/functions/swap_test.py,sha256=Yvwb4nXxFs0qQng5xyVjvgG__5cPrUtwjNKdLC6UaVU,1127
467
470
  classiq/qmod/builtins/functions/utility_functions.py,sha256=lkxTPhI4jenoBWYJePPF-pMDBNBmUT9KdEVS3QrmSjw,1180
468
471
  classiq/qmod/builtins/functions/variational.py,sha256=LtMZnaJY9xYsBtFnr-Wn5i5kNaL0gHW8QaBnbEzuMQY,1806
@@ -471,7 +474,7 @@ classiq/qmod/builtins/structs.py,sha256=pdjNKFAhxLNzVdz4bhONO4PwvfI_W7Z7Skjgqt47
471
474
  classiq/qmod/cfunc.py,sha256=e3zWNEloBBPy-wJaGI1K5cdNFbd3oq0o4TUY2YDr6ks,1087
472
475
  classiq/qmod/classical_function.py,sha256=iHm6T719PUZQPwuNSkouaMA8J9yHrrHUpP-2AQjsA5g,1088
473
476
  classiq/qmod/cparam.py,sha256=wai8PyfS6QCJ8_WLck2nRZrtuEXYg1cogj4CQ_EZKP4,1182
474
- classiq/qmod/create_model_function.py,sha256=Srmt954JHsl2QR5vRmFsMbAjCDL4vlpY0Ta804nRU4g,7778
477
+ classiq/qmod/create_model_function.py,sha256=vOlUo--E-X1fLumfS0fP159sISl6LZYIyx0pU0dobeo,7852
475
478
  classiq/qmod/declaration_inferrer.py,sha256=Z6TKHz-3ZoNAmIlxX5muxvAb7UyhihWx-s4a1yGK18w,6995
476
479
  classiq/qmod/expression_query.py,sha256=24gsE5hJ1o9ZuqPILH7aaoOzKRQY2RZtvIK35xuubGA,1629
477
480
  classiq/qmod/generative.py,sha256=3hFrDhAu-WZovuK28f7abVS4lSX7i5aK2GEvrkEqOv4,1588
@@ -481,15 +484,15 @@ classiq/qmod/native/expression_to_qmod.py,sha256=a33dDr7BGWl7YhsFjpfAuI9Ys7amJjM
481
484
  classiq/qmod/native/pretty_printer.py,sha256=8XMy-wBr9ZbEccpTUlrrY70_QauWsW6WoUVbacvlnoc,15529
482
485
  classiq/qmod/pretty_print/__init__.py,sha256=jhR0cpXumOJnyb-zWnvMLpEuUOYPnnJ7DJmV-Zxpy1I,132
483
486
  classiq/qmod/pretty_print/expression_to_python.py,sha256=QoRP817CFEp3Ad3Q3hxWW-hbVzWQbHQIGUHjZkpZDm8,7480
484
- classiq/qmod/pretty_print/pretty_printer.py,sha256=JvRRqvrPROCpRwteLiEMetJabnEo7ZQCVaj-pTOzFbo,22286
487
+ classiq/qmod/pretty_print/pretty_printer.py,sha256=KVgAbQXiMjriif1E2DtgBLadkZzvv8lRlipWZ4_AuM4,23135
485
488
  classiq/qmod/python_classical_type.py,sha256=S_CbuxMHmYDgYcT31kCIy1xjhWvnAHHVJNWZ6lUPV8w,2513
486
- classiq/qmod/qfunc.py,sha256=JGQdOOUkQaZdp4VbU_hQDiNIA5B0oOppK5Y5wKjcEIo,1298
489
+ classiq/qmod/qfunc.py,sha256=6aJ7muLptXXRq5V5UG19LsJGrwCJeYr7Jk0TmQ_Qvgg,2124
487
490
  classiq/qmod/qmod_constant.py,sha256=YawkwhhOLqFyFUyhE13Q_zCnex_Ki46hePRwGJmr5oU,4853
488
491
  classiq/qmod/qmod_parameter.py,sha256=PpK4rzY0Hszgbzr_lclROcZ7JPqnhDJBYsSQkUjkcs8,4294
489
492
  classiq/qmod/qmod_variable.py,sha256=T53o_GQWXPCIfW6bTIvNUTHoE3bodIHec8r6a_YJXfU,24105
490
493
  classiq/qmod/quantum_callable.py,sha256=sthlH5UJyJsdOxpCW3_EW3JFIYd0r1K3Zec1CDbC2-0,2451
491
494
  classiq/qmod/quantum_expandable.py,sha256=ZRg_NWpqM86rp8hhvRXGJytBJfWdwiw930ODq6Er3xY,16450
492
- classiq/qmod/quantum_function.py,sha256=78WTZwI3LHj93mUdZCg_YUocgMAOco96_ozg57xXo64,8941
495
+ classiq/qmod/quantum_function.py,sha256=vF2qU8Z1yTtZA6pbVLS0Rjh02A-OTt4VGxbnFGoSeFE,8980
493
496
  classiq/qmod/semantics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
494
497
  classiq/qmod/semantics/annotation.py,sha256=0IeRymMK20sPHzbs7EzGoqhZICQmR6-gXR3SS9sr9OE,1255
495
498
  classiq/qmod/semantics/error_manager.py,sha256=KAnNaQE0YarkXTQ0du3mvCqGCbbH-d81sv2Ti-NpkL4,2783
@@ -503,11 +506,10 @@ classiq/qmod/semantics/validation/types_validation.py,sha256=DBtpqUR1Ua3t-AVUAdJ
503
506
  classiq/qmod/symbolic.py,sha256=-pfC93Rfa685vBN0Z5ij8AaQB0aTfVNOrtaMyPykkLg,7607
504
507
  classiq/qmod/symbolic_expr.py,sha256=LJoa9c6puMvUu4d5oU0SNzc7VXzSFBUNLf19ADzktLs,6133
505
508
  classiq/qmod/symbolic_type.py,sha256=ded7bVfWmHFw8MoyivVDJsG5vZZVRQontOZYb1kCrTQ,162
506
- classiq/qmod/synthesize_separately.py,sha256=pORY__n4kd1vXX3b3Q_qMW1yREbwzuMEe4VMG1SC3p4,608
507
509
  classiq/qmod/type_attribute_remover.py,sha256=NZmTXAsngWqthXjE8n-n6yE72fiWTFM12-TXXJ1kJ-Q,1242
508
510
  classiq/qmod/utilities.py,sha256=z_VnIRmOYTWjJp2UlOcWK0rQRtMqysmP_Gr6WYY_nak,2734
509
511
  classiq/qmod/write_qmod.py,sha256=x4K4N9XPQqGTett1vCZd-D2yVAo_DmXTJ_TyEm0fff8,1800
510
- classiq/synthesis.py,sha256=kh2BZECSw1tYWMyVXtSvXvVpZR6rSn0JkG8xQ1uTaJQ,8029
511
- classiq-0.56.0.dist-info/METADATA,sha256=PT8srBveH0y8dQc_mRnIgpvCw70GBk4iqEZrCBo9x1o,3458
512
- classiq-0.56.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
513
- classiq-0.56.0.dist-info/RECORD,,
512
+ classiq/synthesis.py,sha256=WLk3wpX_xPiAMstF9PGMO5SWVb_qqa1sN2Nj3MekX34,8113
513
+ classiq-0.57.0.dist-info/METADATA,sha256=ydv0OOf9A_U_te4tuN1T2P7X_3rC1ZwJAGcGA6gJ9tU,3458
514
+ classiq-0.57.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
515
+ classiq-0.57.0.dist-info/RECORD,,
@@ -1,15 +0,0 @@
1
- from typing import Union
2
-
3
- from classiq.interface.exceptions import ClassiqError
4
-
5
- from classiq.qmod.quantum_function import ExternalQFunc, GenerativeQFunc, QFunc
6
-
7
-
8
- def synthesize_separately(qfunc: Union[QFunc, GenerativeQFunc, ExternalQFunc]) -> QFunc:
9
- if isinstance(qfunc, QFunc):
10
- qfunc.should_synthesize_separately = True
11
- return qfunc
12
- if isinstance(qfunc, GenerativeQFunc):
13
- raise ClassiqError("Generative functions can not be synthesized separately")
14
- if isinstance(qfunc, ExternalQFunc):
15
- raise ClassiqError("External functions can not be synthesized separately")