classiq 0.39.0__py3-none-any.whl → 0.40.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/__init__.py +1 -0
- classiq/applications/chemistry/chemistry_model_constructor.py +1 -1
- classiq/applications/combinatorial_helpers/combinatorial_problem_utils.py +5 -6
- classiq/applications/combinatorial_helpers/optimization_model.py +7 -6
- classiq/applications/combinatorial_helpers/pauli_helpers/pauli_utils.py +0 -10
- classiq/applications/combinatorial_optimization/__init__.py +2 -0
- classiq/applications/combinatorial_optimization/combinatorial_optimization_model_constructor.py +2 -2
- classiq/interface/_version.py +1 -1
- classiq/interface/backend/backend_preferences.py +5 -5
- classiq/interface/backend/quantum_backend_providers.py +7 -7
- classiq/interface/executor/execution_preferences.py +4 -9
- classiq/interface/generator/application_apis/chemistry_declarations.py +2 -4
- classiq/interface/generator/application_apis/finance_declarations.py +1 -1
- classiq/interface/generator/arith/arithmetic_expression_validator.py +2 -0
- classiq/interface/generator/expressions/qmod_qarray_proxy.py +82 -0
- classiq/interface/generator/expressions/qmod_qscalar_proxy.py +21 -0
- classiq/interface/generator/expressions/qmod_sized_proxy.py +22 -0
- classiq/interface/generator/functions/builtins/core_library/atomic_quantum_functions.py +8 -6
- classiq/interface/generator/functions/builtins/core_library/exponentiation_functions.py +10 -4
- classiq/interface/generator/functions/builtins/open_lib_functions.py +624 -76
- classiq/interface/generator/functions/classical_type.py +29 -17
- classiq/interface/generator/model/preferences/preferences.py +4 -2
- classiq/interface/model/control.py +104 -8
- classiq/interface/model/quantum_type.py +6 -5
- classiq/interface/model/resolvers/function_call_resolver.py +0 -5
- classiq/interface/model/statement_block.py +1 -4
- classiq/qmod/__init__.py +6 -2
- classiq/qmod/builtins/classical_functions.py +30 -35
- classiq/qmod/builtins/functions.py +213 -153
- classiq/qmod/builtins/operations.py +78 -24
- classiq/qmod/builtins/structs.py +50 -48
- classiq/qmod/declaration_inferrer.py +30 -18
- classiq/qmod/native/expression_to_qmod.py +5 -4
- classiq/qmod/native/pretty_printer.py +7 -14
- classiq/qmod/qmod_constant.py +7 -7
- classiq/qmod/qmod_parameter.py +54 -33
- classiq/qmod/qmod_struct.py +2 -2
- classiq/qmod/qmod_variable.py +40 -29
- classiq/qmod/quantum_callable.py +7 -4
- classiq/qmod/quantum_expandable.py +19 -13
- classiq/qmod/quantum_function.py +25 -2
- classiq/qmod/symbolic.py +78 -68
- classiq/qmod/symbolic_expr.py +1 -1
- classiq/qmod/symbolic_type.py +1 -4
- classiq/qmod/utilities.py +29 -0
- {classiq-0.39.0.dist-info → classiq-0.40.0.dist-info}/METADATA +1 -1
- {classiq-0.39.0.dist-info → classiq-0.40.0.dist-info}/RECORD +48 -50
- classiq/interface/executor/error_mitigation.py +0 -6
- classiq/interface/generator/functions/builtins/core_library/chemistry_functions.py +0 -0
- classiq/interface/model/quantum_if_operation.py +0 -94
- {classiq-0.39.0.dist-info → classiq-0.40.0.dist-info}/WHEEL +0 -0
@@ -1,4 +1,4 @@
|
|
1
|
-
classiq/__init__.py,sha256=
|
1
|
+
classiq/__init__.py,sha256=_4s6Mx7iZuneeqsIFBT7G93tgrQRDhVO0A_00NkvS38,3139
|
2
2
|
classiq/_analyzer_extras/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3
3
|
classiq/_analyzer_extras/_ipywidgets_async_extension.py,sha256=DF-G1Dhp51P6qlxTJT-kxPMJiYy9tyNoCvqbPQOeJd0,2163
|
4
4
|
classiq/_analyzer_extras/interactive_hardware.py,sha256=f7ad2HeFq1f-2dJtPpgOE_w2IFzm49W6P_c-MzqJ5qE,3257
|
@@ -30,21 +30,21 @@ classiq/applications/__init__.py,sha256=ANRW68--0PJMxA2Z5XuhGrDKLilkTdj3U5y9EAmP
|
|
30
30
|
classiq/applications/chemistry/__init__.py,sha256=JwKGDR6NiKoykoNdOSovbZges6i40N2xkxYbAMHOS2A,1119
|
31
31
|
classiq/applications/chemistry/ansatz_parameters.py,sha256=548erjkahfpWds6l0wJ_ddskzONaaHa441uySj0qVAo,686
|
32
32
|
classiq/applications/chemistry/chemistry_execution_parameters.py,sha256=bqzXBwEl56a7OGKNk_aV2MGPxdMebwG7bIUqVJQyJQ0,505
|
33
|
-
classiq/applications/chemistry/chemistry_model_constructor.py,sha256=
|
33
|
+
classiq/applications/chemistry/chemistry_model_constructor.py,sha256=UIFjcyUA1lHzFd0dmD6dCR-xUKvUH4GMc4fL2aB44VY,16280
|
34
34
|
classiq/applications/chemistry/ground_state_problem.py,sha256=Ekkb4eDJkVXeTe4_hsoUUDaNZA83lJi2C0VwXf6haLk,1634
|
35
35
|
classiq/applications/combinatorial_helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
36
36
|
classiq/applications/combinatorial_helpers/allowed_constraints.py,sha256=UmrHXO6ArJgN9kKr-aMDtz5kA75enHaIEgUW05F4h9M,626
|
37
37
|
classiq/applications/combinatorial_helpers/arithmetic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
38
38
|
classiq/applications/combinatorial_helpers/arithmetic/arithmetic_expression.py,sha256=8K0rCq5MP8xBa6E3sbfsn7VYROqd8PM-Nyakbj1Pe2U,1206
|
39
39
|
classiq/applications/combinatorial_helpers/arithmetic/isolation.py,sha256=nxKCB4v5NB2ISJ1qg2xfQDszh8LzLNvtLYgH_FPvUWY,1536
|
40
|
-
classiq/applications/combinatorial_helpers/combinatorial_problem_utils.py,sha256=
|
40
|
+
classiq/applications/combinatorial_helpers/combinatorial_problem_utils.py,sha256=Doca9ucewwRG5A6p3b327T1Sr7StpC_0zn1hJkD1WSY,5062
|
41
41
|
classiq/applications/combinatorial_helpers/encoding_mapping.py,sha256=6J2oKGab2avhSYv2DC3sg07aRtSoHFddUkjSRS_MR28,3654
|
42
42
|
classiq/applications/combinatorial_helpers/encoding_utils.py,sha256=sXzrHqVWXotoqWu82syUxLOE2kj5uEbHFJflNKQkaXI,3796
|
43
43
|
classiq/applications/combinatorial_helpers/memory.py,sha256=Z-ieb02VqmCU3cKjdzVL5Cdqzck20290NKLoNN4l71Q,2321
|
44
|
-
classiq/applications/combinatorial_helpers/optimization_model.py,sha256=
|
44
|
+
classiq/applications/combinatorial_helpers/optimization_model.py,sha256=MM6C0JMXZlzIBgwIVP-55KqC_Df6JTTYVYu7-HrqMDk,5870
|
45
45
|
classiq/applications/combinatorial_helpers/pauli_helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
46
46
|
classiq/applications/combinatorial_helpers/pauli_helpers/pauli_sparsing.py,sha256=-vsJgA4Th3wrIxjNrG7Vv6ME8iZbw8rLuFZ99-tRpEc,1263
|
47
|
-
classiq/applications/combinatorial_helpers/pauli_helpers/pauli_utils.py,sha256=
|
47
|
+
classiq/applications/combinatorial_helpers/pauli_helpers/pauli_utils.py,sha256=mN8Bttki6lFHtb0Pzkw39hru3h-FcGVchv0AAVIBp40,2169
|
48
48
|
classiq/applications/combinatorial_helpers/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
49
49
|
classiq/applications/combinatorial_helpers/pyomo_utils.py,sha256=qsftJpLrZ4oe1f8ovEk2zzFN4x5KNUznj6RBN0FLSQ8,8336
|
50
50
|
classiq/applications/combinatorial_helpers/solvers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -57,9 +57,9 @@ classiq/applications/combinatorial_helpers/transformations/penalty.py,sha256=7qK
|
|
57
57
|
classiq/applications/combinatorial_helpers/transformations/penalty_support.py,sha256=fyn8_KgfFAU-zqANwBhjCANLmSzIVgfAq5sYMNIzqM0,1371
|
58
58
|
classiq/applications/combinatorial_helpers/transformations/sign_seperation.py,sha256=UgTZFHyDeTZHU09z528oH2lkuC2VmcpdVHYIk2WyB3Y,1919
|
59
59
|
classiq/applications/combinatorial_helpers/transformations/slack_variables.py,sha256=iG38BpqW4mQflDHZnKj5IyBa5i2F0d_WY55AfL0OzLY,3108
|
60
|
-
classiq/applications/combinatorial_optimization/__init__.py,sha256=
|
60
|
+
classiq/applications/combinatorial_optimization/__init__.py,sha256=1pNjlmHuxJNEVr4XsBUFkgIHFxyCtbifqShQBb2lmC0,878
|
61
61
|
classiq/applications/combinatorial_optimization/combinatorial_optimization_config.py,sha256=M8tBJ-mIQNuM0EWp7lIDQAfvKDjTZPFGoZo4rXoJXl0,624
|
62
|
-
classiq/applications/combinatorial_optimization/combinatorial_optimization_model_constructor.py,sha256=
|
62
|
+
classiq/applications/combinatorial_optimization/combinatorial_optimization_model_constructor.py,sha256=vBA7zkkdEIeBI7k1n9jzXNf6b7T7V5lD5LBumZ-cjNs,4877
|
63
63
|
classiq/applications/combinatorial_optimization/examples/__init__.py,sha256=8KwhYLGMJLGZbndSK8VM4y7A4D6IoT3cS5cxiooxCI0,1750
|
64
64
|
classiq/applications/finance/__init__.py,sha256=ikPvV7k4qjRkG5fa_MdDVvohXKB1w22sO-NsMx8vtQw,380
|
65
65
|
classiq/applications/finance/finance_model_constructor.py,sha256=_cCTwXXQ3_3sS4CbJ74rdraHPtUzmlgQzDAb5JTvjbs,6513
|
@@ -93,7 +93,7 @@ classiq/execution/all_hardware_devices.py,sha256=J7LilVskLZFDSqNnIcaqN3_esbs9JgK
|
|
93
93
|
classiq/execution/jobs.py,sha256=feJy2_UvGHEvVAFwL8bgxHwhXfkRKHgKwP7egTSfJSg,4937
|
94
94
|
classiq/executor.py,sha256=IgBkF2VdvpsUwcZE1VODBTvfw3MY-uKBIWTsp2PSV-M,5405
|
95
95
|
classiq/interface/__init__.py,sha256=cg7hD_XVu1_jJ1fgwmT0rMIoZHopNVeB8xtlmMx-E_A,83
|
96
|
-
classiq/interface/_version.py,sha256=
|
96
|
+
classiq/interface/_version.py,sha256=CfVTf58ZA1AAPtgbqtm_mqx-oatME1xVJUBJaJ_Lfl4,197
|
97
97
|
classiq/interface/analyzer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
98
98
|
classiq/interface/analyzer/analysis_params.py,sha256=87iaeFKDPuLc3VUQh_FGDRFMFtITU4OuULbuOfyHXJI,3051
|
99
99
|
classiq/interface/analyzer/cytoscape_graph.py,sha256=xcGMwxwrRvBjZ_JXMwmahBOmRQ7ryR1zpW_zppUvMos,2118
|
@@ -102,11 +102,11 @@ classiq/interface/applications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
|
|
102
102
|
classiq/interface/applications/qsvm.py,sha256=auVnbGNM9XEjnZ3MZIzqQLYMTsTb7j0XiYMIhY7odPU,3642
|
103
103
|
classiq/interface/ast_node.py,sha256=FrV8ssBt2oGj_cby9Txn8fT4VUa5m7byvOWb1dHr5xA,513
|
104
104
|
classiq/interface/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
105
|
-
classiq/interface/backend/backend_preferences.py,sha256=
|
105
|
+
classiq/interface/backend/backend_preferences.py,sha256=dqCFwXlqbzT55JVjAaL6zSQBp2U_235cax3680ohFII,9870
|
106
106
|
classiq/interface/backend/ionq/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
107
107
|
classiq/interface/backend/ionq/ionq_quantum_program.py,sha256=6AmVz8u5LOUgGAWWx1LypkYQT_uVKZBYfcanFMmzOds,1584
|
108
108
|
classiq/interface/backend/pydantic_backend.py,sha256=_mOuvRw92GtInfBjE9MJxzdSoAnKQtsGBn96jZXAS5o,1713
|
109
|
-
classiq/interface/backend/quantum_backend_providers.py,sha256=
|
109
|
+
classiq/interface/backend/quantum_backend_providers.py,sha256=FgEl3xWXWOvEvVb9JC-RWfvBPB7DRJd83z-2sPvXfZw,5604
|
110
110
|
classiq/interface/chemistry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
111
111
|
classiq/interface/chemistry/ansatz_library.py,sha256=3ki3uaV77cUxUxUzDbn3mVhjvMoKejJ5bIR1kXpBT1k,360
|
112
112
|
classiq/interface/chemistry/elements.py,sha256=Yy8L80SBVgmuKQyW-GlZKzwTqnP1O9po-FGFmKMJLRA,1181
|
@@ -144,9 +144,8 @@ classiq/interface/execution/resource_estimator.py,sha256=YJRuk9lAkhpwqegjyOrxvEY
|
|
144
144
|
classiq/interface/execution/result.py,sha256=6TduBhKFw8j7Yxcgn9d2MA0lm82sEcfY1yWIKUOdHro,139
|
145
145
|
classiq/interface/executor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
146
146
|
classiq/interface/executor/aws_execution_cost.py,sha256=OM-TI2oT7V6EafrwzpmlgJHfXCg0yIPff_UtYRh4GOE,2017
|
147
|
-
classiq/interface/executor/error_mitigation.py,sha256=PjTfCddewZxVcZAnbGBrjpcslpgBgsc8I48PSVGc6iw,190
|
148
147
|
classiq/interface/executor/estimation.py,sha256=lJEmN3Uj9bW0EY7JEZvzItwEybbBHSn7zYFz89L8fqo,389
|
149
|
-
classiq/interface/executor/execution_preferences.py,sha256=
|
148
|
+
classiq/interface/executor/execution_preferences.py,sha256=G1LCKh6eSkVSLTUGDX0MmQdTfGeEfk8IRbi8muL9B98,5321
|
150
149
|
classiq/interface/executor/execution_request.py,sha256=SPJlQSBQ-DPQrd79z351Gsr8g1bVcqve5lRw5fZJES4,1935
|
151
150
|
classiq/interface/executor/execution_result.py,sha256=nTFRaYJa2Y_0GZ0JPvaveCiCUlMuqXM0fKYsETeA4CI,2245
|
152
151
|
classiq/interface/executor/iqae_result.py,sha256=zJKLeRmcVqbOmR5wHJYZ8EbIHXXQhOMa52wFtXqoOmA,562
|
@@ -169,10 +168,10 @@ classiq/interface/generator/amplitude_loading.py,sha256=QzMTI64fgLgsgxadMCXxyAwD
|
|
169
168
|
classiq/interface/generator/ansatz_library.py,sha256=TR-UwyCliMMozfLVANWbB8aMcZ0tr_tFk4XhObCPwcc,1368
|
170
169
|
classiq/interface/generator/application_apis/__init__.py,sha256=2SkP8lW7-ktcTUh1R-Zjl_Mrjm_MbGwWih-wt_fqsRQ,471
|
171
170
|
classiq/interface/generator/application_apis/arithmetic_declarations.py,sha256=G-eNPwmzPkmT-gkNJcHaVHKP9HF8xXbYBQRyGST0oto,428
|
172
|
-
classiq/interface/generator/application_apis/chemistry_declarations.py,sha256=
|
171
|
+
classiq/interface/generator/application_apis/chemistry_declarations.py,sha256=8YIfsk6a5lg5WhuFz9z7_DVEaU1j2IyAs7OZZuNDD3o,6281
|
173
172
|
classiq/interface/generator/application_apis/combinatorial_optimization_declarations.py,sha256=E7gG2aPtArAi-C6WzK9m4wm5Baxm9kQdwrMCF4yurIc,1271
|
174
173
|
classiq/interface/generator/application_apis/entangler_declarations.py,sha256=_wPWp0XPrADqAzXYXtsbozLdcIfZ6LehSOJjY8ucKOA,758
|
175
|
-
classiq/interface/generator/application_apis/finance_declarations.py,sha256=
|
174
|
+
classiq/interface/generator/application_apis/finance_declarations.py,sha256=mNFXiWmL_U8CwAd3SXO_1e_H0OpOmtcx3YLgs8EIcZw,3903
|
176
175
|
classiq/interface/generator/application_apis/qsvm_declarations.py,sha256=DejjQF8DZ1IJl0E0ZDaxjApEcJvHrkniCFJUru6wHYY,2167
|
177
176
|
classiq/interface/generator/arith/__init__.py,sha256=3_jBZcaL8gQOiWx9lDj84K6rmJG2p_8MGCBw1aMtddg,135
|
178
177
|
classiq/interface/generator/arith/argument_utils.py,sha256=-H0_YVxkXmpBgnVHkBYQs9Wu8P2qGSMGW5zMi89oO5M,1812
|
@@ -180,7 +179,7 @@ classiq/interface/generator/arith/arithmetic.py,sha256=jMr9ySgntc94jywWuckNQsumB
|
|
180
179
|
classiq/interface/generator/arith/arithmetic_arg_type_validator.py,sha256=EEc87w42y9gkmGM7B5EOp05-z_1Jzudg2h0psIB5o3g,1180
|
181
180
|
classiq/interface/generator/arith/arithmetic_expression_abc.py,sha256=Naj1AXHSkUWKpubu9IbTrD0B43zkFAJSu2E6R5Zzyzc,5412
|
182
181
|
classiq/interface/generator/arith/arithmetic_expression_parser.py,sha256=nFRqEVo0I2rLT2MiVFiQ1asleRbfW9Nl0wq3v7Fvc9Q,5358
|
183
|
-
classiq/interface/generator/arith/arithmetic_expression_validator.py,sha256=
|
182
|
+
classiq/interface/generator/arith/arithmetic_expression_validator.py,sha256=LpbU-mz7Eui6lM4O0b8TZt4kfTdnm4Dosua4FD27qpY,7518
|
184
183
|
classiq/interface/generator/arith/arithmetic_operations.py,sha256=m9VFSQdC4Fda64USB51ELELOqRaMhXM5TUPycnoZddQ,1599
|
185
184
|
classiq/interface/generator/arith/arithmetic_param_getters.py,sha256=uzCv2M5RvrpRReEykCZ6mP_MVbHAqCoiDcIB3C9u95c,13381
|
186
185
|
classiq/interface/generator/arith/arithmetic_result_builder.py,sha256=qYfVIlMG6bnr8cq_qwrfRsbETBfnRrNWCLN-Dlav2LY,3957
|
@@ -228,8 +227,9 @@ classiq/interface/generator/expressions/expression.py,sha256=I6CJS2tHkeSjbbg5jpd
|
|
228
227
|
classiq/interface/generator/expressions/expression_constants.py,sha256=edBxAdg-EE4IpPD7g6DnV-xulda8hhtH-7NgpnH4Kz8,590
|
229
228
|
classiq/interface/generator/expressions/expression_types.py,sha256=BcqLJ_v0Rwm7gPLhdAnsZxPauFxdE6WHdiOGBVdpXtw,685
|
230
229
|
classiq/interface/generator/expressions/handle_identifier.py,sha256=Vf1EsfzkW3tBk9S6QOLPn5yuLW1EChQ4Ja6OpLWPLFw,93
|
231
|
-
classiq/interface/generator/expressions/
|
232
|
-
classiq/interface/generator/expressions/
|
230
|
+
classiq/interface/generator/expressions/qmod_qarray_proxy.py,sha256=6rujtgOqHkBkCtiwINnT63efYrE5uiWzgU0RRZiM7xo,2664
|
231
|
+
classiq/interface/generator/expressions/qmod_qscalar_proxy.py,sha256=Uvce2ql7QQTMALXv3AxgJ4sYLewnPZFvv-MBOxQsefU,1398
|
232
|
+
classiq/interface/generator/expressions/qmod_sized_proxy.py,sha256=-zNQfn8d4g-08JCG4Qkb2DV_Wwlj_QzZPukUcOXGZNQ,647
|
233
233
|
classiq/interface/generator/expressions/qmod_struct_instance.py,sha256=9tadFw0PgygLvuskq7MQ9LjKg0DtVcsK7FhwNfD14eo,738
|
234
234
|
classiq/interface/generator/expressions/sympy_supported_expressions.py,sha256=N2Z750rUYiY2hO7eo7pe_ybzYhgJxskUYAW6ahkUCgU,1480
|
235
235
|
classiq/interface/generator/expressions/type_proxy.py,sha256=2TSxdmmhnz78jxzPTqGAAfuY-jWUkyXHsE5bXx1A_es,311
|
@@ -241,14 +241,13 @@ classiq/interface/generator/function_params.py,sha256=3asmMN4_WNXL8Hw9L0ZMj0S-Xy
|
|
241
241
|
classiq/interface/generator/functions/__init__.py,sha256=z0VXGH2Q8dNhsbAfxFO1L8MqSL8wh9RnicIuoJgOyBI,868
|
242
242
|
classiq/interface/generator/functions/builtins/__init__.py,sha256=R_N4ZEayC7FWVrbO78tI5fM_mmQoxA4C2wdN4GtSdDI,618
|
243
243
|
classiq/interface/generator/functions/builtins/core_library/__init__.py,sha256=42Gn3X68tJyq8WLklvsB0SB6pl7bV76Rj60-_R37lpE,711
|
244
|
-
classiq/interface/generator/functions/builtins/core_library/atomic_quantum_functions.py,sha256=
|
245
|
-
classiq/interface/generator/functions/builtins/core_library/
|
246
|
-
classiq/interface/generator/functions/builtins/core_library/exponentiation_functions.py,sha256=OsRIEnKLJCiN8CbGVmk5ZVXykITSeDk57R5jrHL4wFY,2573
|
244
|
+
classiq/interface/generator/functions/builtins/core_library/atomic_quantum_functions.py,sha256=QsbYwT35KStyyZqmw97uAAO5WizSyH-85Bnpbuhmda0,16054
|
245
|
+
classiq/interface/generator/functions/builtins/core_library/exponentiation_functions.py,sha256=xbtrrt5Uots4HW_5Y0eVLMiTiGohrz8HtaBCihpFAZk,2715
|
247
246
|
classiq/interface/generator/functions/builtins/internal_operators.py,sha256=Bmtvq7nRHwQbXYpiXjwTyB_zq3v1-uopWnjaW96qooc,1916
|
248
|
-
classiq/interface/generator/functions/builtins/open_lib_functions.py,sha256=
|
247
|
+
classiq/interface/generator/functions/builtins/open_lib_functions.py,sha256=x8-gy9o49ZO1-ijUdnzjfbxvhrA-dsBLaQttY3Wg1xI,41220
|
249
248
|
classiq/interface/generator/functions/builtins/quantum_operators.py,sha256=l6twE-rgD9fJ4g_Yb9oxKQN3tTvU0GBfg5xzC3uyFG8,881
|
250
249
|
classiq/interface/generator/functions/classical_function_declaration.py,sha256=Gvm9b-F1kulKaEj6DpCex3DXhvsYc0etxSZaJ-sd2Ls,1018
|
251
|
-
classiq/interface/generator/functions/classical_type.py,sha256=
|
250
|
+
classiq/interface/generator/functions/classical_type.py,sha256=sKy4XWRUrdcw6AYdi99x7iv9KfbML1dCH3x__hEg_S0,7357
|
252
251
|
classiq/interface/generator/functions/foreign_function_definition.py,sha256=TBVN7etxnlS_FoX7EzC3XJcw0dPC7BqUffyiT7QJbKU,4053
|
253
252
|
classiq/interface/generator/functions/function_declaration.py,sha256=NKistwyWGIUaPkQ7PSVvH5TyBL2syp0rARXWn3um7C0,670
|
254
253
|
classiq/interface/generator/functions/function_implementation.py,sha256=0JUn_qfwNR95Fzz1f2t9k0812mOr2Bwffuzms2SKH90,3698
|
@@ -283,7 +282,7 @@ classiq/interface/generator/model/classical_main_validator.py,sha256=Vflih0MEqoX
|
|
283
282
|
classiq/interface/generator/model/constraints.py,sha256=LZy4TsmDROjsVwqkgvyhSLfxtkj7l07mruFJWD3Seto,1625
|
284
283
|
classiq/interface/generator/model/model.py,sha256=dpO8fZwrJA3uJK-GwmuoZTxJ-AKfmPQfnmdlm1wXejU,8512
|
285
284
|
classiq/interface/generator/model/preferences/__init__.py,sha256=KTNkU8hK3cpqzXvw_C1maxhBRTm1H53WUen1jJwZ0fQ,256
|
286
|
-
classiq/interface/generator/model/preferences/preferences.py,sha256=
|
285
|
+
classiq/interface/generator/model/preferences/preferences.py,sha256=t-cEL2l6jZg8uXfs4NN4qgHjNyXStqGgTi-86T1HTPM,7943
|
287
286
|
classiq/interface/generator/model/preferences/randomness.py,sha256=nAI8Fu9NQ0uJxuwIQCUDspJKMCQVHBbvPNqCTtrBEos,248
|
288
287
|
classiq/interface/generator/noise_properties.py,sha256=onvXd_FeBznwu1AcOpAkL7-fo9Dc6tPcAIiL5Qxs2Ok,425
|
289
288
|
classiq/interface/generator/oracles/__init__.py,sha256=CB95SeU1BsqVWxQssKJYzB4DGje87UQAKGuyv-vkx7k,122
|
@@ -362,7 +361,7 @@ classiq/interface/model/call_synthesis_data.py,sha256=PkNMgshXA3458thV54y2cR-OoF
|
|
362
361
|
classiq/interface/model/classical_if.py,sha256=dskHdHM-hfBvcwRvhEjZ3bdZ7Xn-uL6maIHWQXKOl_0,389
|
363
362
|
classiq/interface/model/classical_parameter_declaration.py,sha256=UvoD7pYdi7DvMhJvgCZ-Z_RNIQYOlbSNEQSE4VqgW9A,238
|
364
363
|
classiq/interface/model/common_model_types.py,sha256=-qwbP5DBsdmSuB8YF_OTu_aGvAUtOg_2hWCRboIyJic,518
|
365
|
-
classiq/interface/model/control.py,sha256=
|
364
|
+
classiq/interface/model/control.py,sha256=anOr6-8BYUCTizbe3HUHjrz192gbVRRoWHIYKdipV7k,3922
|
366
365
|
classiq/interface/model/handle_binding.py,sha256=2T0U-Msekvbea61tBfR2f1rvwMkLWLPh1pCUte5EkEQ,947
|
367
366
|
classiq/interface/model/inplace_binary_operation.py,sha256=G3uFxRWzH4mnZYXpXh44INu2vRcnt7totuD6R4m4cS0,1141
|
368
367
|
classiq/interface/model/invert.py,sha256=Kg3AUbQPJW4xg6OEc_hQzouoSN18LVbaISQNK-IdLBY,256
|
@@ -377,16 +376,15 @@ classiq/interface/model/quantum_expressions/control_state.py,sha256=jp_L3MTDR04q
|
|
377
376
|
classiq/interface/model/quantum_expressions/quantum_expression.py,sha256=qwSqK8-Xkoc9zytLgkgd5LWzciTPiCkO9eaYMD0zN1E,2828
|
378
377
|
classiq/interface/model/quantum_function_call.py,sha256=Z68PFLR3Qy4F-u9-sMtpxDVZxXAU7oA3rzMgxsqmA1Q,14555
|
379
378
|
classiq/interface/model/quantum_function_declaration.py,sha256=vHQpoibYsMPKzPwovwRU0cnOmu64cM30csEFKq5vryg,7904
|
380
|
-
classiq/interface/model/quantum_if_operation.py,sha256=_OyF_I3RwYjBF7tCsPfqkvzZpr-5MHKN4T6uQqmgqr4,3376
|
381
379
|
classiq/interface/model/quantum_lambda_function.py,sha256=4pm1gz3sWvfIQXSV8Mgrkpz1IuCsxYc3T4-SJpvDMB0,1777
|
382
380
|
classiq/interface/model/quantum_register.py,sha256=nTefxxhLKFsF6zkxv5B6hJPwNL2CIE2mmFwtnVUWhCk,7998
|
383
381
|
classiq/interface/model/quantum_statement.py,sha256=QHI27zXVvQI_ID_0AaNtp8u8xfHhaeunrkw7HJlVgY4,735
|
384
|
-
classiq/interface/model/quantum_type.py,sha256=
|
382
|
+
classiq/interface/model/quantum_type.py,sha256=ci1p2Ig-z757p6UEVFp5eTT0kPpThTtZ2xenA2Nb1Rk,5500
|
385
383
|
classiq/interface/model/quantum_variable_declaration.py,sha256=ye5chA8t0uO_4OaHQPsysaQGWGcKpWPLwqdLeH7zx40,929
|
386
384
|
classiq/interface/model/repeat.py,sha256=shgYyCRvtr4-59kZc87uURjqNjNLPZdWEQkNWrUIHek,370
|
387
385
|
classiq/interface/model/resolvers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
388
|
-
classiq/interface/model/resolvers/function_call_resolver.py,sha256
|
389
|
-
classiq/interface/model/statement_block.py,sha256=
|
386
|
+
classiq/interface/model/resolvers/function_call_resolver.py,sha256=N_VIBQrZHao1VDWOt8FSwIL2s3mXxe-MOuTiJ8ATxAM,2194
|
387
|
+
classiq/interface/model/statement_block.py,sha256=BSTeRsnrc-HpIZ4trBYlOZ4ewMOOrLXpvQ3_V-nLhnQ,1765
|
390
388
|
classiq/interface/model/validation_handle.py,sha256=MnGJ1LJS_aQG6WH0NusSHJjjrjQXQgy5F1Cfvnguiz8,1310
|
391
389
|
classiq/interface/model/validations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
392
390
|
classiq/interface/model/validations/handle_validation_base.py,sha256=UFlJEMhmXUNYLRy_Mje2UJNOBfX2WJCzYjFzlBcaYjw,2134
|
@@ -403,35 +401,35 @@ classiq/interface/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
|
|
403
401
|
classiq/interface/server/global_versions.py,sha256=Oh6K8kD3mVSYeEjHNHbmDUezcfbrhSLswuF0F_mE-8E,384
|
404
402
|
classiq/interface/server/routes.py,sha256=kQBwyNwM7M5y8uTOWMulhClnlWr6sLCVB5xb5duuroo,3275
|
405
403
|
classiq/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
406
|
-
classiq/qmod/__init__.py,sha256=
|
404
|
+
classiq/qmod/__init__.py,sha256=kNU_-GRIgMc9pMglpE7mr272Ph9a44OweURdU02tyUY,920
|
407
405
|
classiq/qmod/builtins/__init__.py,sha256=yY5NcYgy9T2812k8jro52_jpyNKTE2CWGI40ydnT0FI,727
|
408
406
|
classiq/qmod/builtins/classical_execution_primitives.py,sha256=kWcC_3UMUiYuQ35_2DsdR4GJXALiPRHXPEgqjJiVTRk,2723
|
409
|
-
classiq/qmod/builtins/classical_functions.py,sha256=
|
410
|
-
classiq/qmod/builtins/functions.py,sha256=
|
411
|
-
classiq/qmod/builtins/operations.py,sha256
|
412
|
-
classiq/qmod/builtins/structs.py,sha256=
|
407
|
+
classiq/qmod/builtins/classical_functions.py,sha256=sOMYm_vU24mAGgR63qmJ5eMTgpacXCRIhNEXa6pl0Q4,1914
|
408
|
+
classiq/qmod/builtins/functions.py,sha256=jxv9uN14tBtyfokZMmmrrJQzRLgqp45b9Cw9X3B1u6I,13589
|
409
|
+
classiq/qmod/builtins/operations.py,sha256=-DfyF1DB4CyAk_XJ7YY7ufJ__c_bbFbMDi-WIP5iuEI,10307
|
410
|
+
classiq/qmod/builtins/structs.py,sha256=pT8ntsW8k4nbcpG3Wf9uFwFvmKQdQ7of0bYB_WS11HY,2250
|
413
411
|
classiq/qmod/cfunc.py,sha256=quwJdgYRgqI2C13SRrRunLi-Kuf7nCAk2-O2B46QtoY,1093
|
414
412
|
classiq/qmod/classical_function.py,sha256=VEjx47jccSbbKuvicgqhwOYxrLO-pb_n0FWYcnCH-lk,1211
|
415
|
-
classiq/qmod/declaration_inferrer.py,sha256=
|
413
|
+
classiq/qmod/declaration_inferrer.py,sha256=5Nqj5KbOgHlbGFkJVn9OYLn-4aw7_YkzKBeCHRKOk08,5698
|
416
414
|
classiq/qmod/expression_query.py,sha256=Jv_aSgoV6tT7HeMtnDs3B40_HFtVEHckYbbMHma1ER0,908
|
417
415
|
classiq/qmod/model_state_container.py,sha256=yZT2IdAz-CUwXsd-DReLLKEZCXiicHb3qjh18mKREZg,406
|
418
416
|
classiq/qmod/native/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
419
|
-
classiq/qmod/native/expression_to_qmod.py,sha256=
|
420
|
-
classiq/qmod/native/pretty_printer.py,sha256=
|
417
|
+
classiq/qmod/native/expression_to_qmod.py,sha256=w4U8ZONm4E90168Zt7QAkKiwCC8oKzPPASXxWA4SvoM,7011
|
418
|
+
classiq/qmod/native/pretty_printer.py,sha256=ss0KSPWEIvpWlEiAXyU4RGQS6xhCudqvFl9w24VWIE0,13546
|
421
419
|
classiq/qmod/qfunc.py,sha256=G320Fc-4CxzuV7muho2tPro2EIBLgBKmZStkSIAWzyI,691
|
422
|
-
classiq/qmod/qmod_constant.py,sha256=
|
423
|
-
classiq/qmod/qmod_parameter.py,sha256=
|
424
|
-
classiq/qmod/qmod_struct.py,sha256=
|
425
|
-
classiq/qmod/qmod_variable.py,sha256=
|
426
|
-
classiq/qmod/quantum_callable.py,sha256=
|
427
|
-
classiq/qmod/quantum_expandable.py,sha256=
|
428
|
-
classiq/qmod/quantum_function.py,sha256=
|
429
|
-
classiq/qmod/symbolic.py,sha256=
|
430
|
-
classiq/qmod/symbolic_expr.py,sha256=
|
431
|
-
classiq/qmod/symbolic_type.py,sha256=
|
432
|
-
classiq/qmod/utilities.py,sha256=
|
420
|
+
classiq/qmod/qmod_constant.py,sha256=zBHgYax4DpPeDJU5x6-1-zMTopV9g0F--2zLV0mjwRQ,3310
|
421
|
+
classiq/qmod/qmod_parameter.py,sha256=WrGhwJ9bFwORlkWLYnP0oZK7wTWrlAU9tmMAKTHrIrc,3561
|
422
|
+
classiq/qmod/qmod_struct.py,sha256=mzfF8M5qNhcqKVPCuGFKWx4nzDmH_aewGyUgGhN_8H4,1078
|
423
|
+
classiq/qmod/qmod_variable.py,sha256=lffhAQ7V36XV6VMKDMgIHtE2CWxd_xU6LuMTCJZHdR4,14074
|
424
|
+
classiq/qmod/quantum_callable.py,sha256=fNlRTBE9Z8egQdPn2R6XxpWdtW3MLXIzy2UcMvv02Gw,2323
|
425
|
+
classiq/qmod/quantum_expandable.py,sha256=CldUnAE2jvSbjiaigQpF2NEbPCUUV1Q3IfN8BTn4HJw,10820
|
426
|
+
classiq/qmod/quantum_function.py,sha256=WTaJdcpvd4LfYLANh2Dnb-1gQFOrCFcE8-440sL5QP4,8065
|
427
|
+
classiq/qmod/symbolic.py,sha256=B1gA_MgYJOcg0w1fW4putH8Ig9UDt7msj4ZQdHar52A,7317
|
428
|
+
classiq/qmod/symbolic_expr.py,sha256=7SKYR977tooR4ZZC7pPE7kCJNxi2diLlnu10pNnyYnk,5480
|
429
|
+
classiq/qmod/symbolic_type.py,sha256=whMy3Uw4iE2SOVfHeyfTpDJ3BH6Rxlhk492ij-4QRU4,169
|
430
|
+
classiq/qmod/utilities.py,sha256=Mu4w-UFdtc4N5A3bvIj6wWtIJckyL_MEYVbhGF0xkmw,1527
|
433
431
|
classiq/qmod/write_qmod.py,sha256=2LK5CdlxRzJhM5p2EOwWACGkg2L9IhHkkOFtXFH1fOo,1222
|
434
432
|
classiq/synthesis.py,sha256=NTrzED_UCWMO4s8iZcqhXIvAF7p6kQVuMvtLj3u5X88,2166
|
435
|
-
classiq-0.
|
436
|
-
classiq-0.
|
437
|
-
classiq-0.
|
433
|
+
classiq-0.40.0.dist-info/METADATA,sha256=xFJmtPQOcL9GYU023MNSgSV5mClzhVoFwiS11zi_f94,3044
|
434
|
+
classiq-0.40.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
435
|
+
classiq-0.40.0.dist-info/RECORD,,
|
File without changes
|
@@ -1,94 +0,0 @@
|
|
1
|
-
from typing import TYPE_CHECKING, Optional
|
2
|
-
|
3
|
-
import pydantic
|
4
|
-
from sympy import Equality
|
5
|
-
from sympy.core.numbers import Integer
|
6
|
-
|
7
|
-
from classiq.interface.generator.expressions.expression import Expression
|
8
|
-
from classiq.interface.generator.expressions.qmod_qscalar_proxy import QmodQNumProxy
|
9
|
-
from classiq.interface.model.quantum_expressions.control_state import (
|
10
|
-
min_bit_length,
|
11
|
-
to_twos_complement,
|
12
|
-
)
|
13
|
-
from classiq.interface.model.quantum_expressions.quantum_expression import (
|
14
|
-
QuantumExpressionOperation,
|
15
|
-
)
|
16
|
-
|
17
|
-
from classiq.exceptions import ClassiqValueError
|
18
|
-
|
19
|
-
if TYPE_CHECKING:
|
20
|
-
from classiq.interface.model.statement_block import StatementBlock
|
21
|
-
|
22
|
-
QUANTUM_IF_INOUT_NAME = "ctrl"
|
23
|
-
QUANTUM_IF_CONDITION_ARG_ERROR_MESSAGE_FORMAT = (
|
24
|
-
"quantum_if condition must be of the form '<quantum-variable> == "
|
25
|
-
"<classical-integer-expression>', but condition's {}-hand side was {!r}"
|
26
|
-
)
|
27
|
-
|
28
|
-
|
29
|
-
class QuantumIf(QuantumExpressionOperation):
|
30
|
-
then: "StatementBlock"
|
31
|
-
_ctrl: Optional[QmodQNumProxy] = pydantic.PrivateAttr(
|
32
|
-
default=None,
|
33
|
-
)
|
34
|
-
_ctrl_val: Optional[int] = pydantic.PrivateAttr(
|
35
|
-
default=None,
|
36
|
-
)
|
37
|
-
|
38
|
-
@property
|
39
|
-
def condition(self) -> Expression:
|
40
|
-
return self.expression
|
41
|
-
|
42
|
-
@property
|
43
|
-
def ctrl(self) -> QmodQNumProxy:
|
44
|
-
assert self._ctrl is not None
|
45
|
-
return self._ctrl
|
46
|
-
|
47
|
-
@property
|
48
|
-
def ctrl_val(self) -> int:
|
49
|
-
assert self._ctrl_val is not None
|
50
|
-
return self._ctrl_val
|
51
|
-
|
52
|
-
def resolve_condition(self) -> None:
|
53
|
-
condition = self.condition.value.value
|
54
|
-
if not isinstance(condition, Equality):
|
55
|
-
raise ClassiqValueError(
|
56
|
-
f"quantum_if condition must be an equality, was {str(condition)!r}"
|
57
|
-
)
|
58
|
-
ctrl, ctrl_val = condition.args
|
59
|
-
if isinstance(ctrl, Integer) and isinstance(ctrl_val, QmodQNumProxy):
|
60
|
-
ctrl, ctrl_val = ctrl_val, ctrl
|
61
|
-
if not isinstance(ctrl, QmodQNumProxy):
|
62
|
-
raise ClassiqValueError(
|
63
|
-
QUANTUM_IF_CONDITION_ARG_ERROR_MESSAGE_FORMAT.format("left", str(ctrl))
|
64
|
-
)
|
65
|
-
if not isinstance(ctrl_val, Integer):
|
66
|
-
raise ClassiqValueError(
|
67
|
-
QUANTUM_IF_CONDITION_ARG_ERROR_MESSAGE_FORMAT.format(
|
68
|
-
"right", str(ctrl_val)
|
69
|
-
)
|
70
|
-
)
|
71
|
-
self._ctrl, self._ctrl_val = ctrl, int(ctrl_val)
|
72
|
-
|
73
|
-
@property
|
74
|
-
def ctrl_state(self) -> str:
|
75
|
-
is_signed = self.ctrl.is_signed
|
76
|
-
fraction_places = self.ctrl.fraction_digits
|
77
|
-
ctrl_size = len(self.ctrl)
|
78
|
-
if not is_signed and self.ctrl_val < 0:
|
79
|
-
raise ClassiqValueError(
|
80
|
-
f"Variable {str(self.ctrl)!r} is not signed but control value "
|
81
|
-
f"{self.ctrl_val} is negative"
|
82
|
-
)
|
83
|
-
required_qubits = min_bit_length(self.ctrl_val, is_signed)
|
84
|
-
if ctrl_size < required_qubits:
|
85
|
-
raise ClassiqValueError(
|
86
|
-
f"Variable {str(self.ctrl)!r} has {ctrl_size} qubits but control value "
|
87
|
-
f"{str(self.ctrl_val)!r} requires at least {required_qubits} qubits"
|
88
|
-
)
|
89
|
-
if fraction_places != 0:
|
90
|
-
raise ClassiqValueError(
|
91
|
-
f"quantum-if on a non-integer quantum variable {str(self.ctrl)!r} is "
|
92
|
-
f"not supported at the moment"
|
93
|
-
)
|
94
|
-
return to_twos_complement(self.ctrl_val, ctrl_size, is_signed)
|
File without changes
|