classiq 0.67.0__py3-none-any.whl → 0.69.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 (87) hide show
  1. classiq/_internals/api_wrapper.py +9 -9
  2. classiq/_internals/async_utils.py +1 -1
  3. classiq/_internals/authentication/password_manager.py +1 -1
  4. classiq/_internals/client.py +1 -1
  5. classiq/applications/combinatorial_optimization/combinatorial_problem.py +8 -11
  6. classiq/applications/qnn/gradients/quantum_gradient.py +1 -1
  7. classiq/applications/qnn/gradients/simple_quantum_gradient.py +1 -1
  8. classiq/applications/qnn/torch_utils.py +1 -1
  9. classiq/execution/execution_session.py +7 -3
  10. classiq/execution/jobs.py +2 -5
  11. classiq/executor.py +7 -2
  12. classiq/interface/_version.py +1 -1
  13. classiq/interface/ast_node.py +1 -1
  14. classiq/interface/backend/quantum_backend_providers.py +2 -3
  15. classiq/interface/chemistry/operator.py +12 -8
  16. classiq/interface/debug_info/back_ref_util.py +22 -0
  17. classiq/interface/debug_info/debug_info.py +26 -21
  18. classiq/interface/executor/optimizer_preferences.py +1 -0
  19. classiq/interface/generator/arith/arithmetic.py +96 -1
  20. classiq/interface/generator/arith/arithmetic_expression_parser.py +1 -1
  21. classiq/interface/generator/arith/arithmetic_param_getters.py +3 -3
  22. classiq/interface/generator/functions/classical_type.py +12 -1
  23. classiq/interface/generator/generated_circuit_data.py +64 -23
  24. classiq/interface/generator/quantum_program.py +18 -1
  25. classiq/interface/generator/types/builtin_enum_declarations.py +1 -0
  26. classiq/interface/generator/types/enum_declaration.py +45 -3
  27. classiq/interface/ide/visual_model.py +0 -2
  28. classiq/interface/model/classical_if.py +2 -2
  29. classiq/interface/model/control.py +2 -2
  30. classiq/interface/model/invert.py +2 -2
  31. classiq/interface/model/power.py +2 -2
  32. classiq/interface/model/quantum_function_call.py +4 -0
  33. classiq/interface/model/quantum_statement.py +1 -1
  34. classiq/interface/model/repeat.py +2 -2
  35. classiq/interface/model/statement_block.py +1 -1
  36. classiq/interface/model/within_apply_operation.py +2 -2
  37. classiq/interface/server/routes.py +0 -6
  38. classiq/model_expansions/generative_functions.py +4 -3
  39. classiq/model_expansions/interpreters/generative_interpreter.py +78 -18
  40. classiq/model_expansions/quantum_operations/allocate.py +3 -1
  41. classiq/model_expansions/quantum_operations/assignment_result_processor.py +52 -0
  42. classiq/model_expansions/quantum_operations/bind.py +2 -1
  43. classiq/model_expansions/quantum_operations/block_evaluator.py +76 -0
  44. classiq/model_expansions/quantum_operations/call_emitter.py +0 -13
  45. classiq/model_expansions/quantum_operations/classicalif.py +5 -4
  46. classiq/model_expansions/quantum_operations/composite_emitter.py +27 -0
  47. classiq/model_expansions/quantum_operations/emitter.py +16 -2
  48. classiq/model_expansions/quantum_operations/expression_evaluator.py +33 -0
  49. classiq/model_expansions/quantum_operations/handle_evaluator.py +28 -0
  50. classiq/model_expansions/quantum_operations/quantum_function_call.py +3 -2
  51. classiq/model_expansions/quantum_operations/repeat.py +2 -1
  52. classiq/model_expansions/quantum_operations/variable_decleration.py +2 -1
  53. classiq/model_expansions/scope_initialization.py +5 -19
  54. classiq/model_expansions/sympy_conversion/expression_to_sympy.py +1 -1
  55. classiq/open_library/functions/__init__.py +1 -2
  56. classiq/open_library/functions/amplitude_amplification.py +11 -12
  57. classiq/open_library/functions/discrete_sine_cosine_transform.py +17 -14
  58. classiq/open_library/functions/grover.py +7 -11
  59. classiq/open_library/functions/hea.py +3 -3
  60. classiq/open_library/functions/modular_exponentiation.py +17 -33
  61. classiq/open_library/functions/qft_functions.py +2 -2
  62. classiq/open_library/functions/qsvt.py +8 -8
  63. classiq/open_library/functions/state_preparation.py +16 -17
  64. classiq/open_library/functions/swap_test.py +1 -1
  65. classiq/open_library/functions/utility_functions.py +12 -4
  66. classiq/qmod/builtins/classical_functions.py +24 -7
  67. classiq/qmod/builtins/enums.py +1 -0
  68. classiq/qmod/builtins/functions/__init__.py +2 -0
  69. classiq/qmod/builtins/functions/chemistry.py +6 -38
  70. classiq/qmod/builtins/functions/exponentiation.py +24 -0
  71. classiq/qmod/builtins/operations.py +26 -11
  72. classiq/qmod/cparam.py +32 -5
  73. classiq/qmod/python_classical_type.py +10 -4
  74. classiq/qmod/quantum_callable.py +2 -1
  75. classiq/qmod/quantum_expandable.py +30 -6
  76. classiq/qmod/quantum_function.py +3 -2
  77. classiq/qmod/semantics/error_manager.py +1 -1
  78. classiq/qmod/semantics/validation/types_validation.py +1 -1
  79. classiq/qmod/symbolic.py +2 -1
  80. classiq/qmod/utilities.py +31 -2
  81. classiq/qmod/write_qmod.py +10 -7
  82. classiq/synthesis.py +25 -9
  83. {classiq-0.67.0.dist-info → classiq-0.69.0.dist-info}/METADATA +1 -1
  84. {classiq-0.67.0.dist-info → classiq-0.69.0.dist-info}/RECORD +85 -81
  85. classiq/interface/execution/jobs.py +0 -31
  86. classiq/model_expansions/quantum_operations/shallow_emitter.py +0 -166
  87. {classiq-0.67.0.dist-info → classiq-0.69.0.dist-info}/WHEEL +0 -0
@@ -3,15 +3,15 @@ classiq/_analyzer_extras/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
3
3
  classiq/_analyzer_extras/_ipywidgets_async_extension.py,sha256=7zv7mANDaLHH8QRGyY9QGDPPKPTjKKYdoq22iJaq_Ns,2190
4
4
  classiq/_analyzer_extras/interactive_hardware.py,sha256=f7ad2HeFq1f-2dJtPpgOE_w2IFzm49W6P_c-MzqJ5qE,3257
5
5
  classiq/_internals/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
- classiq/_internals/api_wrapper.py,sha256=V0W1t7ftU3soIuczol_7a_A4Lx3NeXWIkm7vk7oSteI,16905
7
- classiq/_internals/async_utils.py,sha256=utfzFLuCqmvxTLgg3JhMi-sBMIQFVW2LU5dqUEAJLCM,3370
6
+ classiq/_internals/api_wrapper.py,sha256=evi1SLjLsr9-DWJqpjYCLI1RRESz7ok2S3tJK2LhvLQ,17020
7
+ classiq/_internals/async_utils.py,sha256=c_tYbNQd_n7Ue9dp0O11pVozTQRXz32OmtOMvb1ozIQ,3371
8
8
  classiq/_internals/authentication/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  classiq/_internals/authentication/auth0.py,sha256=K6yCnDUhIfgx-GfUHivak88_u06USHjXAjx9b3m5iek,3663
10
10
  classiq/_internals/authentication/authentication.py,sha256=58Xv1QtynXwEfBqIV5E3LnSkZBSWBHtEFy-Bvg0vQ_o,673
11
11
  classiq/_internals/authentication/device.py,sha256=dUii1-Z26j0NY4R6J4p0gjYSq5Goj-gwMxXPSnVANuE,4024
12
- classiq/_internals/authentication/password_manager.py,sha256=aVR3wt07EJNa1OcUOmM9Nyg9Y4w8-3XzzrxJNsBWUBM,4438
12
+ classiq/_internals/authentication/password_manager.py,sha256=nhJyr8IGrsq3oaGtD0UXZ_rCN4GPI-4LrTYHc1R--sQ,4464
13
13
  classiq/_internals/authentication/token_manager.py,sha256=XStkqCPUQEqc3uj6tt_XzfUIcUlyT-94tBZ8tpQIy_s,5280
14
- classiq/_internals/client.py,sha256=nw-NohjJNa0LsKjqG1bMOhVzJl_i0sCVto44Az9rTvY,12410
14
+ classiq/_internals/client.py,sha256=yYlyBkW9GvM5Y04A3nqX496fXqqU3ngXg7VTwYmIbwo,12411
15
15
  classiq/_internals/config.py,sha256=-UKKvPp_61sxXY-URqU1feLqlfh9ww4wCDH4yl14EiA,3534
16
16
  classiq/_internals/help.py,sha256=9gl64Y8nKW-f-8pYt7lMozOP6uERcIIf8dotgn_WKA0,460
17
17
  classiq/_internals/host_checker.py,sha256=D0rgnoZrHo62rYS32yCuYZSyMrMChZG5ITsJxwj0R5g,3969
@@ -58,7 +58,7 @@ classiq/applications/combinatorial_helpers/transformations/slack_variables.py,sh
58
58
  classiq/applications/combinatorial_optimization/__init__.py,sha256=FQv7Kga4aciJzuRuv9SiFLP2uTJdsYpzYZEaH3_cjsE,1050
59
59
  classiq/applications/combinatorial_optimization/combinatorial_optimization_config.py,sha256=jCN7iQJfEVIZE8sx60XzBrPBcBEOHVFXHhOZbq4auRw,618
60
60
  classiq/applications/combinatorial_optimization/combinatorial_optimization_model_constructor.py,sha256=UesEypX6itLjMaH79gr_tdLPgRbEYbH6rObiN35S6EU,5259
61
- classiq/applications/combinatorial_optimization/combinatorial_problem.py,sha256=RWkvqBpLSxTc0qs5YVv9QddegCvPIfEvopeNln_24Lw,8015
61
+ classiq/applications/combinatorial_optimization/combinatorial_problem.py,sha256=a7rr-PHsvfT3HqdeJqwArlwnrJ_cP1HzVLtp66f6y7s,7813
62
62
  classiq/applications/combinatorial_optimization/examples/__init__.py,sha256=A0-j2W4dT6eyvRvIoUzK3trntkda3IBpX-tch8evi1M,1725
63
63
  classiq/applications/finance/__init__.py,sha256=1ntNgF5XLrAWhjvgncAdVIG0w80J8dmADySCK_xz2Tk,355
64
64
  classiq/applications/finance/finance_model_constructor.py,sha256=hDSMSDaAK3Q0D_V7bKBaPrNvP-zLZcHQtivKQShHa-k,6862
@@ -78,10 +78,10 @@ classiq/applications/qnn/datasets/dataset_parity.py,sha256=NU8nyKMIXz57nY27eJNFY
78
78
  classiq/applications/qnn/datasets/dataset_xor.py,sha256=fN73XTbjtxQCm5KW0A4KAD2wONkmbqugAPlHgcDSfSY,463
79
79
  classiq/applications/qnn/datasets/datasets_utils.py,sha256=LgerS3HPe82gVTMg6YLWFmKt5adZCHxxr7lPYNCqJpI,1363
80
80
  classiq/applications/qnn/gradients/__init__.py,sha256=md5sLINVaPeZUHJUe1ZtIcqLN_V_I2RKfBe3mO3zZs4,102
81
- classiq/applications/qnn/gradients/quantum_gradient.py,sha256=SPEcaZA1Yi86_GVYOs5zfn6JNY6bpmKdoICOgMOsNUY,1287
82
- classiq/applications/qnn/gradients/simple_quantum_gradient.py,sha256=uAXA718ql_uL87FnvbcRTQ_2s8MmhybSzgignAiQJ30,5049
81
+ classiq/applications/qnn/gradients/quantum_gradient.py,sha256=hdLuHvD2RDQNXDMouiLXsAvSEqlIdijbXK-aMcvcqDk,1288
82
+ classiq/applications/qnn/gradients/simple_quantum_gradient.py,sha256=7uW8S75jK11_1eG9LYs-o1AtJ0sNWfI7NcqWxFuY04M,5050
83
83
  classiq/applications/qnn/qlayer.py,sha256=VfRJrk3Ybg7FRcAU7D8eRbYxVPTDygp13iX6a23C2oA,9084
84
- classiq/applications/qnn/torch_utils.py,sha256=29y7eu8XQMkUK5C6obGXd-5txCPw0P7OkZSiAD4gX1w,4429
84
+ classiq/applications/qnn/torch_utils.py,sha256=vCUsTyvDCSwY9Z9rcK9QslEzAVag3caTHFXXH8iblUg,4430
85
85
  classiq/applications/qnn/types.py,sha256=0MNZW1b9GsqCT3vgLn5c_c-v9U4QGsWfgdALVscHAa8,906
86
86
  classiq/applications/qsvm/__init__.py,sha256=FQ5hxBPPxW6uX7Csp9YGh1fA3tzr3fCTru3x6PhENLY,276
87
87
  classiq/applications/qsvm/qsvm.py,sha256=vuc7TDHcxN9VvPRDufRmXcIVHkCpzjz2QuY48WJN6Is,177
@@ -89,26 +89,26 @@ classiq/applications/qsvm/qsvm_data_generation.py,sha256=BIXBAxYNAvwZi1pVQJeSPTa
89
89
  classiq/applications/qsvm/qsvm_model_constructor.py,sha256=9yknE3oDe1sDKtN3efeqVxmMjYIDAvMPUugNfzTH2Jk,4495
90
90
  classiq/execution/__init__.py,sha256=91aJlyrskj_FLmT-2atwIucYKAKsg4o8ZOR15axBFPM,1165
91
91
  classiq/execution/all_hardware_devices.py,sha256=KpLefEISE03FDdgFPGggXeG7NAxBW4090gN4272Dl-E,368
92
- classiq/execution/execution_session.py,sha256=Wr6kJjdBU1yrrBDxopBHdZowyy2WSC1-7D8kH1cudkw,16910
92
+ classiq/execution/execution_session.py,sha256=cjfA02_FbiFNbu7AgEEUAvcwsaV2r9vVxqQ5FiyPCdo,16986
93
93
  classiq/execution/iqcc.py,sha256=fG92ZwgZl_tAih0vndZpIKksVCQuLTk5pJy2X4LRkxA,4298
94
- classiq/execution/jobs.py,sha256=hRZK5n8xOdT67rb_qnGeb30MiTHax00uCaBgRr7usYE,10992
94
+ classiq/execution/jobs.py,sha256=h_aki-Q7RDbG7fyMYdc-kTRNgtq1gX9W5LDub_7J2UM,10876
95
95
  classiq/execution/qnn.py,sha256=WGPvncz5uS2WxSY3-yBWt2LFiCk6Ug8WKWF-Kp-f7TM,2403
96
- classiq/executor.py,sha256=JukmHbvH43cXWBzr1-LPk5gDz4LItJncEUaghZwmldY,2686
96
+ classiq/executor.py,sha256=9mae_QMGZYT8CJ5QlS4XH7063OYrrDUnt8gAFV-OhRc,2773
97
97
  classiq/interface/__init__.py,sha256=cg7hD_XVu1_jJ1fgwmT0rMIoZHopNVeB8xtlmMx-E_A,83
98
- classiq/interface/_version.py,sha256=KAdpBo9J3PBap6xx-ONQo3jUahkv872cTuKJydlJOaY,197
98
+ classiq/interface/_version.py,sha256=veiIM4J6igOysPgxOPyKi3XHIZK7xcc2hrW_xYqY1HQ,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
102
102
  classiq/interface/analyzer/result.py,sha256=CJhZ7Q_VUCyKS1ivtyD9l9534efjEUY6C6Wwrb3kXak,5872
103
103
  classiq/interface/applications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
104
104
  classiq/interface/applications/qsvm.py,sha256=4dHVSZH--sv58SvxmpDHPh9JDr4qQUZbbGCeaEv6b1I,3408
105
- classiq/interface/ast_node.py,sha256=CWyvKNwoEppwPwprnM4lxOlNyBS49cqJe9Tq4-GexcU,840
105
+ classiq/interface/ast_node.py,sha256=tHMBLw-iTAZq724XTDkqg9hxh_8zKC73oKXmawP8Wd0,827
106
106
  classiq/interface/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
107
  classiq/interface/backend/backend_preferences.py,sha256=UvmYBo5K4iKxhFj2aJWTNMA1g_GxWpRturPNOoRCcUo,20753
108
108
  classiq/interface/backend/ionq/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
109
109
  classiq/interface/backend/ionq/ionq_quantum_program.py,sha256=f8w1XvgIggaM_w9TF0_wkQHB3wamXg5kHMNsgtCsH3k,1235
110
110
  classiq/interface/backend/pydantic_backend.py,sha256=XfG1u_8ZEq382P5LTHYEhjkDH7UZYY_1sl1O-RImSmk,1610
111
- classiq/interface/backend/quantum_backend_providers.py,sha256=zMWV_-Y0lA8iGe2q4uHT5ODgfrEWDOu-XwMpXwdamuA,6673
111
+ classiq/interface/backend/quantum_backend_providers.py,sha256=GOB-Ew0qS1ZCc40qmzbguhzQMpzRnPH0VXFz_b9DUSw,6719
112
112
  classiq/interface/chemistry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
113
113
  classiq/interface/chemistry/ansatz_library.py,sha256=3ki3uaV77cUxUxUzDbn3mVhjvMoKejJ5bIR1kXpBT1k,360
114
114
  classiq/interface/chemistry/elements.py,sha256=Yy8L80SBVgmuKQyW-GlZKzwTqnP1O9po-FGFmKMJLRA,1181
@@ -116,7 +116,7 @@ classiq/interface/chemistry/fermionic_operator.py,sha256=PGzi_2ZWO54LKMIJaC1unlk
116
116
  classiq/interface/chemistry/ground_state_problem.py,sha256=DHhbvby537IxglAxKxiqlyOraVWcKRYhnkEpzP9iPQg,3928
117
117
  classiq/interface/chemistry/ground_state_result.py,sha256=zXfQoiGbhPmrZrlB7jbeAXXj7UX0QN7WrOa1CgJwUQU,175
118
118
  classiq/interface/chemistry/molecule.py,sha256=TDHm-wub0xVwFa_1pdxSysWMLASOI1jXTQFJZhC5aZI,2792
119
- classiq/interface/chemistry/operator.py,sha256=L5bIuU-2fP94Ix-wf7HMk1DBlhbjQfmSBYOsaBvYCyM,11020
119
+ classiq/interface/chemistry/operator.py,sha256=R_C6uPf1TZD4eEb7urKS_tHoenUbaQ2HOSj2VYvdWVI,11119
120
120
  classiq/interface/combinatorial_optimization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
121
121
  classiq/interface/combinatorial_optimization/encoding_types.py,sha256=JSPqk36kLxEvUiFqUpxC-svEwLEPopYIlmlQWFarEqI,126
122
122
  classiq/interface/combinatorial_optimization/examples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -141,12 +141,12 @@ classiq/interface/combinatorial_optimization/result.py,sha256=kDGShpwzhp8KOibngo
141
141
  classiq/interface/combinatorial_optimization/sense.py,sha256=P8_kJRf3aUKbCkIqOP3tOc81Vpz9yW4Z74RGaYbd9TA,262
142
142
  classiq/interface/combinatorial_optimization/solver_types.py,sha256=kcLt80fQucq_DWmJXmmVljwCGV4gtDnqOMlJdemhPQc,135
143
143
  classiq/interface/debug_info/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
144
- classiq/interface/debug_info/debug_info.py,sha256=p1IMfP5T9vcPO83FVyK5930JQKgErQVcjP4aEZqrf94,3682
144
+ classiq/interface/debug_info/back_ref_util.py,sha256=plWBiBMfFIY6aYAR3NVYComsY394ysLVdk_yFy1qcC4,791
145
+ classiq/interface/debug_info/debug_info.py,sha256=id5RD0y9EjAbFi5Mrw1TSHaYSRsFlrZSvvYBZSorX6g,3999
145
146
  classiq/interface/enum_utils.py,sha256=QxkxLGgON8vdSzLZzHFlPEBJoGOqoIwpESEfLfRqN0w,312
146
147
  classiq/interface/exceptions.py,sha256=fXl3esnLP03zds09BLxIJSN4aIwx2PVPX0Do8awfLjg,4418
147
148
  classiq/interface/execution/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
148
149
  classiq/interface/execution/iqcc.py,sha256=pS4c4y37i8NtKRcXDtamdir7021A82w0gSw5Ar368kQ,838
149
- classiq/interface/execution/jobs.py,sha256=YBHJY4jbZnWILHW-Hm4WUh8bhjfbJAG3pEIAu9EY-O8,736
150
150
  classiq/interface/execution/primitives.py,sha256=HU0-ZjlFfL6DVtOHPqSwDxSwEJhGoceXH_6IjJE9k7k,631
151
151
  classiq/interface/execution/resource_estimator.py,sha256=YJRuk9lAkhpwqegjyOrxvEY1TgHzvPnXCMAd-MQC6GE,144
152
152
  classiq/interface/execution/result.py,sha256=6TduBhKFw8j7Yxcgn9d2MA0lm82sEcfY1yWIKUOdHro,139
@@ -157,7 +157,7 @@ classiq/interface/executor/execution_preferences.py,sha256=Tnd9yS42Nk28f8Ds78lC-
157
157
  classiq/interface/executor/execution_request.py,sha256=bf5qEF4eeb2UQ2DIriW-DBTRmPcDYiWs9QsfmzyhYEg,2441
158
158
  classiq/interface/executor/execution_result.py,sha256=56wymbRd8ukd5QCgZ4o41MAnBHVMhBCNkxlt-zlw7_g,2867
159
159
  classiq/interface/executor/iqae_result.py,sha256=mCjbLTd4vtFOkvEEUfcSp3569wGzQOvFpZO4KKaLnmU,565
160
- classiq/interface/executor/optimizer_preferences.py,sha256=iw-UJ_8WhziqB2s8cmQ1jmyTRX1Krpld4CG5tXDWpZ0,4407
160
+ classiq/interface/executor/optimizer_preferences.py,sha256=koqBO5YDzO3iBH71a8oe4hK-ib8M1yUPWJbC_m-Nzn4,4427
161
161
  classiq/interface/executor/quantum_code.py,sha256=jA-4hIw5nydv7TcDZ4xPI0YP-FiSa_52SieyYjJkVHI,4258
162
162
  classiq/interface/executor/quantum_instruction_set.py,sha256=_2owh6shcNSKlCHCXbAO6UzzZqldTu3YmUqUw9Qefvo,565
163
163
  classiq/interface/executor/register_initialization.py,sha256=-dkivVSDkkLGkIdu0L5VaONhPCRp_JE42LiAZuHUK7k,1365
@@ -183,13 +183,13 @@ classiq/interface/generator/application_apis/finance_declarations.py,sha256=RfDM
183
183
  classiq/interface/generator/application_apis/qsvm_declarations.py,sha256=oDJ_74RDuitACGcHWUXGNo2JGMY8qzEIrP7mStDJ0rQ,100
184
184
  classiq/interface/generator/arith/__init__.py,sha256=3_jBZcaL8gQOiWx9lDj84K6rmJG2p_8MGCBw1aMtddg,135
185
185
  classiq/interface/generator/arith/argument_utils.py,sha256=2Q3KO4EEOehjwgKU2syrrzDOpSJSMqMB1U_r5ClJ7LM,3111
186
- classiq/interface/generator/arith/arithmetic.py,sha256=niUjyGe05EDrvxCPDVpmXfMyUHzmeKaGZOXUDDlGTX4,4469
186
+ classiq/interface/generator/arith/arithmetic.py,sha256=BVVbAvo2_jDb2GNZ6BeGSbdOybJSG2pIm20LQtN-800,7953
187
187
  classiq/interface/generator/arith/arithmetic_arg_type_validator.py,sha256=k7e9nIQOTJ1Dk1PD7jXZFBATbZNR93Lok-OVq6riZYI,1177
188
188
  classiq/interface/generator/arith/arithmetic_expression_abc.py,sha256=c9T_5m9B6Lq7vgNt3u1o8MGHSFo3OJJc9EdpaXP8Yqk,7168
189
- classiq/interface/generator/arith/arithmetic_expression_parser.py,sha256=rdzpQkfyxwr1gFm3s96H-qNyi0RKlkBpwx8RJPsM3Ac,5371
189
+ classiq/interface/generator/arith/arithmetic_expression_parser.py,sha256=KVbi0Q7DfzEIoqUyUbSg33UOWn8Ol6KF-IUUc60Jifw,5372
190
190
  classiq/interface/generator/arith/arithmetic_expression_validator.py,sha256=ze_k8gNKSEjKdGKA6oDTMG1ff1uF-IJ32jVgXkbG7SU,7291
191
191
  classiq/interface/generator/arith/arithmetic_operations.py,sha256=xwX4POh11BGSsFvlWXMctFWaNo02LDoQunZiQF6pDBk,1944
192
- classiq/interface/generator/arith/arithmetic_param_getters.py,sha256=P0RWHhu7UiWJ_qjF_SRW6GUcVtyAr8HFgZde3Lau3kQ,13367
192
+ classiq/interface/generator/arith/arithmetic_param_getters.py,sha256=G_Ifdxb9FQaAgLbHVqqem6zfxsFNXRMjfgiOMJIW-TA,13370
193
193
  classiq/interface/generator/arith/arithmetic_result_builder.py,sha256=XYBz7ZwX47GkJG-U2Bh2vE1iJGX-IcRw811_MDGegMI,4231
194
194
  classiq/interface/generator/arith/ast_node_rewrite.py,sha256=m3-PZfeewz_YAXn847DK-gAPtdWQzJo7Rg6WBjOvNzw,2796
195
195
  classiq/interface/generator/arith/binary_ops.py,sha256=hUA8alLxjJcoo3shCJygNai3XxnKUO_Oof0yPAFh1AY,31586
@@ -244,13 +244,13 @@ classiq/interface/generator/functions/__init__.py,sha256=HXHq8Fw2zHG3AYuRXrDEQdJ
244
244
  classiq/interface/generator/functions/builtins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
245
245
  classiq/interface/generator/functions/builtins/internal_operators.py,sha256=BjTxQiNCJfaITrnk69HFTjCDpwIGXwUAb9TP6KR8WD0,417
246
246
  classiq/interface/generator/functions/classical_function_declaration.py,sha256=zgZj1Zbvu7Hsz6qaPQOyJnExFcbeCrRczalfD1wzfOs,1275
247
- classiq/interface/generator/functions/classical_type.py,sha256=XC33c4Zl9ZweiGGUPUh4BeUa1GgapvBOHeEsLJ4cS58,4180
247
+ classiq/interface/generator/functions/classical_type.py,sha256=7AOB3S9iqyOUvm93nTuGD1TrwPW5AMh5VL5Rh5nqQNs,4464
248
248
  classiq/interface/generator/functions/concrete_types.py,sha256=odTCFSdBXx2vjRxGcJd7oj2JShlicAdgdWLTl2uErr8,1333
249
249
  classiq/interface/generator/functions/function_declaration.py,sha256=G0kjoaQeW_OvTTy6TwcKC0BW1pJBn_osIf_Cydj_0ew,595
250
250
  classiq/interface/generator/functions/port_declaration.py,sha256=ESJE_19jOg_zS1reFN5dq0xgobZ6J3C3DsIs6EME1c4,1100
251
251
  classiq/interface/generator/functions/qmod_python_interface.py,sha256=x8GA4Cr6YyfC6prGXv0A0I9G9GSnLHNito2nfN1GZDI,93
252
252
  classiq/interface/generator/functions/type_name.py,sha256=hpdIlNw4YWQNMt9SaX_QbDysrAdenDGYomiGIYw-RKk,2898
253
- classiq/interface/generator/generated_circuit_data.py,sha256=_OmBXLwP9gE3D7sWwP2obszjacDVD55yRTnYK9neRC4,9715
253
+ classiq/interface/generator/generated_circuit_data.py,sha256=FSG3P_qSecUeqerxHU3RdnjT2M7bQOwE_DqtOXWZqew,11390
254
254
  classiq/interface/generator/grover_diffuser.py,sha256=c52p2_hpjBO0qUDsqFMQ_xffBIDPJlrfz3kIy2Mh2Gk,3750
255
255
  classiq/interface/generator/grover_operator.py,sha256=_VzBJ3qO0O0MJzsHf8LF7_ooXnsz1p_I5rjQQFf1Ptg,4119
256
256
  classiq/interface/generator/hadamard_transform.py,sha256=NI4oZBpDCGfaw2OTb5SL3iSGI_nDtyUgElTCO4pEKnk,673
@@ -291,7 +291,7 @@ classiq/interface/generator/qft.py,sha256=SDLcPWYxshDfPl-tAfhpRFb30NpPRRFpje5Jrr
291
291
  classiq/interface/generator/qpe.py,sha256=C6CddpuD196TUVpUEvvlA9uaRLmFlTkwrHheaWbGojY,6526
292
292
  classiq/interface/generator/qsvm.py,sha256=Ry2iTC2NIoh0u9BsuwVaO-ICUBbRIF7Of9scJG4sGFs,3056
293
293
  classiq/interface/generator/quantum_function_call.py,sha256=jabmTxK2Q-n6eS2ZfK9SlGB7btShvWF8OGkdVbXcgf0,23916
294
- classiq/interface/generator/quantum_program.py,sha256=UtRrE2epg_gXAjmtgvQzA8jqEQ3C4iXlDn64w_9eZJY,6955
294
+ classiq/interface/generator/quantum_program.py,sha256=MUQ0y0GEMu9xM7o5V0YEk3OB3xj4cP_nNDz2EUz_2mg,7477
295
295
  classiq/interface/generator/randomized_benchmarking.py,sha256=D6KI_1fMF5oBydaal2WLmTSit6xSMtz0yDAIZMMO89Q,635
296
296
  classiq/interface/generator/range_types.py,sha256=X6CtSyimlpISz9QNbCdqqQkRg1pOGHEQCXy4aEeSwA4,2044
297
297
  classiq/interface/generator/register_role.py,sha256=moerPIO9gQUuG5pe43TemmScSVjTK7_gi-qbrhIgLOA,1147
@@ -321,9 +321,9 @@ classiq/interface/generator/synthesis_metadata/synthesis_duration.py,sha256=CzE6
321
321
  classiq/interface/generator/synthesis_metadata/synthesis_execution_data.py,sha256=YOKZGGsNyVm-AYPZHf-2vSqgQDchqHY4oMMovmrUSX0,1276
322
322
  classiq/interface/generator/transpiler_basis_gates.py,sha256=4MHl6uI3Fa8bl1w_kGQC_2y_CQGxnKXbWSp5ezaw-w0,2397
323
323
  classiq/interface/generator/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
324
- classiq/interface/generator/types/builtin_enum_declarations.py,sha256=kzrmQhyvIAO0FG1b4eHNVM7v0YYg5weXtLYYalejARE,2316
324
+ classiq/interface/generator/types/builtin_enum_declarations.py,sha256=1LB7uwf53QOu-f5TfQyGYlkYmhTi8zAhtHMvZPOr-vM,2330
325
325
  classiq/interface/generator/types/compilation_metadata.py,sha256=TumieFiKwpt7tuje_CipXRJeg87YSr4hOg1uRr6cIU8,214
326
- classiq/interface/generator/types/enum_declaration.py,sha256=NLSkIANe33qubSDGmxROhNFZNuIDcJjRA-ZRuKhiZ5g,1712
326
+ classiq/interface/generator/types/enum_declaration.py,sha256=Bz52SsXHAai205Utv-3NOolUP0HYT8KnMuUF16Iq_y0,3385
327
327
  classiq/interface/generator/types/qstruct_declaration.py,sha256=Qw6cHW_elZmrs4UO0z7lgS7TWb0hEUEJ5Ur-Ko0bCR4,485
328
328
  classiq/interface/generator/types/struct_declaration.py,sha256=2qKVV-pdqeUGiwKh2-5W2Ci4z0aQG4TG91MuQ82fa_A,959
329
329
  classiq/interface/generator/ucc.py,sha256=ZhjaEy4YJDkZwXLzlsFbjUn6k7ebyUJ_qKdLmxdxvp8,2699
@@ -348,40 +348,40 @@ classiq/interface/helpers/validation_helpers.py,sha256=Jt0xs5EZeEQZOBEZPRmKctHmA
348
348
  classiq/interface/helpers/versioned_model.py,sha256=kBgEghNdSidohb0-p_EjRFZLs7LAmLZ_uKIHZFSZ8cQ,159
349
349
  classiq/interface/ide/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
350
350
  classiq/interface/ide/ide_data.py,sha256=TtFsBttR7L34DeRx4NaswpdyMqEyAuguEWSvGXfZtZs,2504
351
- classiq/interface/ide/visual_model.py,sha256=IFJxI3ewvq4O6vPPSNcjawxmuxX4yT-j-BH-z6woK9w,3255
351
+ classiq/interface/ide/visual_model.py,sha256=ykzixvVRwotmdKm8nIh8qXXSAuFT_zyCaY8Y0UHqL7I,3151
352
352
  classiq/interface/interface_version.py,sha256=lBpLFw3ys90LKdm2IYZl_B1jy_IA3TN0h5YXy97aamQ,24
353
353
  classiq/interface/jobs.py,sha256=i8hrBR2qtptCbxNI-PVYZedH_EDehOe2i09JbJUlD1g,2339
354
354
  classiq/interface/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
355
355
  classiq/interface/model/allocate.py,sha256=B3m-9wUU8SCgZUhKbxAcPLnKHFnT5zn0aKtIjLSqqiM,557
356
356
  classiq/interface/model/bind_operation.py,sha256=J0E6u8KOSB-vRcdpsukYpk1oc8efRohyX-PwLKh98Dc,1869
357
- classiq/interface/model/classical_if.py,sha256=uacO5reOHZrpILBa2Uq0gd1QA_Q3Ab05elzozA80oRo,631
357
+ classiq/interface/model/classical_if.py,sha256=r_dL4x2YI9_TtvuS0WXlCaWHV6cLWBKtxd0Dc9IlqNw,605
358
358
  classiq/interface/model/classical_parameter_declaration.py,sha256=tcAw-knjFqeHg_snv7qBJuJDrUhmL0v1-Q_YfVgRnEc,1261
359
- classiq/interface/model/control.py,sha256=Ws-6BqrUQSWdZL2eT4nTDKKC15fubx3EXFT4OHpLtWE,1560
359
+ classiq/interface/model/control.py,sha256=D2AxQG5Fb6uT-Bf1HYA20ESJ11Z0Nkkb6apHzD9_XOg,1534
360
360
  classiq/interface/model/handle_binding.py,sha256=2uZGm1cHSvPFfQ9HZCl6MMQXZn9d3ZUkXaZU5Qht0GI,10967
361
361
  classiq/interface/model/inplace_binary_operation.py,sha256=Q2CmF42Y975SOJ7gsZfGyRA5Jn9MKzyNle0sopCyCh4,1494
362
- classiq/interface/model/invert.py,sha256=zSxtKnk3u9SJD0IOJfMXc7b3CSscY3RnmRFFlVL7Tww,484
362
+ classiq/interface/model/invert.py,sha256=-NuT2Fb9sNIvS6x_14wqLSiqngRlCdmdmBqpAzZMp6M,458
363
363
  classiq/interface/model/model.py,sha256=TOg2Jb9I9LmMmK5waNtK_GDHE7K6RY0gr-QiJRtr-3A,6991
364
364
  classiq/interface/model/model_visitor.py,sha256=LXCbuvjgW_0gtSLB9dfnf4BL6CF7V8b0duA9xCvBUfo,445
365
365
  classiq/interface/model/native_function_definition.py,sha256=BPB_JfwPL6ftKlf9ceGdYOT27Fw87VbvTMDVrXJZPVI,1016
366
366
  classiq/interface/model/parameter.py,sha256=otI4w5Oc4EPAALfZxDf-QxBlMSXP_CtKaUa7STMdaiw,333
367
367
  classiq/interface/model/phase_operation.py,sha256=sZh00h1wOkZLiwdv_-vqJRtYJxZzmsNqCjGm2z3aXRQ,323
368
368
  classiq/interface/model/port_declaration.py,sha256=wN2t9s2vUcUe4iKKHhSov14ndjkl3eJyM3aE08Kf8os,1650
369
- classiq/interface/model/power.py,sha256=BSY9p935cgmlwUJdKG-_ERK5LYicNp_iG6kAR86Lr0s,578
369
+ classiq/interface/model/power.py,sha256=IvDYeosP_ZUh75VOf8taKHuX6AJnjszdPJRbjQ4ZonA,552
370
370
  classiq/interface/model/quantum_expressions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
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=kqABvyr-niat293lHqBmPhV0Ks3WUgHJ3mevmyD1zD8,2732
373
373
  classiq/interface/model/quantum_expressions/quantum_expression.py,sha256=f_QrCf130IsVs_Nswwmr0_XYOJzvyx4hY8rWxE5lOA4,2133
374
- classiq/interface/model/quantum_function_call.py,sha256=Of6r8UeJAOJfHCCClicTeBIW950-UtNCbK7MZ0ISVF8,7063
374
+ classiq/interface/model/quantum_function_call.py,sha256=StvEKlUj1601SSLReop10m_kbTGv2knp27NFEeL7jSQ,7238
375
375
  classiq/interface/model/quantum_function_declaration.py,sha256=Op9ICNTvwCSQNx1Vr3HE9b8AkVkjwxNLccPZoWKxziQ,8337
376
376
  classiq/interface/model/quantum_lambda_function.py,sha256=cATqykbArV6c9qmSNtqRgDQjjvCfRvYeC3-S5gJW-wg,1930
377
- classiq/interface/model/quantum_statement.py,sha256=9o8l2h5dXkiyYZy8Ws5mcmlACFE52P1S2BzbHWWmiNw,3204
377
+ classiq/interface/model/quantum_statement.py,sha256=oUOyJTqcHvfGunm_z4RFKPVJQi3qIJQfIVMawnZTc4Q,3205
378
378
  classiq/interface/model/quantum_type.py,sha256=14em6BU4QzknydM1vMiFdJPXyYZSmUvncyz5LxIYGvk,9426
379
379
  classiq/interface/model/quantum_variable_declaration.py,sha256=Vmx-aHnss8E_ghqX_wi4Njp-dEtYK-WwYHtHAwmGZxk,229
380
- classiq/interface/model/repeat.py,sha256=Ex9K1YJjXydZTRUBCI_tkSHmrH1RXI4FdmfiGlxk-vA,598
381
- classiq/interface/model/statement_block.py,sha256=7zOcHfPmNp34PcbNmjS1HRnxMY7xGn7SjTOOz7oi4xY,1984
380
+ classiq/interface/model/repeat.py,sha256=7VISv5cF9PXpzAovjF63YWxaR3FLIZknqrkgN4yMODQ,572
381
+ classiq/interface/model/statement_block.py,sha256=kcz2q2V9the5vdKeJNc-6Ph7RSMKBMV05ABw0vyDo-E,1984
382
382
  classiq/interface/model/validation_handle.py,sha256=dbaY2ck5g36RkY1peYVxFXK_CFyA7L0k5flADpu9s68,1577
383
383
  classiq/interface/model/variable_declaration_statement.py,sha256=zI6erlZhoyiZHOhPzSjLNokqBeoDZvz8Jkbp0kIUPgQ,334
384
- classiq/interface/model/within_apply_operation.py,sha256=DYeLurPlWubR0uE13ueVuBD31rJFb8wXv2SbJeClStU,539
384
+ classiq/interface/model/within_apply_operation.py,sha256=05i-KK0M5wemD4cwqMtMA5ZIFQwTcuBvyDmsCZMp0TY,513
385
385
  classiq/interface/pyomo_extension/__init__.py,sha256=ugaIPjswYK2umc_Re5418gPHqocWJSw9OdB8btP4wTQ,887
386
386
  classiq/interface/pyomo_extension/equality_expression.py,sha256=OyPnNRnIyAN008MzYNU6W5QnmPYOGJQb4RewQFqQ310,103
387
387
  classiq/interface/pyomo_extension/inequality_expression.py,sha256=JMVE4VnMGi99KHtqIcIFf3i0nOMybe2_tPQodms-YPs,105
@@ -389,7 +389,7 @@ classiq/interface/pyomo_extension/pyomo_sympy_bimap.py,sha256=sE8lGR2qQDwI-a-7Mg
389
389
  classiq/interface/pyomo_extension/set_pprint.py,sha256=jlyYUHfQXwyzPQIzstnTeIK6T62BcSPn3eJdD1Qjy7E,344
390
390
  classiq/interface/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
391
391
  classiq/interface/server/global_versions.py,sha256=EyUtBCoGHjgS4jybiHI8wOZq3WOqvta2WYZc5MARkoA,274
392
- classiq/interface/server/routes.py,sha256=bhOGiXrwMLwvPEbesNuRKaUOyTbuQfqAMYitQIhybTc,3703
392
+ classiq/interface/server/routes.py,sha256=CUe18XWzTHaNQrC5T7ksrxganC5GVoxD5NY8ztlUGOE,3500
393
393
  classiq/interface/source_reference.py,sha256=a-4Vdc511ux-0lDPDTRGAzouRWWtu4A3MPAfiZe_YPE,1764
394
394
  classiq/model_expansions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
395
395
  classiq/model_expansions/atomic_expression_functions_defs.py,sha256=Ueay6sahEoRpIo8tbVDkk4PZWANC_28BCDgXmPemSx0,8603
@@ -408,28 +408,32 @@ classiq/model_expansions/evaluators/quantum_type_utils.py,sha256=MuBVBKouXOUC5Ai
408
408
  classiq/model_expansions/evaluators/type_type_match.py,sha256=3akZR86TAFKUyM5c5knCPSlraI3LQeWZXxXMTtmu0BI,3220
409
409
  classiq/model_expansions/expression_evaluator.py,sha256=ed4gh4AfMT_SBR6sJ5EXd7mWsDR05VU5Tix7vJWaNqE,5061
410
410
  classiq/model_expansions/function_builder.py,sha256=WsBmkvb-3wGLGY1J62dKGVgD6yqJWchEAn60RE4FiBo,8939
411
- classiq/model_expansions/generative_functions.py,sha256=_Vi3qPuC3xVacObu1YG_J-WiXjhzAy2GOmH8CBCAC40,6093
411
+ classiq/model_expansions/generative_functions.py,sha256=3RjaceR9abULXXycE00qxl1HvBp4fmw2XZZMqYDpE68,6112
412
412
  classiq/model_expansions/interpreters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
413
413
  classiq/model_expansions/interpreters/base_interpreter.py,sha256=dMRyiwoOtWhsnMFxvIN40HJ9-4OJl90n33awKfse1tM,11491
414
414
  classiq/model_expansions/interpreters/frontend_generative_interpreter.py,sha256=db1BKh-MDWqLTK8WCXpbNYxxQM4mjqWIhwFtDil7Vd0,3768
415
- classiq/model_expansions/interpreters/generative_interpreter.py,sha256=dVmn6HF3rWs9EhMbTN1l0_lJ3j__-JJsgay6uiSXMtg,9419
415
+ classiq/model_expansions/interpreters/generative_interpreter.py,sha256=g24aYO-E5VnGKaAjIBF-sC1dCu8SxEhWOX4mwCEtSkE,11253
416
416
  classiq/model_expansions/model_tables.py,sha256=dlrOGRS2x4Fd_dzClIcV7V8edmbbQzePv9eqxtJQrpo,620
417
417
  classiq/model_expansions/quantum_operations/__init__.py,sha256=2Z8m4wz9Rfrw5s2izHbZFhAoaJ5U-ohbGE3x8t4e63c,473
418
- classiq/model_expansions/quantum_operations/allocate.py,sha256=0fazqUM1CoHAkh-qpFddpSWNpk6PWDDRDxhYeHwqeoA,2975
419
- classiq/model_expansions/quantum_operations/bind.py,sha256=b7SCRunsBq4z3tkCcfxKQ-oFKCMxifJlTtr9y62EjqA,4537
420
- classiq/model_expansions/quantum_operations/call_emitter.py,sha256=ZP-fMggBa7wguh6C-nxoezDh4X8UaJHrXOszRMqbkH8,13562
421
- classiq/model_expansions/quantum_operations/classicalif.py,sha256=-vysjguhtZbci8VmghhuoBGZmEqTpYjqF_iZlJTHX4w,2291
418
+ classiq/model_expansions/quantum_operations/allocate.py,sha256=Y00O9rVbXHt_yShLv63UJHO4gju0L-ft4I-xIvSNlFE,3037
419
+ classiq/model_expansions/quantum_operations/assignment_result_processor.py,sha256=EgjohrHbr5KwOTwsB74An235Vc2Vxybt48MJGRLZhpc,2235
420
+ classiq/model_expansions/quantum_operations/bind.py,sha256=KCX_J94-m3taogRGQN7d9sphJyM0XTYaGW_ssBlwIe4,4557
421
+ classiq/model_expansions/quantum_operations/block_evaluator.py,sha256=Fz1bG6UyuDmAqdhJnnyAHN5qi8N0_zd2A8ZR0mUBUZc,2646
422
+ classiq/model_expansions/quantum_operations/call_emitter.py,sha256=GacIyoEKOWB5NE9pMYQip9AUlJ62kMIjxFhrbZL341Q,12971
423
+ classiq/model_expansions/quantum_operations/classicalif.py,sha256=9fHQexnWoZ6C5SBmWnDSbvvHzbid3kxr8yQILq0-m-w,2326
424
+ classiq/model_expansions/quantum_operations/composite_emitter.py,sha256=B09YGldhWcqdNiyhNzQQU-85mJ_9cRrtNgruDvuyEUE,824
422
425
  classiq/model_expansions/quantum_operations/declarative_call_emitter.py,sha256=BlcjV0AG05qpKyWFD2-GJQKqTDWcFfRl7y1z3yIpllc,3209
423
- classiq/model_expansions/quantum_operations/emitter.py,sha256=23KS02bO9uMmTzWjyUBNmPj0wfL9cENbjOGsnJBL67U,6649
424
- classiq/model_expansions/quantum_operations/quantum_function_call.py,sha256=BN5K0h3FDR41kohOXyilp7bn0T5SHwnMDCpPmtAZQbY,2339
425
- classiq/model_expansions/quantum_operations/repeat.py,sha256=mXQOp90_0rg8iMIZ_mJTO7XXQP9sRWPaqC4jv3x-91U,2513
426
- classiq/model_expansions/quantum_operations/shallow_emitter.py,sha256=7gGrJyOInnDdsj-utFNWNfQ1XKQHNYjGgPiNJt-v6EA,6753
427
- classiq/model_expansions/quantum_operations/variable_decleration.py,sha256=rtr3SgbdPzHnNgC_D6s4uV2EJ7c3lWtrkKTp3ZaxOI0,1652
426
+ classiq/model_expansions/quantum_operations/emitter.py,sha256=cGj9yi3JgEpEOxyQ6eoWKUAXt1yaiyfgQjGdoFtlOjM,7219
427
+ classiq/model_expansions/quantum_operations/expression_evaluator.py,sha256=N5a1uYsJRwkWWPOcjOvt4op79LzUy7qA2KiV3Ys00Fg,1353
428
+ classiq/model_expansions/quantum_operations/handle_evaluator.py,sha256=DtxQT24bE5IzaaP8U2UdDRZz8GjKeWkxpLhW8lgrpV8,1048
429
+ classiq/model_expansions/quantum_operations/quantum_function_call.py,sha256=wCynvYPJBcRF4VrgY3Ox-_KpKybIytQOskV7-t2u8kg,2364
430
+ classiq/model_expansions/quantum_operations/repeat.py,sha256=j48wjrrF4N5KzKwKPGejD7sFs2H8ch0Te5Qd_jf_wNg,2533
431
+ classiq/model_expansions/quantum_operations/variable_decleration.py,sha256=y9wcBFKXxcBd-YkAnNSn_1cQr9fuUoJzOtBgUlbDmrs,1672
428
432
  classiq/model_expansions/scope.py,sha256=HkgtLjFvs1dEWOi-W8qHDQfzMR-Oyhowa1QiOy7O-8I,7992
429
- classiq/model_expansions/scope_initialization.py,sha256=IdQaV0MrQXUOiDX1rI61w4M5iwWwI0WZDZqcFpPBwhg,6346
433
+ classiq/model_expansions/scope_initialization.py,sha256=MzxMMpO9keF3rrUdI-gC6xosMoRgW9QxetB7IhuK0x0,5812
430
434
  classiq/model_expansions/sympy_conversion/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
431
435
  classiq/model_expansions/sympy_conversion/arithmetics.py,sha256=7ZKg1C92wUdxtFhrT4VuI9mNvH2a1z1R8lbWYFhYczc,1116
432
- classiq/model_expansions/sympy_conversion/expression_to_sympy.py,sha256=Hz7a1Gtg9_JoQtxdJuE08iDfIMahnmOzlljUE8VBozI,5861
436
+ classiq/model_expansions/sympy_conversion/expression_to_sympy.py,sha256=EnCLR_ZvkGRDOJ1xwdtxwz_BrBf5fIX_WET8h9NPa5A,5873
433
437
  classiq/model_expansions/sympy_conversion/sympy_to_python.py,sha256=KfjLPgRvSVWrsC73ALkFgP4sMVOAJC3QZV6Y-8XfloY,4101
434
438
  classiq/model_expansions/transformers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
435
439
  classiq/model_expansions/transformers/ast_renamer.py,sha256=Ve3ix6u_xbbxqU2SF0Z4F0-4oIhN8lyUPID1O387C-U,806
@@ -442,45 +446,45 @@ classiq/model_expansions/visitors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
442
446
  classiq/model_expansions/visitors/boolean_expression_transformers.py,sha256=a8ITXY48uROZFd9MF8tXdXs14Uxh8XbBpuvRXvRehjY,8067
443
447
  classiq/model_expansions/visitors/variable_references.py,sha256=s8QXXTmNTHAx8pF-PB4w4kdD6Fy0_b5rbbfeb_O8AoI,5114
444
448
  classiq/open_library/__init__.py,sha256=bmg_qqXCXo85hcU7_QCce-qYGrpAVSFNwTKCClsclrg,114
445
- classiq/open_library/functions/__init__.py,sha256=SfrTkuDTrsM3rlICLvQFqESDHUpEkq_EFCmQ3YlIH0Y,3235
446
- classiq/open_library/functions/amplitude_amplification.py,sha256=3_It6dhoazz12HVpZS5WdRguwNnJ_gaAhuBYzCZmsx8,4352
449
+ classiq/open_library/functions/__init__.py,sha256=hpujKWNxAKgg2QHMDEM6AjEpoHBcJ73Wu9MRNqzjetE,3213
450
+ classiq/open_library/functions/amplitude_amplification.py,sha256=O21jANyhXGQuvmByDdOaFkaReL5BkCUkGMLM0tEFBZ0,4176
447
451
  classiq/open_library/functions/amplitude_estimation.py,sha256=iCkca5SQN_HQoJWk1_tLT56fHT72hu5QIt2pxSZQRko,1766
448
- classiq/open_library/functions/discrete_sine_cosine_transform.py,sha256=Gc9lsp8v2bRZlUc0PoLhKnCso7XASP10i2TKiOisH4Q,4476
449
- classiq/open_library/functions/grover.py,sha256=FWCzk0h2KLqu0qKqtCbSSaB7GlXrZ1d_Etwm7sfL0C8,4541
450
- classiq/open_library/functions/hea.py,sha256=D3bRetHb74SIyd4FMCJcS2-dYPZuQQ2RLVDC0P6Yd5E,4984
452
+ classiq/open_library/functions/discrete_sine_cosine_transform.py,sha256=mutvfffkrEEFrFJp1bUliJBnOEnkv4rUQ7q1Pka9V8E,4439
453
+ classiq/open_library/functions/grover.py,sha256=yoMnx4jAF0b2hQqwaKMpPgdbqe9ZCsx2u95Yr029q_I,4367
454
+ classiq/open_library/functions/hea.py,sha256=Nc9pj-4mGLZVQQKCaVRgrcPd4eViuz3Ji5ZeYzaCozg,4889
451
455
  classiq/open_library/functions/linear_pauli_rotation.py,sha256=5I6OmTyQY1xD6yDH6DY2zKJ8jxAn3YwbINi5uBLk-uc,2659
452
- classiq/open_library/functions/modular_exponentiation.py,sha256=J_HAsbnYyB5dOzyRkwPO-sUkQp7l5NizQ_kVFLO0MM0,6613
456
+ classiq/open_library/functions/modular_exponentiation.py,sha256=pNA74BzyycftbmwpfeOIZlbGRPipitfH7l_AW0amWvs,5971
453
457
  classiq/open_library/functions/qaoa_penalty.py,sha256=Uz_ZSn7fRwynP5w2eSOEcft2z4bjJ0DOEyuLACO8ntc,3970
454
- classiq/open_library/functions/qft_functions.py,sha256=wSklzkJDB61tOYkrkvng2fxfDi6jC9Gu-NLOa-3L5jk,1442
458
+ classiq/open_library/functions/qft_functions.py,sha256=7pdPBq48QvyQkxHrF3rEKTf0J50qUu_2bN17lfSc7I0,1382
455
459
  classiq/open_library/functions/qpe.py,sha256=e7MBpOthBn73BdqhWpNGT0lkd6Jw3ZG7tE6n--IM0jc,2140
456
- classiq/open_library/functions/qsvt.py,sha256=-w-byEltA7sZyOfLZrOUJcN_OQKNgrrb9woCoe3YLlM,14511
457
- classiq/open_library/functions/state_preparation.py,sha256=BTzK1-4oAKlG8X61gwqHDEPxG_Lp1m2pUFi5LzOIyg8,10598
458
- classiq/open_library/functions/swap_test.py,sha256=qf1lJ3vxeFpkuvl48BktuA2Q1FkkpieW8Q5oG-nZNSY,1051
459
- classiq/open_library/functions/utility_functions.py,sha256=tJvWPcMxO7emo_8kvg_D3PRDHBtaOPppxwtN8yMA22k,2254
460
+ classiq/open_library/functions/qsvt.py,sha256=wpLq0P-pmhdTaRQJJWRHwbTZqRnE1M58MfQ2y1C0YUI,14271
461
+ classiq/open_library/functions/state_preparation.py,sha256=mx8EgXGoNsaWgsU56FfTNy_JOq2cVBoH0p8Un8cROXk,10603
462
+ classiq/open_library/functions/swap_test.py,sha256=hAjiJjZGeJP2qzEkVYmBVlEK44VcNibWZ-KqJwPEcFY,1048
463
+ classiq/open_library/functions/utility_functions.py,sha256=MFxuk49vdjNIqLPxdloigACfXmuxmqrP_oSJbO49Rbc,2541
460
464
  classiq/open_library/functions/variational.py,sha256=KYoqPKYRjgUXk_10RvogV0YiCG5kl7GZBHBJeeX82II,1715
461
465
  classiq/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
462
466
  classiq/qmod/__init__.py,sha256=ktAnNYCn6UJGvpMjwEjed3MKtdOwpevBD3JPErM7lqs,842
463
467
  classiq/qmod/builtins/__init__.py,sha256=pYNdaroGuxuXRPX3oHdwGoF5sCfHSqU9IG3uuenCmT8,1206
464
468
  classiq/qmod/builtins/classical_execution_primitives.py,sha256=Qlh1w6C8EChgX2iDnQvuf9hKxw4dBwCKsOcbwyniobc,3232
465
- classiq/qmod/builtins/classical_functions.py,sha256=gGRkklq2Lzt0uyRq2eXQ551BG32zBGEyY3lRQT63Bkg,1915
469
+ classiq/qmod/builtins/classical_functions.py,sha256=OglbvAIiL0SiegxVqsvFi-fFz-PfDaT_GYC_z-u5vUw,2256
466
470
  classiq/qmod/builtins/constants.py,sha256=FURSVt0dlIAw_xkGMyj89z4eub7vUdvUrPzaLTGUQxk,222
467
- classiq/qmod/builtins/enums.py,sha256=JzfANJT4Z1Gy8io4JjCnez4t97mxBjT1K-ij2Cli9kQ,3417
468
- classiq/qmod/builtins/functions/__init__.py,sha256=ByXIAnbrXJKyZ_O_3NtzjOMWHluPVaRDLlWOWsklsbA,2627
471
+ classiq/qmod/builtins/enums.py,sha256=2mjLKd0vthY42r4LhNUMnjEVVYxznDuE1HOIfLRyYmk,3431
472
+ classiq/qmod/builtins/functions/__init__.py,sha256=tTOb94LSdwaGincbJlPgK6XoOfLNmKWk9c_R4OGAdrc,2695
469
473
  classiq/qmod/builtins/functions/allocation.py,sha256=rdhL3sBbaX_-esd9N7uF9d2QmrjfJR2ARK_5bUqDMm8,6002
470
474
  classiq/qmod/builtins/functions/arithmetic.py,sha256=EBi7mT1rXjGW8uf7yBfrdqURM480Tvrwvyn7wzsTWmU,1290
471
475
  classiq/qmod/builtins/functions/benchmarking.py,sha256=TYY1VRd5DHl-mKTKeW5wF1txZgFsb3yPXM_rdgoLWCo,250
472
- classiq/qmod/builtins/functions/chemistry.py,sha256=Wl8ktlY0U_M-mDXozcCht44_flZtwImIiGeAMr7hs4s,2126
473
- classiq/qmod/builtins/functions/exponentiation.py,sha256=FFd-yM37Bk36BchjbflC6l_1n4YPFxHv_lSyLR5hsn4,4095
476
+ classiq/qmod/builtins/functions/chemistry.py,sha256=Ifvbh1uAofEvHigOjtRoW9OoEMnmXQ87lTwGC8UjTWQ,1162
477
+ classiq/qmod/builtins/functions/exponentiation.py,sha256=OzbWHxyvJsQYnGY2xm5IC1jzIvlI5VvSRWnQznD91-8,4918
474
478
  classiq/qmod/builtins/functions/finance.py,sha256=zo-UZ_R_8UMw0FCLJQsw_CEMAKV4derY00tnbAPC2yw,861
475
479
  classiq/qmod/builtins/functions/mid_circuit_measurement.py,sha256=9Xz-VxR07K5LS4qaw7u5MT39o7_zIEYRsRp0lArC0Zg,330
476
480
  classiq/qmod/builtins/functions/operators.py,sha256=3IWFjUFhljY5CEe2ZU9Z8m33FzwM9E80IADcDcxVuNI,270
477
481
  classiq/qmod/builtins/functions/qsvm.py,sha256=j5UbMWfl2UNtBewjSWgXq-fvHuAznpINw_b5-_XEKdU,586
478
482
  classiq/qmod/builtins/functions/standard_gates.py,sha256=CRhNH7cUtRqGOknpfjT_v8B2wx00sOxgRXfayI3AMWc,15679
479
- classiq/qmod/builtins/operations.py,sha256=xj_M2pFomHKyIsgAVKJHg-sYaikXsJ0BAIDmw4wYR30,15610
483
+ classiq/qmod/builtins/operations.py,sha256=jDOsQB2uh5ZBYBErJ6xKOZCYdPkFcVA4WH2976Y60UA,16010
480
484
  classiq/qmod/builtins/structs.py,sha256=OpPDFcnZkIo1N9EQVXjqDkEk46vtzA8FmcCv2KarJFg,2913
481
485
  classiq/qmod/cfunc.py,sha256=e3zWNEloBBPy-wJaGI1K5cdNFbd3oq0o4TUY2YDr6ks,1087
482
486
  classiq/qmod/classical_function.py,sha256=iHm6T719PUZQPwuNSkouaMA8J9yHrrHUpP-2AQjsA5g,1088
483
- classiq/qmod/cparam.py,sha256=wai8PyfS6QCJ8_WLck2nRZrtuEXYg1cogj4CQ_EZKP4,1182
487
+ classiq/qmod/cparam.py,sha256=WqWG_XLYU4SVYDHHXsZNFu0QcE4dfaEM-0C_Q1OOFs0,2007
484
488
  classiq/qmod/create_model_function.py,sha256=JhPFmI-_K4Yv-RFcKwWLLhFMpcs35K651ItojXwHolk,2245
485
489
  classiq/qmod/declaration_inferrer.py,sha256=X289TtXPxSzW37rm6-f02iPYMOHCZnDiZfCcf3gz56c,6809
486
490
  classiq/qmod/expression_query.py,sha256=24gsE5hJ1o9ZuqPILH7aaoOzKRQY2RZtvIK35xuubGA,1629
@@ -492,20 +496,20 @@ classiq/qmod/native/pretty_printer.py,sha256=h2yjk7p_cGIBNrJUbI-GOQHMBUiWtBFRK4b
492
496
  classiq/qmod/pretty_print/__init__.py,sha256=jhR0cpXumOJnyb-zWnvMLpEuUOYPnnJ7DJmV-Zxpy1I,132
493
497
  classiq/qmod/pretty_print/expression_to_python.py,sha256=QoRP817CFEp3Ad3Q3hxWW-hbVzWQbHQIGUHjZkpZDm8,7480
494
498
  classiq/qmod/pretty_print/pretty_printer.py,sha256=i9qcHDVTx6-sz5G8RVYTgB1qjD9XlYumoWmCLijgjcY,23720
495
- classiq/qmod/python_classical_type.py,sha256=aU7QYrz7_ZRjmgjjS1DPq3tPm3SzuqZoxlJ4ZuKX0XI,2456
499
+ classiq/qmod/python_classical_type.py,sha256=MLVWYvzV6u5ikW_8IhFXS2DfqpxBZmsVjVOjy2MY7FA,2638
496
500
  classiq/qmod/qfunc.py,sha256=XFyuIG9g4gRM9vCmIJYR4k8qcDKX7xHZTjkVu520d9k,1955
497
501
  classiq/qmod/qmod_constant.py,sha256=YawkwhhOLqFyFUyhE13Q_zCnex_Ki46hePRwGJmr5oU,4853
498
502
  classiq/qmod/qmod_parameter.py,sha256=PpK4rzY0Hszgbzr_lclROcZ7JPqnhDJBYsSQkUjkcs8,4294
499
503
  classiq/qmod/qmod_variable.py,sha256=UJqlPiHKTpi8GtcfnuWFS0QQ7NmB4AyKBeFoB8L9VZM,24017
500
- classiq/qmod/quantum_callable.py,sha256=sthlH5UJyJsdOxpCW3_EW3JFIYd0r1K3Zec1CDbC2-0,2451
501
- classiq/qmod/quantum_expandable.py,sha256=qs35-qMGm_J92Pnem_Juw18Wv3DZQWlqy6-_kuWeMLA,17020
502
- classiq/qmod/quantum_function.py,sha256=q3MMV0gWLtAy7b-Xv80dlQnjkkiy5V_e1RyJx0bImfg,12827
504
+ classiq/qmod/quantum_callable.py,sha256=RifbkZEmZ4COOHfluPD2jfd-qYSda2ytW173diR3tI4,2501
505
+ classiq/qmod/quantum_expandable.py,sha256=3GjFdIP7rDv5SMG9scE3_niu04tWELS6u7it2zpRZUg,17640
506
+ classiq/qmod/quantum_function.py,sha256=HZ1MBOx7aI2s6XF_xda6DyWBGKyP3CaEmARv18NKd4Q,12874
503
507
  classiq/qmod/semantics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
504
508
  classiq/qmod/semantics/annotation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
505
509
  classiq/qmod/semantics/annotation/call_annotation.py,sha256=hxnBRVu1WW3-k4oI7rPhuaEwhzp4IqxXprtuui72gWU,4886
506
510
  classiq/qmod/semantics/annotation/model_annotation.py,sha256=gzsX3RrcaTPYBxxplbXaE3pBlQQvVkLGrK-xewzdVMA,329
507
511
  classiq/qmod/semantics/annotation/qstruct_annotator.py,sha256=jE32WWiPZbahNQFiTdYiXuz5whgSxOO2g0o3mxZgHSk,869
508
- classiq/qmod/semantics/error_manager.py,sha256=9m4ewug3nJseRdrOpaYFJeHbj4rMc5AFUmAIb3WKaHI,3036
512
+ classiq/qmod/semantics/error_manager.py,sha256=vR7bV9wBJa9a0khLvBeCn_RO4uURY_v1dy8Gdh4_L7U,3037
509
513
  classiq/qmod/semantics/lambdas.py,sha256=2Mpq6zkSZJMB8oz_idU4TPCns0cNRi7t3B7T_YmJiH0,1166
510
514
  classiq/qmod/semantics/static_semantics_visitor.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
511
515
  classiq/qmod/semantics/validation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -514,14 +518,14 @@ classiq/qmod/semantics/validation/function_name_collisions_validation.py,sha256=
514
518
  classiq/qmod/semantics/validation/main_validation.py,sha256=K7QKjbP1pfNipf6bAiW3p3CAyAN7siN0fwS9hFRqcPk,1259
515
519
  classiq/qmod/semantics/validation/model_validation.py,sha256=BMeleBpQ7WkEi2LNh4jPfFCSnjK4ohcb4LSEwj2hJOk,881
516
520
  classiq/qmod/semantics/validation/signature_validation.py,sha256=WZerCfEwgbCPmXD34iHhXGVATMhJ86sg-dfdOHFZNGg,922
517
- classiq/qmod/semantics/validation/types_validation.py,sha256=fKpSyAP0LGbl7inSINuoEzPMD8e08NA0aozVbIvDPfg,4855
518
- classiq/qmod/symbolic.py,sha256=kmS-BWe0QCenq4i0WkzreFZsvbpgUv9RoSOQHCg3UKg,7607
521
+ classiq/qmod/semantics/validation/types_validation.py,sha256=uVyW1WlDvUQU7emzHT75QTS0huIlFZr9DgUXLQ7s7vQ,4856
522
+ classiq/qmod/symbolic.py,sha256=bE3BYvSp7EjHYMXFtrhLBtGWAXXAZw6jztxs8mu8Aig,7643
519
523
  classiq/qmod/symbolic_expr.py,sha256=LJoa9c6puMvUu4d5oU0SNzc7VXzSFBUNLf19ADzktLs,6133
520
524
  classiq/qmod/symbolic_type.py,sha256=ded7bVfWmHFw8MoyivVDJsG5vZZVRQontOZYb1kCrTQ,162
521
525
  classiq/qmod/type_attribute_remover.py,sha256=NZmTXAsngWqthXjE8n-n6yE72fiWTFM12-TXXJ1kJ-Q,1242
522
- classiq/qmod/utilities.py,sha256=O39RtmkiCtpvhCk76WvRm0jMDraEYDQAiPTGcnvqfmI,3738
523
- classiq/qmod/write_qmod.py,sha256=Oo-j_rSfcmzC5MOn0Vq334vv_OTvdD4P7K9pv-gbo8c,1833
524
- classiq/synthesis.py,sha256=WLk3wpX_xPiAMstF9PGMO5SWVb_qqa1sN2Nj3MekX34,8113
525
- classiq-0.67.0.dist-info/METADATA,sha256=T7RqM59p4ss3UyoEUoO7OXIPysqGLtGEdir5fBSCv2w,3497
526
- classiq-0.67.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
527
- classiq-0.67.0.dist-info/RECORD,,
526
+ classiq/qmod/utilities.py,sha256=pmtffI4vCK9YAXE-b37iF2LZ7cN-bRJtsEUhgafD1Cg,4318
527
+ classiq/qmod/write_qmod.py,sha256=Q3TWQU9p_Uy42STmX5GA_4Ts2TTOgYjt7I8LTRxTbb0,2047
528
+ classiq/synthesis.py,sha256=_1W-_shxXEmlhNFKuYz3npiv6P3pWonVn55B0qKRYSo,9052
529
+ classiq-0.69.0.dist-info/METADATA,sha256=8v-zzqHbux4qQeUMnKJXpMB6PfcZdjMIuwjSz38NL4I,3497
530
+ classiq-0.69.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
531
+ classiq-0.69.0.dist-info/RECORD,,
@@ -1,31 +0,0 @@
1
- from datetime import datetime
2
- from typing import Optional
3
-
4
- from pydantic import BaseModel, Field
5
-
6
- from classiq.interface.executor.execution_request import JobCost
7
- from classiq.interface.jobs import JobStatus
8
-
9
-
10
- class ExecutionJobDetailsV1(BaseModel, extra="ignore"):
11
- id: str
12
-
13
- name: Optional[str] = None
14
- start_time: datetime
15
- end_time: Optional[datetime] = None
16
-
17
- provider: Optional[str] = None
18
- backend_name: Optional[str] = None
19
-
20
- status: JobStatus
21
-
22
- num_shots: Optional[int] = None
23
- program_id: Optional[str] = None
24
-
25
- error: Optional[str] = None
26
-
27
- cost: Optional[JobCost] = Field(default=None)
28
-
29
-
30
- class ExecutionJobsQueryResultsV1(BaseModel, extra="ignore"):
31
- results: list[ExecutionJobDetailsV1]
@@ -1,166 +0,0 @@
1
- import ast
2
- from typing import TYPE_CHECKING, Any, Optional, TypeVar
3
-
4
- from classiq.interface.generator.arith.arithmetic import compute_arithmetic_result_type
5
- from classiq.interface.generator.expressions.expression import Expression
6
- from classiq.interface.generator.functions.port_declaration import (
7
- PortDeclarationDirection,
8
- )
9
- from classiq.interface.model.handle_binding import HandleBinding
10
- from classiq.interface.model.quantum_expressions.arithmetic_operation import (
11
- ArithmeticOperation,
12
- ArithmeticOperationKind,
13
- )
14
- from classiq.interface.model.quantum_expressions.quantum_expression import (
15
- QuantumAssignmentOperation,
16
- )
17
- from classiq.interface.model.quantum_statement import QuantumOperation, QuantumStatement
18
-
19
- from classiq.model_expansions.closure import Closure
20
- from classiq.model_expansions.evaluators.quantum_type_utils import copy_type_information
21
- from classiq.model_expansions.quantum_operations.emitter import Emitter
22
- from classiq.model_expansions.scope import QuantumSymbol, Scope
23
- from classiq.model_expansions.transformers.ast_renamer import rename_variables
24
- from classiq.model_expansions.visitors.variable_references import VarRefCollector
25
-
26
- if TYPE_CHECKING:
27
- from classiq.model_expansions.interpreters.base_interpreter import BaseInterpreter
28
-
29
-
30
- QuantumOperationT = TypeVar("QuantumOperationT", bound=QuantumOperation)
31
- _BLOCK_RENAMES = {
32
- "compute": "within",
33
- "action": "apply",
34
- }
35
- _REVERSE_BLOCK_RENAMES = {rename: name for name, rename in _BLOCK_RENAMES.items()}
36
-
37
-
38
- class ShallowEmitter(Emitter[QuantumOperation]):
39
- def __init__(
40
- self,
41
- interpreter: "BaseInterpreter",
42
- operation_name: str,
43
- *,
44
- components: Optional[list[str]] = None,
45
- ) -> None:
46
- super().__init__(interpreter)
47
- self._operation_name = operation_name
48
- self._components: list[str] = components or []
49
-
50
- def emit(self, op: QuantumOperation, /) -> None:
51
- expanded_components: dict[str, Any] = {}
52
- blocks, expressions, handles = self._split_components(op)
53
-
54
- if len(blocks) > 0:
55
- if op.is_generative():
56
- expanded_blocks = self.expand_generative_blocks(op)
57
- else:
58
- expanded_blocks = self.expand_blocks(op, blocks)
59
- expanded_components.update(expanded_blocks)
60
-
61
- for expression_name in expressions:
62
- expression = getattr(op, expression_name)
63
- expression = self._evaluate_expression(expression, preserve_bool_ops=True)
64
- for symbol in self._get_symbols_in_expression(expression):
65
- self._capture_handle(symbol.handle, PortDeclarationDirection.Inout)
66
- expanded_components[expression_name] = expression
67
-
68
- for handle_name in handles:
69
- handle = getattr(op, handle_name)
70
- expanded_components[handle_name] = self._interpreter.evaluate(
71
- handle
72
- ).value.handle
73
- expanded_components["back_ref"] = op.uuid
74
- op = op.model_copy(update=expanded_components)
75
- if isinstance(op, QuantumAssignmentOperation):
76
- self._post_process_assignment(op)
77
- self._builder.emit_statement(op)
78
-
79
- def _post_process_assignment(self, op: QuantumAssignmentOperation) -> None:
80
- if (
81
- isinstance(op, ArithmeticOperation)
82
- and op.operation_kind == ArithmeticOperationKind.Assignment
83
- ):
84
- direction = PortDeclarationDirection.Output
85
- self._update_result_type(op)
86
- else:
87
- direction = PortDeclarationDirection.Inout
88
- self._capture_handle(op.result_var, direction)
89
-
90
- def _split_components(
91
- self, op: QuantumOperation
92
- ) -> tuple[list[str], list[str], list[str]]:
93
- blocks = self._filter_components(op, list)
94
- expressions = self._filter_components(op, Expression)
95
- handles = self._filter_components(op, HandleBinding)
96
- return blocks, expressions, handles
97
-
98
- def _filter_components(
99
- self, op: QuantumOperation, component_type: type
100
- ) -> list[str]:
101
- return [
102
- component
103
- for component in self._components
104
- if isinstance(getattr(op, component, None), component_type)
105
- ]
106
-
107
- def expand_blocks(
108
- self, op: QuantumOperation, block_names: list[str]
109
- ) -> dict[str, list[QuantumStatement]]:
110
- blocks = {
111
- _BLOCK_RENAMES.get(block, block): block_statements
112
- for block in block_names
113
- if (block_statements := getattr(op, block)) is not None
114
- }
115
- block_closure = Closure(
116
- name=self._operation_name,
117
- scope=Scope(parent=self._current_scope),
118
- blocks=blocks,
119
- )
120
- context = self._expand_operation(block_closure)
121
- return {
122
- block: context.statements(_BLOCK_RENAMES.get(block, block))
123
- for block in block_names
124
- }
125
-
126
- def expand_generative_blocks(
127
- self, op: QuantumOperation
128
- ) -> dict[str, list[QuantumStatement]]:
129
- blocks = [block for block in self._components if op.has_generative_block(block)]
130
- context = self._expand_generative_context(op, self._operation_name, blocks)
131
- return {
132
- _REVERSE_BLOCK_RENAMES.get(block, block): context.statements(block)
133
- for block in blocks
134
- }
135
-
136
- def _update_result_type(self, op: ArithmeticOperation) -> None:
137
- expr = self._evaluate_expression(op.expression)
138
- symbols = self._get_symbols_in_expression(expr)
139
- expr_str = rename_variables(
140
- expr.expr,
141
- {str(symbol.handle): symbol.handle.identifier for symbol in symbols}
142
- | {symbol.handle.qmod_expr: symbol.handle.identifier for symbol in symbols},
143
- )
144
- for symbol in symbols:
145
- expr_str = expr_str.replace(
146
- symbol.handle.qmod_expr, symbol.handle.identifier
147
- )
148
- result_type = compute_arithmetic_result_type(
149
- expr_str,
150
- {symbol.handle.identifier: symbol.quantum_type for symbol in symbols},
151
- self._machine_precision,
152
- )
153
- result_symbol = self._interpreter.evaluate(op.result_var).as_type(QuantumSymbol)
154
- copy_type_information(
155
- result_type, result_symbol.quantum_type, str(op.result_var)
156
- )
157
-
158
- def _get_symbols_in_expression(self, expr: Expression) -> list[QuantumSymbol]:
159
- vrc = VarRefCollector(ignore_duplicated_handles=True)
160
- vrc.visit(ast.parse(expr.expr))
161
- handles = dict.fromkeys(
162
- handle
163
- for handle in vrc.var_handles
164
- if isinstance(self._current_scope[handle.name].value, QuantumSymbol)
165
- )
166
- return [self._interpreter.evaluate(handle).value for handle in handles]