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

Qiskit / qiskit / 15072432645
88%
main: 88%

Build:
Build:
LAST BUILD BRANCH: substitute_pi4_rotations
DEFAULT BRANCH: main
Ran 16 May 2025 04:19PM UTC
Jobs 1
Files 812
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

16 May 2025 03:53PM UTC coverage: 88.299% (-0.4%) from 88.683%
15072432645

push

github

web-flow
Add ParameterExpression in Rust (#13278)

* Add SymbolicExExpression in Rust

This PR is a new implementation of ParameterExpression written in Rust for issue #13267

This PR implements our own symbolic expression library written in Rust, this replaces
symengine from ParameterExpression class.

`crates/circuit/symbol_expr.rs` is a symbolic expression module. Equations with symbols
and values are expressed by using AST structure with nodes of operations. This module
contains all the operators defined in Python's ParameterExpression class.

To separate Rust's implementation from Python we prepared Python interface class
`crates/circuit/symbol_expr_py.rs` that is called from ParameterExpression in Python,
instead of symengine.

`crates/circuit/parameterexpression.rs` is the ParameterExpression class for Rust.
It provides similar functionalities to Python version.

* Remove unused parameterexpression.rs file

This file is more future facing and doesn't have any current uses. To
simplify the PR to just the working component this commit removes the
file. We can add it back in the future when there is use case for the
module.

* Change py suffix to prefix

This commit just renames the symbol_expr_py file and module to
py_symbol_expr. We typically use a Py prefix when describing objects
that are just for python. This change was just done to make this new
module match that expectation.

* Fix qiskit-circuit cargo dependencies

The Cargo.toml for qiskit-circuit was missing some details to use the
approx crate correctly with Complex64 types and arrays of those types.
This didn't bubble up in combined builds because cargo was reusing the
compilation unit for these crates with accelerate which had the correct
settings. But when trying to do a standalone build of qiskit-circuit
this caused a compilation error. This commit fixes this by updating the
local dependencies to ensure the appropriate features to use approx with
complex and ndarray are set.

* Use unix styl... (continued)

2152 of 2811 new or added lines in 9 files covered. (76.56%)

9 existing lines in 3 files now uncovered.

78446 of 88841 relevant lines covered (88.3%)

427968.76 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
4
82.96
-0.03% qiskit/qpy/binary_io/value.py
28
85.49
crates/circuit/src/symbol_parser.rs
90
75.54
crates/circuit/src/parameter_expression.rs
537
75.51
crates/circuit/src/symbol_expr.rs

Uncovered Existing Lines

Lines Coverage ∆ File
1
94.23
-0.23% crates/qasm2/src/expr.rs
2
96.97
0.23% qiskit/circuit/parameterexpression.py
6
91.48
-0.75% crates/qasm2/src/lex.rs
Jobs
ID Job ID Ran Files Coverage
1 15072432645.1 16 May 2025 04:19PM UTC 812
88.3
GitHub Action Run
Source Files on build 15072432645
  • Tree
  • List 812
  • Changed 10
  • Source Changed 7
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #15072432645
  • 1a2b8df8 on github
  • Prev Build on gh-readonly-queue/main/pr-14380-07e6b4827ba594855343d7adf2b1afd2a15dfada (#15055307343)
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

© 2025 Coveralls, Inc