classiq 0.99.0__py3-none-any.whl → 0.102.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 (54) hide show
  1. classiq/__init__.py +3 -0
  2. classiq/_internals/api_wrapper.py +29 -4
  3. classiq/applications/chemistry/op_utils.py +31 -1
  4. classiq/applications/chemistry/problems.py +18 -6
  5. classiq/applications/chemistry/ucc.py +2 -2
  6. classiq/evaluators/parameter_types.py +1 -4
  7. classiq/evaluators/qmod_node_evaluators/utils.py +6 -3
  8. classiq/execution/__init__.py +11 -1
  9. classiq/execution/jobs.py +122 -5
  10. classiq/interface/_version.py +1 -1
  11. classiq/interface/exceptions.py +0 -42
  12. classiq/interface/executor/execution_request.py +1 -0
  13. classiq/interface/executor/quantum_code.py +0 -6
  14. classiq/interface/executor/user_budget.py +2 -6
  15. classiq/interface/generator/generation_request.py +40 -0
  16. classiq/interface/generator/quantum_program.py +8 -36
  17. classiq/interface/generator/transpiler_basis_gates.py +1 -3
  18. classiq/interface/generator/types/compilation_metadata.py +1 -1
  19. classiq/interface/helpers/model_normalizer.py +24 -0
  20. classiq/interface/helpers/text_utils.py +20 -5
  21. classiq/interface/model/bind_operation.py +3 -0
  22. classiq/interface/model/invert.py +7 -0
  23. classiq/interface/model/model.py +42 -3
  24. classiq/interface/model/quantum_function_call.py +17 -5
  25. classiq/model_expansions/arithmetic_compute_result_attrs.py +10 -1
  26. classiq/model_expansions/interpreters/base_interpreter.py +3 -2
  27. classiq/model_expansions/quantum_operations/call_emitter.py +0 -3
  28. classiq/model_expansions/visitors/uncomputation_signature_inference.py +15 -38
  29. classiq/open_library/functions/__init__.py +55 -27
  30. classiq/open_library/functions/bit_operations.py +30 -0
  31. classiq/open_library/functions/encodings.py +182 -0
  32. classiq/open_library/functions/modular_arithmetics.py +597 -0
  33. classiq/open_library/functions/qft_space_arithmetics.py +81 -0
  34. classiq/open_library/functions/state_preparation.py +13 -7
  35. classiq/open_library/functions/utility_functions.py +22 -3
  36. classiq/qmod/builtins/functions/exponentiation.py +2 -2
  37. classiq/qmod/builtins/operations.py +29 -4
  38. classiq/qmod/native/pretty_printer.py +15 -4
  39. classiq/qmod/pretty_print/pretty_printer.py +14 -2
  40. classiq/qmod/qmod_variable.py +1 -1
  41. classiq/qmod/quantum_callable.py +8 -2
  42. classiq/qmod/quantum_expandable.py +3 -1
  43. classiq/qmod/quantum_function.py +2 -1
  44. classiq/qmod/semantics/error_manager.py +11 -1
  45. classiq/qmod/utilities.py +7 -4
  46. classiq/synthesis_action/__init__.py +20 -0
  47. classiq/synthesis_action/actions.py +106 -0
  48. {classiq-0.99.0.dist-info → classiq-0.102.0.dist-info}/METADATA +1 -1
  49. {classiq-0.99.0.dist-info → classiq-0.102.0.dist-info}/RECORD +51 -47
  50. classiq/interface/executor/register_initialization.py +0 -36
  51. classiq/open_library/functions/modular_exponentiation.py +0 -272
  52. classiq/open_library/functions/qsvt_temp.py +0 -536
  53. {classiq-0.99.0.dist-info → classiq-0.102.0.dist-info}/WHEEL +0 -0
  54. {classiq-0.99.0.dist-info → classiq-0.102.0.dist-info}/licenses/LICENSE.txt +0 -0
@@ -1,9 +1,9 @@
1
- classiq/__init__.py,sha256=rMKw4FDf1Og0zmBtfePPPrzWBCO_cU2Aa951faTWKVc,3830
1
+ classiq/__init__.py,sha256=kgpMwKZ5ONi2BOmn_FHfP5vUKBRMqXOq6XMq4f3zQiw,3967
2
2
  classiq/_analyzer_extras/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  classiq/_analyzer_extras/_ipywidgets_async_extension.py,sha256=cxdrzSOEQ8_2rLXcScDnhZoZAHqPmIhY-DhBPWLcNII,2200
4
4
  classiq/_analyzer_extras/interactive_hardware.py,sha256=9ZnQX_MZCF21s2skWXUjm4mYCBCeytJtxcnyTE1XU4g,3438
5
5
  classiq/_internals/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
- classiq/_internals/api_wrapper.py,sha256=5mBeDDAQ0OJ7OqIaq2Yo0p0hntxdux5c4VqLkDM3jxs,16910
6
+ classiq/_internals/api_wrapper.py,sha256=DW_RO_n_IVWL0l9vD__vIeSh56_3z96-uR44UFzAla8,17769
7
7
  classiq/_internals/async_utils.py,sha256=mcBzGZQYG3EdI7NkBwAO_MGsbF4RFMEUjN1Yoz1CiKE,3327
8
8
  classiq/_internals/authentication/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  classiq/_internals/authentication/auth0.py,sha256=HyjyyTUDk9f9sZWsXc9oD6dR0oHMk4btTtmBqeBIUk8,4452
@@ -31,9 +31,9 @@ classiq/applications/__init__.py,sha256=eFH-2tf-OWrtPy3JWtnuBbeEtc1lpQhfkMtUDaFI
31
31
  classiq/applications/chemistry/__init__.py,sha256=OoNd0yizXq09isp6Py6QbGaQYKpgVsZkLbP2ong2GxE,186
32
32
  classiq/applications/chemistry/hartree_fock.py,sha256=PURM4CLI9lcYvpiawwYFgyGrTqECuGr1z1buOaIV5YU,2601
33
33
  classiq/applications/chemistry/mapping.py,sha256=iDS0THG0P3AfF54wtD5ioGhrCV7BZ5eTYyMiMbcpAbU,2547
34
- classiq/applications/chemistry/op_utils.py,sha256=AeQYrc23ZkoU-1Ha5sLBEWQa9HJrJaAsBZ0UN3eGR4s,2436
35
- classiq/applications/chemistry/problems.py,sha256=CUGKmOYEEnLRQmWqL7_ZSDPDZPeXPpR0paaxVd2MHog,7248
36
- classiq/applications/chemistry/ucc.py,sha256=nZQLEUK7ju-65SRfHiwTT-lV5XZfSlN8-yPMW-rAJT8,3665
34
+ classiq/applications/chemistry/op_utils.py,sha256=BJo0ibJzgjdaI-TgNhvl_QAByJ_G8plWknetW7unYnI,3435
35
+ classiq/applications/chemistry/problems.py,sha256=1cpRGhevbdi7otWzdXGVrdv4rnRrrDd8mRmLy9wxQmU,7766
36
+ classiq/applications/chemistry/ucc.py,sha256=1sils_Z4aLOaEb0F2wQVuCBhEcHsKqvKAog4jRuBVt8,3651
37
37
  classiq/applications/chemistry/z2_symmetries.py,sha256=svPE2t9R25p91QK1_C3JQATt_gqGsBJ4TsP4vN0mvdI,13116
38
38
  classiq/applications/combinatorial_helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
39
  classiq/applications/combinatorial_helpers/allowed_constraints.py,sha256=HAxbBsAIkT9dGVVdCekdNmz2CEEpJdJNOnMZ31loAiA,686
@@ -92,7 +92,7 @@ classiq/evaluators/argument_types.py,sha256=ecSLiaXuI9iEGIePNSM-MrTxulOb5pMPfcoK
92
92
  classiq/evaluators/classical_expression.py,sha256=rYVRW-ZZfcbDnm1cNziC21EqBzbsAfZMoVSq2cx4mpA,2472
93
93
  classiq/evaluators/control.py,sha256=aJvAFwWEV__hbjD97z4dcjCYf8O0Pcbg6WNjP5ymqHM,3472
94
94
  classiq/evaluators/expression_evaluator.py,sha256=eMuGRocdNj3uQbcMGWBamVyFQKlh1H3MXnNzzENSYNY,1668
95
- classiq/evaluators/parameter_types.py,sha256=4dhxU6JyKHFq2-2HgeIkKWKgjrgcx_LpFTxRZuhKTgY,16706
95
+ classiq/evaluators/parameter_types.py,sha256=0d4tYOjlnu67rldqulZyVsFFxN3_VVxJnUb5HEEwGqY,16597
96
96
  classiq/evaluators/qmod_annotated_expression.py,sha256=6i83hD32FMtbzS48Ps8w9CLII_v2XoZokmuRNlDjqp4,11293
97
97
  classiq/evaluators/qmod_expression_visitors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
98
98
  classiq/evaluators/qmod_expression_visitors/out_of_place_node_transformer.py,sha256=V77ZsxPvr52zSpUF3XuuP9_7khZRMIxon02I9gaayUo,682
@@ -116,21 +116,21 @@ classiq/evaluators/qmod_node_evaluators/piecewise_evaluation.py,sha256=s7rL1lSbz
116
116
  classiq/evaluators/qmod_node_evaluators/struct_instantiation_evaluation.py,sha256=wfVXs7zF-9OP6Cmw5Mhyqbeg1Rmtaf_VOxZ_86CzHSQ,2462
117
117
  classiq/evaluators/qmod_node_evaluators/subscript_evaluation.py,sha256=NZOZAwbcS251FMd42fAtJLdEfmbxT8X6d_I0XHKItMw,9278
118
118
  classiq/evaluators/qmod_node_evaluators/unary_op_evaluation.py,sha256=xywBIh2VZDNGHewTSDnRpDvTdC4gAc3R77zJWKTwRLo,3396
119
- classiq/evaluators/qmod_node_evaluators/utils.py,sha256=Fr4V2sWUOOr1XPwdQG0_ZodD8fT07EGC_f1Qq5wVZEY,4231
119
+ classiq/evaluators/qmod_node_evaluators/utils.py,sha256=RPBV6Gwy7ZviHfHKO60eWmc_MOfzoqDJXch55vGIGTQ,4261
120
120
  classiq/evaluators/qmod_type_inference/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
121
121
  classiq/evaluators/qmod_type_inference/classical_type_inference.py,sha256=rPxvqRAPz06WsE5FUczO0WIB4dGv2S8BJH2kqpYhZEY,6767
122
122
  classiq/evaluators/qmod_type_inference/quantum_type_inference.py,sha256=3gMh44K7BiTY8W78AcytUPR-1n2xjiUyQ58JcgzKwdM,12609
123
123
  classiq/evaluators/quantum_type_utils.py,sha256=oTouwtHBM_xugCaa4kqd6L7YujRDMRxxqirtnzhzrJk,2792
124
124
  classiq/evaluators/type_type_match.py,sha256=XOI6oJiHkLdcx-RX9yyE2ARXFLbaWYW1Tq2YSlVAOJc,3269
125
- classiq/execution/__init__.py,sha256=vv6Gb5j8mmYw9czw4r2rX6OfZWdVMcMVXY2gPDCHsro,1391
125
+ classiq/execution/__init__.py,sha256=bsDTMOgazX9QWCKvpTzFH2DGqHqGiSKUkOd9Yun9EJk,1596
126
126
  classiq/execution/all_hardware_devices.py,sha256=KpLefEISE03FDdgFPGggXeG7NAxBW4090gN4272Dl-E,368
127
127
  classiq/execution/execution_session.py,sha256=gzqJSdRWq-uTJ4EsSo17RNz1L1ytwgP-tLYHcAA3E_4,26088
128
- classiq/execution/jobs.py,sha256=fw52prvnA9gLb10flBM2cCP7a5FN5f2xHc0i6knpJ1I,12059
128
+ classiq/execution/jobs.py,sha256=YvBQ0IxXPBesaFcPuZOj8BmHzKVt8PhocA3Cf0IDSd0,16139
129
129
  classiq/execution/qnn.py,sha256=zA-I-wvVkjyoigGvcG2W2KVbyKF5Z4X6hIQ3IPI-1xA,2436
130
130
  classiq/execution/user_budgets.py,sha256=zModhoxmfusRm_AEYD80NAzEE9oemmkkwpE9vMP3ydI,3527
131
131
  classiq/executor.py,sha256=5j4bLYP4acxKTenFYnSEGf9tBDCjdpBiaBp86l78U_o,2278
132
132
  classiq/interface/__init__.py,sha256=cg7hD_XVu1_jJ1fgwmT0rMIoZHopNVeB8xtlmMx-E_A,83
133
- classiq/interface/_version.py,sha256=WIG4gOzrua9NxdiD_ldZ54zf2AXARxX9dyHhJSOZX-c,197
133
+ classiq/interface/_version.py,sha256=4QiOQPfPc7oPf3yR7qveNGq2vjkRouIkrHCHFL6gGf0,198
134
134
  classiq/interface/analyzer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
135
135
  classiq/interface/analyzer/analysis_params.py,sha256=34pFb5X5rPeZOe3TNxBq6oT5YJKcJ9ORyZ_7KRP-alA,2991
136
136
  classiq/interface/analyzer/cytoscape_graph.py,sha256=Ky2tSKdnCnA26896DPy64HSVudLnE3FzdGDUUf0nkI0,2345
@@ -185,7 +185,7 @@ classiq/interface/debug_info/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
185
185
  classiq/interface/debug_info/back_ref_util.py,sha256=plWBiBMfFIY6aYAR3NVYComsY394ysLVdk_yFy1qcC4,791
186
186
  classiq/interface/debug_info/debug_info.py,sha256=dYcKD8S7ps4rWNBb5s8cE-pGSekdXXczLy2m2lFPBBk,4448
187
187
  classiq/interface/enum_utils.py,sha256=QxkxLGgON8vdSzLZzHFlPEBJoGOqoIwpESEfLfRqN0w,312
188
- classiq/interface/exceptions.py,sha256=T278kVxyZ7RRoEiQzaF3liQpvqdMTVXy1H_sLR3TnOo,4461
188
+ classiq/interface/exceptions.py,sha256=CxNLU5EPhOcIScSylbt4p8LNoNNCTEO4E96kZ1zDS_w,3791
189
189
  classiq/interface/execution/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
190
190
  classiq/interface/execution/primitives.py,sha256=Zqu5j2s8E7a0B6LyIRX4eEgq3hHqAjA5ptWg0gVLy5Q,1476
191
191
  classiq/interface/executor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -193,15 +193,14 @@ classiq/interface/executor/constants.py,sha256=DtSx-1HArWE0hHjOZHY9WJBevt3hP7M8S
193
193
  classiq/interface/executor/estimate_cost.py,sha256=gkvnEd77iGwdaon6fIbZqY_G1PHi9wDO5Xrbr_hxYpg,1176
194
194
  classiq/interface/executor/estimation.py,sha256=lJEmN3Uj9bW0EY7JEZvzItwEybbBHSn7zYFz89L8fqo,389
195
195
  classiq/interface/executor/execution_preferences.py,sha256=vrufYu9r4F-nBTS4NGkTAOteSmoFrjTTpSCafg0x8wo,2871
196
- classiq/interface/executor/execution_request.py,sha256=B5R-E37voN5FVK8WbS01y2VUa7uur5kFblYIeMSoXXs,2404
196
+ classiq/interface/executor/execution_request.py,sha256=dJIOIf2yHgsdVWw-JS8f2nnmRMSN7dtpI1ZAw1YtsN8,2453
197
197
  classiq/interface/executor/execution_result.py,sha256=Xxe3Q4HuWCneOTQy3MYl0R3BuQLGCVOfRooDjHx_mWg,3167
198
198
  classiq/interface/executor/optimizer_preferences.py,sha256=-AJjvpPoXGCWt_rrfsEtWy_BUKX0ZjR679J8_VPyv4Q,302
199
- classiq/interface/executor/quantum_code.py,sha256=lYgOfpDvChd9HHGbgou1LB3KOaLV3Y03FzjUi7aP5pY,4256
199
+ classiq/interface/executor/quantum_code.py,sha256=yMVTKq6unJYZyfKyiMYJHOwdtBwSksfD6Nf5DGWWirM,3917
200
200
  classiq/interface/executor/quantum_instruction_set.py,sha256=z6i6jWsXjatmyrTJW6t9XjQrO6scRgmfV1Oi2xEEu1A,592
201
201
  classiq/interface/executor/quantum_program_params.py,sha256=yoxZRCa-O_sbzchUXPcIjQ_doT6db_8o9mf040NDWkM,503
202
- classiq/interface/executor/register_initialization.py,sha256=-dkivVSDkkLGkIdu0L5VaONhPCRp_JE42LiAZuHUK7k,1365
203
202
  classiq/interface/executor/result.py,sha256=oyenkuVT2sqLhoYBfcJIsCHzt980ip1wRvps6mX62AU,16954
204
- classiq/interface/executor/user_budget.py,sha256=XLhj7hLPL18ZGBiOxyB5jLIyPJl1x_AhXvOWUFR9Fz0,1747
203
+ classiq/interface/executor/user_budget.py,sha256=fcaaB91HdURQrfROlSOaQcDnKUR7gl26TRN_n7PQCMI,1572
205
204
  classiq/interface/executor/vqe_result.py,sha256=SaYSgj8JtyDR4b8Ew6zs6fKTfTJKgQd6pIoDv7unHB4,2281
206
205
  classiq/interface/generator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
207
206
  classiq/interface/generator/adjacency.py,sha256=JCXr1C3Imbs9AVboIBr3OHkW31Z3YrPHeNCE9tniH7U,428
@@ -275,6 +274,7 @@ classiq/interface/generator/functions/qmod_python_interface.py,sha256=w1Oz3bV6KS
275
274
  classiq/interface/generator/functions/type_modifier.py,sha256=tcAS3rfgBhNyWW-IDj5v4wA00fOMfDektRD4IBmnvqQ,150
276
275
  classiq/interface/generator/functions/type_name.py,sha256=OyFT64_ktSVteTgUFUUjX2lY6923yWJkkssLIOiZKo0,7146
277
276
  classiq/interface/generator/generated_circuit_data.py,sha256=eHFqjw510qSj0sYsCokeastwjHMGNcaQld91pBZm2is,12675
277
+ classiq/interface/generator/generation_request.py,sha256=SEwaslefOWls3XfLDUl7v-81lulKqUbFbRd4fijll5I,1101
278
278
  classiq/interface/generator/hadamard_transform.py,sha256=NI4oZBpDCGfaw2OTb5SL3iSGI_nDtyUgElTCO4pEKnk,673
279
279
  classiq/interface/generator/hamiltonian_evolution/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
280
280
  classiq/interface/generator/hamiltonian_evolution/exponentiation.py,sha256=sBRQAtP5MD3aaF9FmKKXtrF2g8DXn_OI_G_BWLv0jX8,1675
@@ -301,7 +301,7 @@ classiq/interface/generator/preferences/__init__.py,sha256=47DEQpj8HBSa-_TImW-5J
301
301
  classiq/interface/generator/preferences/optimization.py,sha256=7iEWWNFSxqi4XMb4JmOcfeN8KqvNMEcSjQw8P8yrdOA,1066
302
302
  classiq/interface/generator/preferences/qasm_to_qmod_params.py,sha256=K1MFAUK_uhRfedjfm_bV-ApZsqmJWzeRD37-hd3yaTg,417
303
303
  classiq/interface/generator/quantum_function_call.py,sha256=_EBr9TR12XwVTd0FVWrbjZrAK963xu6yCcwgNBKQJTg,24127
304
- classiq/interface/generator/quantum_program.py,sha256=BluBor2iaVYO0eTuh9Hm_ina2xOb2Su3PQU6OG8oHc8,6853
304
+ classiq/interface/generator/quantum_program.py,sha256=wBUWpmxiYOGhpSbpkiJy6jxIDliSOCqoISfzJMaYzxs,5657
305
305
  classiq/interface/generator/randomized_benchmarking.py,sha256=D6KI_1fMF5oBydaal2WLmTSit6xSMtz0yDAIZMMO89Q,635
306
306
  classiq/interface/generator/range_types.py,sha256=bmm2NjRxaCoVJT5WMLjPDCrjGCbjzgjodlCDUNiGA68,2028
307
307
  classiq/interface/generator/register_role.py,sha256=moerPIO9gQUuG5pe43TemmScSVjTK7_gi-qbrhIgLOA,1147
@@ -318,10 +318,10 @@ classiq/interface/generator/synthesis_execution_parameter.py,sha256=l6aktoNqXVpZ
318
318
  classiq/interface/generator/synthesis_metadata/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
319
319
  classiq/interface/generator/synthesis_metadata/synthesis_duration.py,sha256=CEQFUYCnkMBmJuPBITS-PVAPqUw0ZnKXN4-fn74zTIM,812
320
320
  classiq/interface/generator/synthesis_metadata/synthesis_execution_data.py,sha256=N_vgRIyH7n_sdiOzttmDHkXdajY89PKkggT2o-gAuyo,1911
321
- classiq/interface/generator/transpiler_basis_gates.py,sha256=W3STIWEMHds5UgaMab-QanaBoaaUMKBof1-PcxMxpgs,2723
321
+ classiq/interface/generator/transpiler_basis_gates.py,sha256=U66BGe9yhqGQ31OUV8bwL_U29GsupVBAFDYGPKEqiRk,2688
322
322
  classiq/interface/generator/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
323
323
  classiq/interface/generator/types/builtin_enum_declarations.py,sha256=H9zkpag4t75Gnfocw2WQGTuqLRQYrqpzRsJ9kbtBQaU,334
324
- classiq/interface/generator/types/compilation_metadata.py,sha256=TuIO3namSEy1cql2gWl2dBixPWHLA4cZflc6VqWur_0,1005
324
+ classiq/interface/generator/types/compilation_metadata.py,sha256=uhCibrsTC6rfW6vB8G4oa3txwE8EwrI6MBFVbUw0JS4,1005
325
325
  classiq/interface/generator/types/enum_declaration.py,sha256=3_pIY47ZbPN_UIUa-lT8twEsyRbTDEHj0X3Tzmsrm60,3412
326
326
  classiq/interface/generator/types/qstruct_declaration.py,sha256=Qw6cHW_elZmrs4UO0z7lgS7TWb0hEUEJ5Ur-Ko0bCR4,485
327
327
  classiq/interface/generator/types/struct_declaration.py,sha256=2qKVV-pdqeUGiwKh2-5W2Ci4z0aQG4TG91MuQ82fa_A,959
@@ -339,9 +339,9 @@ classiq/interface/helpers/custom_pydantic_types.py,sha256=fr2V13aCNeLFNaNBFiuYrF
339
339
  classiq/interface/helpers/datastructures.py,sha256=0pMgENe8Ev6e6Kip2644s79OceMzccIb4DcLVXJ4t_0,864
340
340
  classiq/interface/helpers/hashable_mixin.py,sha256=BmMts3hvzNgTWnbYmjVeDYyNL9uMqID4jW_FLQapNVM,1099
341
341
  classiq/interface/helpers/hashable_pydantic_base_model.py,sha256=ADkPtodtdNEsLkZl65Vw-H8N6e0pJaLccV3G1l-QPcs,638
342
- classiq/interface/helpers/model_normalizer.py,sha256=TC3byg70bLCHubzYttLr_jz2AtHmsXUr0mJsJ4AM0FY,1601
342
+ classiq/interface/helpers/model_normalizer.py,sha256=AN7ad-TRsqZA7xLip_zJvvizNcdr5o4Rdjxa-OiTjvk,2747
343
343
  classiq/interface/helpers/pydantic_model_helpers.py,sha256=i4AccZnH4EuxaRF6dbMdNrZ2kwxbbHsjzxP-fGDtyE0,548
344
- classiq/interface/helpers/text_utils.py,sha256=Thtv1IzkVnnBu8n0Qn5RepbQARJuiJNaIiQXDKqUie8,551
344
+ classiq/interface/helpers/text_utils.py,sha256=39O0qb8rLMomt6QC7ZoYv6rsl6GdlzWB6UNCryuIU9I,836
345
345
  classiq/interface/helpers/validation_helpers.py,sha256=Jt0xs5EZeEQZOBEZPRmKctHmAiEfp6cWhLcSycsU_8w,594
346
346
  classiq/interface/helpers/versioned_model.py,sha256=XFjk7GPEUKeUeXc4fK0azhUUvze8bNheTDDIE-JZTdw,579
347
347
  classiq/interface/ide/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -351,7 +351,7 @@ classiq/interface/interface_version.py,sha256=9-Xz6OauSvAPJfTS_7eJ8ZIgT6EU-VBCIO
351
351
  classiq/interface/jobs.py,sha256=KuVNoE1sDkdTQA170X3VrJM7H0yGh3hMR3VS3FPyyJI,2323
352
352
  classiq/interface/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
353
353
  classiq/interface/model/allocate.py,sha256=4ybki0Z5CUnAF2o5ARDKFFaXJgd_ezZ6BZf41cgunPY,974
354
- classiq/interface/model/bind_operation.py,sha256=wfc1u6VX5urfOVuwW5bUnBKXuDzDDjS-2XBQTK3knjM,1470
354
+ classiq/interface/model/bind_operation.py,sha256=2ycchvUXezsY83ubwvjgzsHMrhtlqz45g0az-n34dPE,1600
355
355
  classiq/interface/model/block.py,sha256=WITUfFlfvLZ4zMBtxdYO8K6KHlT5Dg6QR3J5xzhTHoE,484
356
356
  classiq/interface/model/bounds.py,sha256=rWsqQdo09VsawiuCPwtZe-a-0lKXZm2jf6EXlhRur8g,707
357
357
  classiq/interface/model/classical_if.py,sha256=xJIdmXAUXOp1htL7hBnvNdc49wWkVvCa-He3Bcksq5g,2211
@@ -359,8 +359,8 @@ classiq/interface/model/classical_parameter_declaration.py,sha256=Xy545UrJPBL7o-
359
359
  classiq/interface/model/control.py,sha256=AFduNnIKGAPLE0YfJgmUtW7OFvBs5SApbE0mARN_e9A,1749
360
360
  classiq/interface/model/handle_binding.py,sha256=yr9cTVPEcrtY1wqeAYp1cpEXIUjR3kpzDYqWBUl6iZ0,12754
361
361
  classiq/interface/model/inplace_binary_operation.py,sha256=lccxr1-XMCXJh0BfoQxSLr5xhVkJxeaVCzZ5Mh3jYiI,1617
362
- classiq/interface/model/invert.py,sha256=7FjdSVY7L9SNTg6GfAwWbPY57buX-J9Zlo-scbiF-jk,561
363
- classiq/interface/model/model.py,sha256=NzEvnw4unbiuLFX6Yq-QPt4qbXoZIQ3eLsbK-deUGd4,7324
362
+ classiq/interface/model/invert.py,sha256=tmWrCZ4IRgSurfmUUW-F91O3c3iILq9EwtYMQ1Z-TSM,742
363
+ classiq/interface/model/model.py,sha256=PCBiyz5OZPX2NvVak-AIgCf9L5oYZElDB8WMMcrGmNI,8763
364
364
  classiq/interface/model/model_visitor.py,sha256=VGkfGrRNE3ZL8OoKnTi9fDKvo2d3QD4bpkRs1BjbDmA,2031
365
365
  classiq/interface/model/native_function_definition.py,sha256=_oGboBMAxVTPjkIHT9cKUo8lDNwsnwV62YQaTwKvjug,658
366
366
  classiq/interface/model/parameter.py,sha256=Md90hWndjTzBxQ8SX64mA3jWe1RrEXkt5h3ZXAMFooE,301
@@ -371,7 +371,7 @@ classiq/interface/model/quantum_expressions/__init__.py,sha256=47DEQpj8HBSa-_TIm
371
371
  classiq/interface/model/quantum_expressions/amplitude_loading_operation.py,sha256=9vo9duieNmLwGoUn6Ey4C0YSqYymbt3Tb6eo80qATIs,2449
372
372
  classiq/interface/model/quantum_expressions/arithmetic_operation.py,sha256=OzXJRrkSGggj2M4fH-EmP2x_fPqp07-WcVinC-o9YAM,3231
373
373
  classiq/interface/model/quantum_expressions/quantum_expression.py,sha256=QQVcKLNX4v6TIzq9MY4nNw4pqCBVcYdo98lmGdUcOp4,2197
374
- classiq/interface/model/quantum_function_call.py,sha256=JaQ7xOixGLW3RUE8psNHMgww48yNnd1fPaDfPBbfof4,8323
374
+ classiq/interface/model/quantum_function_call.py,sha256=bTUJ12-m7DnQEv0fyPKecgpe08fEGrc56TYcaR7aXak,8821
375
375
  classiq/interface/model/quantum_function_declaration.py,sha256=YZ25h_vVKC4_KbwvehvVKen1SXQsHxtPOJcW_a843Dg,9133
376
376
  classiq/interface/model/quantum_lambda_function.py,sha256=Z060v2Jis7o9rosEv_Fqpl9nh2EsAXZt8GFn_r4otb8,2462
377
377
  classiq/interface/model/quantum_statement.py,sha256=K7ovMshFaH-SmQp6ZV0DQsLgN6HnnksbD91uj5PQD1M,4005
@@ -395,7 +395,7 @@ classiq/interface/server/routes.py,sha256=Of0wZl_RBJwW_8t2DZiZBJkZwRqY6BKxoW7eCm
395
395
  classiq/interface/source_reference.py,sha256=A44UHfPyUeOog8K4G1ftNLiU8WyYvUpkeVyA1PBLhWI,1844
396
396
  classiq/model_expansions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
397
397
  classiq/model_expansions/arithmetic.py,sha256=H37cybFtPrPB4jSyNRDcqSTnd9p4dPLHBqzkEQl4gBc,5072
398
- classiq/model_expansions/arithmetic_compute_result_attrs.py,sha256=y0nkLM80WAAHyfoA_P4BvPP5xEB2Ug33sVvk7Yl5ZGM,10888
398
+ classiq/model_expansions/arithmetic_compute_result_attrs.py,sha256=0ucjLAVysbjn11enXeNeFXnFtHy1WPk2afoiWZyz6IU,11161
399
399
  classiq/model_expansions/capturing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
400
400
  classiq/model_expansions/capturing/captured_vars.py,sha256=OwkO_kw9s4r4U5Au3aD4upkXj9A8QFCrtdipSPQygm4,32624
401
401
  classiq/model_expansions/capturing/mangling_utils.py,sha256=Vqk6T4s9e9km54oD8P_gDOkjZ4RbvBatPx4oKcA7jvM,1827
@@ -404,7 +404,7 @@ classiq/model_expansions/debug_flag.py,sha256=JWzl9FFq2CLcvTg_sh-K8Dp_xXvewsTuFK
404
404
  classiq/model_expansions/function_builder.py,sha256=DNj7NUtM3vYL-eCYWTGWhqgH89hbms6WkQTaZDze5UI,9090
405
405
  classiq/model_expansions/generative_functions.py,sha256=JUqDl6aSphEM5LdOjxuf0LLVcxOcfB4GycP65zbq6NI,8194
406
406
  classiq/model_expansions/interpreters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
407
- classiq/model_expansions/interpreters/base_interpreter.py,sha256=4xT7uPNKoJIkSk3mOtWMLKKg_0P8Vb5ORdxi9sAiUZU,14626
407
+ classiq/model_expansions/interpreters/base_interpreter.py,sha256=n_x_lRa_DtauoGO03IExU1sYuVJk4HpnOVY3wBgixJw,14651
408
408
  classiq/model_expansions/interpreters/frontend_generative_interpreter.py,sha256=YKoZsv9rB1KZBQqKjpVh73CIla6QrsEB1dpa-Hlnrx4,3836
409
409
  classiq/model_expansions/interpreters/generative_interpreter.py,sha256=_7rfmE7wc6VlJNoSj-ji2hZ4p230VR35jWG9bhW72K4,16337
410
410
  classiq/model_expansions/quantum_operations/__init__.py,sha256=unuHvw4nfyOwE_UyOcyLNHJfr_ZutX7msHNZ8yrToDM,398
@@ -415,7 +415,7 @@ classiq/model_expansions/quantum_operations/assignment_result_processor.py,sha25
415
415
  classiq/model_expansions/quantum_operations/bind.py,sha256=6-jIhZEAXi5cb7xuOB4YN1KiDTK_DuXUNnkTqfD2jc4,6760
416
416
  classiq/model_expansions/quantum_operations/block_evaluator.py,sha256=06EYOb5CVDUvqYXKk-s-rcoY3rQ2Dr2XWUkqNzT0N0w,4734
417
417
  classiq/model_expansions/quantum_operations/bounds.py,sha256=p2qb5MybXCTEQ2zeJRN3P3CDtSyhLSjJ_QZ_-xEWjBM,1394
418
- classiq/model_expansions/quantum_operations/call_emitter.py,sha256=R9y6kDBagDRDL4sg5tiJuiW2TuOq-_sW_sZkYFHdO3Y,18911
418
+ classiq/model_expansions/quantum_operations/call_emitter.py,sha256=QqluEr7TsY8sY3Bxi3eVYH3FBD5Ae2oHkHXSXZ8obQw,18780
419
419
  classiq/model_expansions/quantum_operations/classical_var_emitter.py,sha256=LDYdIubNbisJlyDAMuS2qHgfs-2m344SbJrehXhDZwk,1055
420
420
  classiq/model_expansions/quantum_operations/composite_emitter.py,sha256=AQp3cYaUUA7eEKNwmZwIq1KEdDlTKRaXiop9pXxSVZg,815
421
421
  classiq/model_expansions/quantum_operations/declarative_call_emitter.py,sha256=LIUb0bhBs3G1-f-bYcFq9PxCMvrrpbuLtELNJrWI22w,3628
@@ -437,27 +437,29 @@ classiq/model_expansions/utils/handles_collector.py,sha256=AdbNN0yXaLRRvqIPSvexR
437
437
  classiq/model_expansions/visitors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
438
438
  classiq/model_expansions/visitors/boolean_expression_transformers.py,sha256=ReVGX16m-lYEt6oQWe52oBd_seyp2J3-mJfQqPPqVjk,7137
439
439
  classiq/model_expansions/visitors/symbolic_param_inference.py,sha256=goLFicRmxFuambcJ6sJBXhjyZFSszPWDubu5Vjhjgl4,8412
440
- classiq/model_expansions/visitors/uncomputation_signature_inference.py,sha256=7WokVCaDELa8fNMyblDcIljhvkgKtn-WnRQFwRtEy4Q,12911
440
+ classiq/model_expansions/visitors/uncomputation_signature_inference.py,sha256=K8Xa7ZrIdtaUDULag25f2hKzG3iDBI25TfD305N9UWk,11856
441
441
  classiq/model_expansions/visitors/variable_references.py,sha256=z6_vcra7sTak5mEhONXs77p7xO34Y8ZeeYCMuSfAui8,6587
442
442
  classiq/open_library/__init__.py,sha256=bmg_qqXCXo85hcU7_QCce-qYGrpAVSFNwTKCClsclrg,114
443
- classiq/open_library/functions/__init__.py,sha256=1oOgZEvnfAd_hCizMr6tlMvhPcKZ0Aq3jRQQgtJ3C-4,4189
443
+ classiq/open_library/functions/__init__.py,sha256=-d_f_d21kiK_KMIEmuuH9ceuJlMTY1sfVYeNIbrhK9o,5047
444
444
  classiq/open_library/functions/amplitude_amplification.py,sha256=WH2dqYbmmWHZX7beu7-EipnC6Gzn4En4D2gmB2sXvZI,3997
445
445
  classiq/open_library/functions/amplitude_estimation.py,sha256=iCkca5SQN_HQoJWk1_tLT56fHT72hu5QIt2pxSZQRko,1766
446
446
  classiq/open_library/functions/amplitude_loading.py,sha256=TN4Hq11RDk8JCXCKa6uZYi0Ch8CU9g9RP_IIZJ8tvX4,2844
447
+ classiq/open_library/functions/bit_operations.py,sha256=4WqE3jzkxxaoOq_C1ECMhdEyUcQbcqtQqFILigUqvtA,872
447
448
  classiq/open_library/functions/discrete_sine_cosine_transform.py,sha256=F-yD4paGBFueWRK_Tr36aIxxBuzvXte1JtvizxKet68,4634
449
+ classiq/open_library/functions/encodings.py,sha256=0cNhkttdigvFhYJ6DQ-9Otkep3D6bd6Sx1e31X4ZIa4,6619
448
450
  classiq/open_library/functions/grover.py,sha256=e5LlbHj-nfR_iAhmRei4BuFJOjDFJrb2rBwzdwB-xfg,4688
449
451
  classiq/open_library/functions/hea.py,sha256=Nc9pj-4mGLZVQQKCaVRgrcPd4eViuz3Ji5ZeYzaCozg,4889
450
452
  classiq/open_library/functions/lcu.py,sha256=MZcxrxWVSngyw888RpH4Yum9eaQC0vwAKwq5K5_kygU,5268
451
453
  classiq/open_library/functions/linear_pauli_rotation.py,sha256=rjQTglfF1MVk1-Wmk6QWhUPOC7bOPRtBTttz7EjCfcc,2679
452
- classiq/open_library/functions/modular_exponentiation.py,sha256=Elpxo5K88SKz55ujyThLLfDuS5Jei59bgyiL_yKQo4A,8552
454
+ classiq/open_library/functions/modular_arithmetics.py,sha256=qfdHFHV2oMYgXhQC27fe55SujD_IEfRJMpJZXge9JsM,19996
453
455
  classiq/open_library/functions/qaoa_penalty.py,sha256=bnsBlnLwmjAPB4CZ9m1SVPP-eGTnAKXXJwNB-_RuS_Y,4248
454
456
  classiq/open_library/functions/qft_functions.py,sha256=7pdPBq48QvyQkxHrF3rEKTf0J50qUu_2bN17lfSc7I0,1382
457
+ classiq/open_library/functions/qft_space_arithmetics.py,sha256=Fx8FY-NOwxDxAFBg0CwopjEsOkHxrIXMjc2aLqWEo-s,2507
455
458
  classiq/open_library/functions/qpe.py,sha256=e7MBpOthBn73BdqhWpNGT0lkd6Jw3ZG7tE6n--IM0jc,2140
456
459
  classiq/open_library/functions/qsvt.py,sha256=5Y7S33XFj9olENmSFG-8pSvF5LwQlwk0LZJY7BTQNEY,14751
457
- classiq/open_library/functions/qsvt_temp.py,sha256=-t-JtbrEfBMTDG2eq9eGJZ0RopzICrnMUsOHvw1fCDI,25150
458
- classiq/open_library/functions/state_preparation.py,sha256=Ead5mXRFtgq3TrzjRI2FMZSldi6Wmrjp2SLRozijMYc,25942
460
+ classiq/open_library/functions/state_preparation.py,sha256=i1sJvjeZVFNHznQW-Nc0l72RJdz7z4yxv2v3bpAEhR8,26078
459
461
  classiq/open_library/functions/swap_test.py,sha256=hAjiJjZGeJP2qzEkVYmBVlEK44VcNibWZ-KqJwPEcFY,1048
460
- classiq/open_library/functions/utility_functions.py,sha256=-0r7dUdh1KJa93QORRlmPFM8ZDObyreB5Q5Jx4d9RBM,2539
462
+ classiq/open_library/functions/utility_functions.py,sha256=Z11eXeJ5xSEq3IY3DiX0-FOu35iQVg7k9um0CLs1OC0,3007
461
463
  classiq/open_library/functions/variational.py,sha256=KYoqPKYRjgUXk_10RvogV0YiCG5kl7GZBHBJeeX82II,1715
462
464
  classiq/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
463
465
  classiq/qmod/__init__.py,sha256=8yDbZ-u56Q_awkE93JQpVIdeSNXO1-DOdKqTVfpV3ZU,985
@@ -470,12 +472,12 @@ classiq/qmod/builtins/functions/__init__.py,sha256=G4dvF1jAARf1PhmwSIs_eO7WWe4dm
470
472
  classiq/qmod/builtins/functions/allocation.py,sha256=sPDC4yKa1HyNlJvUXyqPd0GEemhHd4cpGMWAd-v9osc,7413
471
473
  classiq/qmod/builtins/functions/arithmetic.py,sha256=ikR4cDEYn0xyg1QS_F_ZFwtMLPezSN9XGuyc_C0pXnc,1846
472
474
  classiq/qmod/builtins/functions/benchmarking.py,sha256=TYY1VRd5DHl-mKTKeW5wF1txZgFsb3yPXM_rdgoLWCo,250
473
- classiq/qmod/builtins/functions/exponentiation.py,sha256=JYrITDjRD1gmZIVESJ29kVwTpxUL1WQpAkPSpNOQAo4,10577
475
+ classiq/qmod/builtins/functions/exponentiation.py,sha256=_f3AwL23PEciQIakAVGGzhizmYp6RGL8gz48ESgNaiM,10535
474
476
  classiq/qmod/builtins/functions/mcx_func.py,sha256=PUsiY_0u53g-dYwX6uZ6mkthx2dV-_7yrgkIHyHgRtw,187
475
477
  classiq/qmod/builtins/functions/mid_circuit_measurement.py,sha256=UYtVbsl1vZSBU7x64-3s5EgbZ28fbvGx86j30rsts3w,415
476
478
  classiq/qmod/builtins/functions/operators.py,sha256=3IWFjUFhljY5CEe2ZU9Z8m33FzwM9E80IADcDcxVuNI,270
477
479
  classiq/qmod/builtins/functions/standard_gates.py,sha256=xQD75C5clg2_GDqUlH5FhEFh-4VMUk0XHU2SwNRQn2k,16170
478
- classiq/qmod/builtins/operations.py,sha256=7IxCSxNVLhN8Ha9oHvi-KGi39dX8uCRbdBiHBG-34M0,30849
480
+ classiq/qmod/builtins/operations.py,sha256=FeJ-xWalX52MPQ_wBVFJPQtDAGV0J4a2brpU_rLhN-8,31599
479
481
  classiq/qmod/builtins/structs.py,sha256=HMtbIi5IpEeekqSwigxY84EkKBUf8NtIiEvGkas4d94,5752
480
482
  classiq/qmod/cfunc.py,sha256=BVHvgVXAZS1SyE0g8Q-1YEMhNO566V0hnl4LZJS3Eg0,1088
481
483
  classiq/qmod/classical_function.py,sha256=QqG4Lg8qvd_OpfCsvI0Yv62DCG7tnY2otiXKPqy72EI,1115
@@ -488,24 +490,24 @@ classiq/qmod/generative.py,sha256=n9nCvzBjseGUfyX6TipFej77b_zRTnMv84OoOTA54oc,14
488
490
  classiq/qmod/global_declarative_switch.py,sha256=30QOkNsDdsVdk14TNx-AetFbBskoXGpHQ-k--vNqVWc,427
489
491
  classiq/qmod/model_state_container.py,sha256=ry8BB6Az8Cl8WMOyWih38pcPTa4NdMbVPyTCbkvRsso,2135
490
492
  classiq/qmod/native/__init__.py,sha256=gm0L3ew0KAy0eSqaMQrvpnKWx85HoA1p9ADaAlyejdA,126
491
- classiq/qmod/native/pretty_printer.py,sha256=9iqsVFVsYtJ806bnYTCElP6dCxnXFnodE4VkwN7ZFhI,19187
493
+ classiq/qmod/native/pretty_printer.py,sha256=25gkfSkVk6FmPrmvSL1F_uoLCgk9oCEHcy8xjicZ1pc,19752
492
494
  classiq/qmod/pretty_print/__init__.py,sha256=jhR0cpXumOJnyb-zWnvMLpEuUOYPnnJ7DJmV-Zxpy1I,132
493
495
  classiq/qmod/pretty_print/expression_to_python.py,sha256=H_ZeMkmRIAs4OS4VHxBdrX_0Lh0m189QAyO3xqeUdbg,7648
494
- classiq/qmod/pretty_print/pretty_printer.py,sha256=5eo6LkEalJOKf_hmaHmTsICvPkhPajXv7G8mOJkmI9Y,26843
496
+ classiq/qmod/pretty_print/pretty_printer.py,sha256=cxx7RUpPIwmG5Ius4PKgiIHObMK5Ip79uvPr7bfnhUo,27442
495
497
  classiq/qmod/python_classical_type.py,sha256=E-uJUKm0Ip5wWIhad5YHUZmIPpdFcy6ccuNnjddSQAs,4440
496
498
  classiq/qmod/qfunc.py,sha256=vlDrjqnNpj3N7itAHZvI0JKoJ2c8YhWHOwtFnn0uyTA,5465
497
499
  classiq/qmod/qmod_constant.py,sha256=aAP7o3ZYa_kwlQOiW0kFWfU5SyqEUVqeITBm6Njt6Js,5130
498
500
  classiq/qmod/qmod_parameter.py,sha256=UtVLkHNxJWftpHsYc-AjHP8oYzXtFgSaxUnxFuefhJQ,6570
499
- classiq/qmod/qmod_variable.py,sha256=JRoTXulqbDS4PoFWqVZdU2eGyFNwfaNaDin1E-CeSjM,32502
500
- classiq/qmod/quantum_callable.py,sha256=XODQnSr2gI_N46LPpSAqenXfZVsT1jxoue84RgyJMoA,2497
501
- classiq/qmod/quantum_expandable.py,sha256=WJ72ci-fL-3VQtVHg8Wp80aSphgb6n-e3zzv4ALhwPs,19473
502
- classiq/qmod/quantum_function.py,sha256=M8DLOxBejr2mInIqSLl0TIQoOW4_jTHmm_k9KTtDYFA,17453
501
+ classiq/qmod/qmod_variable.py,sha256=EVuKQExplTf9zKJIsTJ4PAg2ScwMZyKp5j_cg2NQxhg,32502
502
+ classiq/qmod/quantum_callable.py,sha256=qkmvbBGFMmSf5mMGFFGfUMMmONsy8f05ZehvxN4WT88,2643
503
+ classiq/qmod/quantum_expandable.py,sha256=iKgBHMktdWP-KrqthGXkK6JtUOdW7cgfCLhRC2jL8Ew,19561
504
+ classiq/qmod/quantum_function.py,sha256=gnwKRH3HTu4YAMYS-VtpPt4wbw43u0uFB-j1xYUjhzY,17490
503
505
  classiq/qmod/semantics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
504
506
  classiq/qmod/semantics/annotation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
505
507
  classiq/qmod/semantics/annotation/call_annotation.py,sha256=kieFypj0PSLam6jbxs9fOwr4rRZ_sI5FXBNnfQmPfYw,3887
506
508
  classiq/qmod/semantics/annotation/model_annotation.py,sha256=gzsX3RrcaTPYBxxplbXaE3pBlQQvVkLGrK-xewzdVMA,329
507
509
  classiq/qmod/semantics/annotation/qstruct_annotator.py,sha256=z4W_-i806XCU-58R-Er_oX7EZo5QwusFsC0eIbGtJTU,2599
508
- classiq/qmod/semantics/error_manager.py,sha256=iCmJ7fHc0WZB6V5oLyJfp6VC12nNP5rGrgIeGDYlQKw,3657
510
+ classiq/qmod/semantics/error_manager.py,sha256=TYqkSD34SMy-hJAjf01dV6Om5RPo1L4gvX90h_YONNc,4048
509
511
  classiq/qmod/semantics/lambdas.py,sha256=TfB6zD1cX11wbQt8s1B0bUl-D6JIfl9PMzQ0IMX-i7I,1187
510
512
  classiq/qmod/semantics/static_semantics_visitor.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
511
513
  classiq/qmod/semantics/validation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -520,12 +522,14 @@ classiq/qmod/symbolic.py,sha256=HtaHB7xz-KGt-tWmVw6Q4wlEq0MPLr99fPcbzqzdWoM,8178
520
522
  classiq/qmod/symbolic_expr.py,sha256=z49EyU_bzqc8qOlaOWcWH8A87ACS6aIkYzsLC0DmUBU,7601
521
523
  classiq/qmod/symbolic_type.py,sha256=27tY6pJMFt3EmXIKDJPrNFIUuanIlEu4OueseARbk10,260
522
524
  classiq/qmod/type_attribute_remover.py,sha256=NZmTXAsngWqthXjE8n-n6yE72fiWTFM12-TXXJ1kJ-Q,1242
523
- classiq/qmod/utilities.py,sha256=iS1adFBvnYm31PVkNIx2d6Ir5EqYoqo70B_t2pdPz7I,5443
525
+ classiq/qmod/utilities.py,sha256=3EiZ020Y5hX5SDZcGqSCUZ3SJA_-0CpW3Pra7mFwYfc,5521
524
526
  classiq/qmod/write_qmod.py,sha256=8xiZKCpy0y5c246DRow22-2YQm7F_eSTXY2KJRFAeds,3495
525
527
  classiq/quantum_program.py,sha256=9r1AvhPHDZb4lBEem5T5-mMqbojjyRWHysbJhAoNx80,2056
526
528
  classiq/synthesis.py,sha256=RedYU2XVovqd1nmZU4Nb3b705gBlDarXDqQ1A7ug6C0,9852
529
+ classiq/synthesis_action/__init__.py,sha256=-LUXCVytknC5xKt4PFxxQ5YR4HQ4YDQhT5jcE7Qp_QA,393
530
+ classiq/synthesis_action/actions.py,sha256=tYkh-69thNsi3qZbrjdGqPwd-carpyLIYQS49r0LcGU,3648
527
531
  classiq/visualization.py,sha256=SvLkPNN-RFd74wnH83eBNANjX11phBTo0wedTazr7VQ,975
528
- classiq-0.99.0.dist-info/licenses/LICENSE.txt,sha256=pIUwTWPybNElw1us8qbLyUuGDCH1_YioM4ol5tg0Zzw,13367
529
- classiq-0.99.0.dist-info/WHEEL,sha256=X16MKk8bp2DRsAuyteHJ-9qOjzmnY0x1aj0P1ftqqWA,78
530
- classiq-0.99.0.dist-info/METADATA,sha256=IKPENrcnWbkTebR1ZrfyXGiSUmb2QHhcPv_zkGtv68c,3744
531
- classiq-0.99.0.dist-info/RECORD,,
532
+ classiq-0.102.0.dist-info/licenses/LICENSE.txt,sha256=pIUwTWPybNElw1us8qbLyUuGDCH1_YioM4ol5tg0Zzw,13367
533
+ classiq-0.102.0.dist-info/WHEEL,sha256=X16MKk8bp2DRsAuyteHJ-9qOjzmnY0x1aj0P1ftqqWA,78
534
+ classiq-0.102.0.dist-info/METADATA,sha256=dGbZHdgmXTl-q3q4T1IT2ZeT9WXuB26L6Gh2SerCJ-w,3745
535
+ classiq-0.102.0.dist-info/RECORD,,
@@ -1,36 +0,0 @@
1
- import pydantic
2
- from typing_extensions import Self
3
-
4
- from classiq.interface.exceptions import ClassiqStateInitializationError
5
- from classiq.interface.generator.arith import number_utils
6
-
7
- _NON_INTEGER_INITIALIZATION_ERROR_MSG: str = (
8
- "Only natural numbers are supported as initial conditions"
9
- )
10
-
11
-
12
- class RegisterInitialization(pydantic.BaseModel):
13
- name: str
14
- qubits: list[int]
15
- initial_condition: pydantic.NonNegativeInt
16
-
17
- @pydantic.field_validator("initial_condition", mode="before")
18
- @classmethod
19
- def _validate_initial_condition(cls, value: int) -> int:
20
- if not isinstance(value, int) or value < 0:
21
- raise ClassiqStateInitializationError(_NON_INTEGER_INITIALIZATION_ERROR_MSG)
22
- return value
23
-
24
- @pydantic.model_validator(mode="after")
25
- def _validate_register_initialization(self) -> Self:
26
- qubits: list[int] = self.qubits or []
27
- initial_condition: int = self.initial_condition or 0
28
- name: str = self.name or ""
29
-
30
- initial_condition_length = number_utils.size(initial_condition)
31
- register_length = len(qubits)
32
- if initial_condition_length > register_length:
33
- raise ClassiqStateInitializationError(
34
- f"Register {name} has {register_length} qubits, which is not enough to represent the number {initial_condition}."
35
- )
36
- return self
@@ -1,272 +0,0 @@
1
- from classiq.open_library.functions.qft_functions import qft, qft_no_swap
2
- from classiq.qmod.builtins.classical_functions import qft_const_adder_phase
3
- from classiq.qmod.builtins.functions.allocation import free
4
- from classiq.qmod.builtins.functions.standard_gates import PHASE, SWAP, X
5
- from classiq.qmod.builtins.operations import (
6
- allocate,
7
- bind,
8
- control,
9
- invert,
10
- repeat,
11
- skip_control,
12
- within_apply,
13
- )
14
- from classiq.qmod.cparam import CInt
15
- from classiq.qmod.qfunc import qfunc, qperm
16
- from classiq.qmod.qmod_variable import Const, QArray, QBit
17
- from classiq.qmod.symbolic import min, mod_inverse
18
-
19
-
20
- @qfunc
21
- def _check_msb(ref: CInt, x: QArray[QBit], aux: QBit) -> None:
22
- within_apply(
23
- lambda: invert(lambda: qft_no_swap(x)),
24
- lambda: control(x[0] == ref, lambda: X(aux)),
25
- )
26
-
27
-
28
- @qfunc
29
- def qft_space_add_const(value: CInt, phi_b: QArray[QBit]) -> None:
30
- """
31
- [Qmod Classiq-library function]
32
-
33
- Adds a constant to a quantum number (in the Fourier space) using the Quantum Fourier Transform (QFT) Adder algorithm.
34
- Assuming that the input `phi_b` has `n` qubits, the result will be $\\phi_b+=value \\mod 2^n$.
35
-
36
- To perform the full algorithm, use:
37
- within_apply(lambda: QFT(phi_b), qft_space_add_const(value, phi_b))
38
-
39
- Args:
40
- value: The constant to add to the quantum number.
41
- phi_b: The quantum number (at the aft space) to which the constant is added.
42
-
43
- """
44
- repeat(
45
- count=phi_b.len,
46
- iteration=lambda index: PHASE(
47
- theta=qft_const_adder_phase(
48
- index, value, phi_b.len # type:ignore[arg-type]
49
- ),
50
- target=phi_b[index],
51
- ),
52
- )
53
-
54
-
55
- @qperm(disable_perm_check=True)
56
- def cc_modular_add(
57
- n: CInt, a: CInt, phi_b: QArray[QBit], c1: Const[QBit], c2: Const[QBit]
58
- ) -> None:
59
- """
60
- [Qmod Classiq-library function]
61
-
62
- Adds a constant `a` to a quantum number `phi_b` modulo the constant `n`, controlled by 2 qubits.
63
- The quantum number `phi_b` and the constant `a` are assumed to be in the QFT space.
64
-
65
- Args:
66
- n: The modulo number.
67
- a: The constant to add to the quantum number.
68
- phi_b: The quantum number to which the constant is added.
69
- c1: a control qubit.
70
- c2: a control qubit.
71
-
72
- """
73
- ctrl: QArray[QBit] = QArray()
74
- aux = QBit()
75
-
76
- allocate(aux)
77
- within_apply(
78
- lambda: bind([c1, c2], ctrl),
79
- lambda: (
80
- control(ctrl, lambda: qft_space_add_const(a, phi_b)),
81
- invert(lambda: qft_space_add_const(n, phi_b)),
82
- _check_msb(1, phi_b, aux),
83
- control(aux, lambda: qft_space_add_const(n, phi_b)),
84
- within_apply(
85
- lambda: invert(
86
- lambda: control(ctrl, lambda: qft_space_add_const(a, phi_b))
87
- ),
88
- lambda: _check_msb(0, phi_b, aux),
89
- ),
90
- ),
91
- )
92
- free(aux)
93
-
94
-
95
- @qperm(disable_perm_check=True)
96
- def c_modular_multiply(
97
- n: CInt,
98
- a: CInt,
99
- b: QArray[QBit],
100
- x: Const[QArray[QBit]],
101
- ctrl: Const[QBit],
102
- ) -> None:
103
- """
104
- [Qmod Classiq-library function]
105
-
106
- Performs out-of-place multiplication of a quantum number `x` by a classical number `a` modulo classical number `n`,
107
- controlled by a quantum bit `ctrl` and adds the result to a quantum array `b`. Applies $b += xa \\mod n$ if `ctrl=1`, and the identity otherwise.
108
-
109
- Args:
110
- n: The modulo number. Should be non-negative.
111
- a: The classical factor. Should be non-negative.
112
- b: The quantum number added to the multiplication result. Stores the result of the multiplication.
113
- x: The quantum factor.
114
- ctrl: The control bit.
115
- """
116
- within_apply(
117
- lambda: qft(b),
118
- lambda: repeat(
119
- count=x.len,
120
- iteration=lambda index: cc_modular_add(
121
- n, (a * (2**index)) % n, b, x[index], ctrl
122
- ),
123
- ),
124
- )
125
-
126
-
127
- @qperm
128
- def multiswap(x: QArray[QBit], y: QArray[QBit]) -> None:
129
- """
130
- [Qmod Classiq-library function]
131
-
132
- Swaps the qubit states between two arrays.
133
- Qubits of respective indices are swapped, and additional qubits in the longer array are left unchanged.
134
-
135
- Args:
136
- x: The first array
137
- y: The second array
138
-
139
- """
140
- repeat(
141
- count=min(x.len, y.len),
142
- iteration=lambda index: SWAP(x[index], y[index]),
143
- )
144
-
145
-
146
- @qfunc
147
- def inplace_c_modular_multiply(n: CInt, a: CInt, x: QArray[QBit], ctrl: QBit) -> None:
148
- """
149
- [Qmod Classiq-library function]
150
-
151
- Performs multiplication of a quantum number `x` by a classical number `a` modulo classical number `n`,
152
- controlled by a quantum bit `ctrl`. Applies $x=xa \\mod n$ if `ctrl=1`, and the identity otherwise.
153
-
154
- Args:
155
- n: The modulo number. Should be non-negative.
156
- a: The classical factor. Should be non-negative.
157
- x: The quantum factor.
158
- ctrl: The control bit.
159
- """
160
- b: QArray[QBit] = QArray(length=x.len + 1)
161
- allocate(b)
162
- c_modular_multiply(n, a, b, x, ctrl)
163
- control(ctrl, lambda: multiswap(x, b))
164
- invert(lambda: c_modular_multiply(n, mod_inverse(a, n), b, x, ctrl))
165
- free(b)
166
-
167
-
168
- @qperm(disable_perm_check=True)
169
- def modular_add_qft_space(n: CInt, a: CInt, phi_b: QArray[QBit]) -> None:
170
- """
171
- [Qmod Classiq-library function]
172
-
173
- Adds a constant `a` to a quantum number `phi_b` modulo the constant `n`.
174
- The quantum number `phi_b` is assumed to be in the QFT space.
175
-
176
- Args:
177
- n: The modulo number.
178
- a: The constant to add to the quantum number.
179
- phi_b: The quantum number to which the constant is added.
180
-
181
- """
182
- aux = QBit()
183
-
184
- allocate(aux)
185
- qft_space_add_const(a, phi_b),
186
- skip_control(
187
- lambda: (
188
- invert(lambda: qft_space_add_const(n, phi_b)),
189
- _check_msb(1, phi_b, aux),
190
- control(aux, lambda: qft_space_add_const(n, phi_b)),
191
- )
192
- )
193
- invert(lambda: qft_space_add_const(a, phi_b))
194
- skip_control(lambda: _check_msb(0, phi_b, aux))
195
- qft_space_add_const(a, phi_b)
196
- free(aux)
197
-
198
-
199
- @qperm(disable_perm_check=True)
200
- def modular_multiply(
201
- n: CInt,
202
- a: CInt,
203
- b: QArray[QBit],
204
- x: Const[QArray[QBit]],
205
- ) -> None:
206
- """
207
- [Qmod Classiq-library function]
208
-
209
- Performs out-of-place multiplication of a quantum number `x` by a classical number `a` modulo classical number `n`,
210
- and adds the result to a quantum array `b` (Applies $b += xa \\mod n$).
211
-
212
- Args:
213
- n: The modulo number. Should be non-negative.
214
- a: The classical factor. Should be non-negative.
215
- b: The quantum number added to the multiplication result. Stores the result of the multiplication.
216
- x: The quantum factor.
217
- """
218
- within_apply(
219
- lambda: qft(b),
220
- lambda: repeat(
221
- count=x.len,
222
- iteration=lambda index: control(
223
- x[index], lambda: modular_add_qft_space(n, (a * (2**index)) % n, b)
224
- ),
225
- ),
226
- )
227
-
228
-
229
- @qfunc
230
- def inplace_modular_multiply(n: CInt, a: CInt, x: QArray[QBit]) -> None:
231
- """
232
- [Qmod Classiq-library function]
233
-
234
- Performs multiplication of a quantum number `x` by a classical number `a` modulo classical number `n`
235
- (Applies $x=xa \\mod n$).
236
-
237
- Args:
238
- n: The modulo number. Should be non-negative.
239
- a: The classical factor. Should be non-negative.
240
- x: The quantum factor.
241
-
242
- Comment: It is assumed that `a` has an inverse modulo `n`
243
- """
244
- b: QArray[QBit] = QArray(length=x.len + 1)
245
- allocate(b)
246
- modular_multiply(n, a, b, x)
247
- multiswap(x, b)
248
- invert(lambda: modular_multiply(n, mod_inverse(a, n), b, x))
249
- free(b)
250
-
251
-
252
- @qfunc
253
- def modular_exp(n: CInt, a: CInt, x: QArray[QBit], power: QArray[QBit]) -> None:
254
- """
255
- [Qmod Classiq-library function]
256
-
257
- Raises a classical integer `a` to the power of a quantum number `power` modulo classical integer `n`
258
- times a quantum number `x`. Performs $x=(a^{power} \\mod n)*x$ in-place.
259
- (and specifically if at the input $x=1$, at the output $x=a^{power} \\mod n$).
260
-
261
- Args:
262
- n: The modulus number. Should be non-negative.
263
- a: The base of the exponentiation. Should be non-negative.
264
- x: A quantum number that multiplies the modular exponentiation and holds the output. It should be at least the size of $\\lceil \\log(n) \rceil$.
265
- power: The power of the exponentiation.
266
- """
267
- repeat(
268
- count=power.len,
269
- iteration=lambda index: inplace_c_modular_multiply(
270
- n, (a ** (2**index)) % n, x, power[index]
271
- ),
272
- )