Skip to content

Refactor scale offset into dedicated helper functions. - #8449

Open
Jens Hedegaard Nielsen (jenshnielsen) wants to merge 1 commit into
microsoft:mainfrom
jenshnielsen:cleanup_scale_offset
Open

Refactor scale offset into dedicated helper functions.#8449
Jens Hedegaard Nielsen (jenshnielsen) wants to merge 1 commit into
microsoft:mainfrom
jenshnielsen:cleanup_scale_offset

Conversation

@jenshnielsen

Copy link
Copy Markdown
Collaborator

The scale and offset conversions assume a numeric data type and rely on catching TypeError, which does not fit the generic parameter data type. They were expressed inline, so the working variable was repeatedly narrowed to whatever the last branch assigned, and each step needed a suppression.

Move them into four module level helpers that take and return Any. This keeps the arithmetic out of the generic class, deduplicates the iterable and scalar branches, and drops the suppressions in this file from 15 to 3.

Also stop routing issuperset through contains, which ty cannot resolve on Self when the class type parameter has a bound.

lifted from #8441

The scale and offset conversions assume a numeric data type and rely on
catching TypeError, which does not fit the generic parameter data type.
They were expressed inline, so the working variable was repeatedly
narrowed to whatever the last branch assigned, and each step needed a
suppression.

Move them into four module level helpers that take and return Any. This
keeps the arithmetic out of the generic class, deduplicates the iterable
and scalar branches, and drops the suppressions in this file from 15 to
3.

Also stop routing issuperset through __contains__, which ty cannot
resolve on Self when the class type parameter has a bound.
@codecov

codecov Bot commented Aug 26, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 89.18919% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.12%. Comparing base (f12be6b) to head (ce7aa22).

Files with missing lines Patch % Lines
src/qcodes/parameters/parameter_base.py 89.18% 4 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #8449   +/-   ##
=======================================
  Coverage   71.12%   71.12%           
=======================================
  Files         305      305           
  Lines       31952    31960    +8     
=======================================
+ Hits        22725    22733    +8     
  Misses       9227     9227           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant