• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Qiskit / qiskit / 16654959753

31 Jul 2025 04:47PM UTC coverage: 87.618% (-0.2%) from 87.781%
16654959753

push

github

web-flow
[Alternative] Move Parameter to Rust  (#14757)

* Split py and py-free methods

* playing with Symbol as Parameter

-- 606 failing tests

* fix errors

* about to start the mess

* suite passing

* PVE in Rust

* start assign

* add assign

* dealing with unknown params and conflicts

* an attempt at vector fixing

* fix more tests

- name conflicts
- hash(2.3) == hash(ParamExpr(2.3))
- some error messages

* implement name_map as track record

This allows keeping track of which parameters are still in the expression, even though the expression is optimized. E.g. x*0 = 0, but x is still valid to bind.

* The string debacle

- don't use UUID in to_string, only in string_id (using strings for comparisons should probably be avoided in future)
- clippy
- relax Python is-checks to eq-checks

* some housekeeping

* implement _qpy_replay

* implement sympify

* fix copy/deepcopy

* Implement pickle via QPY and Parameter.assign to return Parameter

* fix template matching

this is rather a temporary solution, maybe we ought to disable string parsing in favor or a proper SymPy->parameter expression conversion

* fix rhs - lhs mixup

* fix more tests on binding {x: 0*y}

* fix last failing tests (see numeric(strict=False))

* clippy

* a lot of docs

* rename PyParameterExpression to ParameterExpression

* Thou shan't fake hyperrefs

* proper split: (Py)ParameterExpression

* rm pyclass from Symbol

* TODO's and no more RwLock

- rm Arc<RwLock<..>> for inner, since expressions are immutable and not shared, this is not needed
- address a bunch of todos, that include
  - rm rsub/rdiv/rpow
  - introduce try_to_value and _to_symbol
  - make internal data private

* First round of review comments

mainly removing some unnecessary clones, and fixing Hash for ParameterExpression

* rm `name_map` from PyParameterExpression

--- and just reconstruct the Py symbols from ParameterExpression.name_map

* Fix vector element parsing

Co-authored-by: "U-AzureAD\JUNDOI" doichan... (continued)

1204 of 1475 new or added lines in 12 files covered. (81.63%)

108 existing lines in 5 files now uncovered.

81743 of 93295 relevant lines covered (87.62%)

541492.67 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

83.3
/crates/circuit/src/parameter/parameter_expression.rs


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc