Skip to content

refactor: simplify codebase, eliminate duplication, reduce allocations#25

Merged
splch merged 1 commit intomainfrom
refactor/simplify-codebase
Mar 17, 2026
Merged

refactor: simplify codebase, eliminate duplication, reduce allocations#25
splch merged 1 commit intomainfrom
refactor/simplify-codebase

Conversation

@splch
Copy link
Copy Markdown
Owner

@splch splch commented Mar 17, 2026

  • Make KAK delegate to KAKForBasis, removing ~170 lines of near-duplicate ZYZ-specific functions (kakGeneral, oneCNOTCircuit, twoCNOTCircuit, threeCNOTCircuit, tryLocalDecompose)
  • Add runParallel3q helper for 3-qubit kernels, matching the existing runParallel2q pattern and eliminating ~100 lines of boilerplate
  • Replace hand-rolled sortInts with slices.Sort
  • Fix kernel2qCZ discarding blockStride2 return values then recomputing
  • Remove dead assignments across 7 files (_ = iter, _ = cg, _ = detPhase, _ = newDim, _ = round)
  • Fix CommuteThroughCNOT calling c.Ops() twice (two defensive copies)
  • Remove redundant name variable in expandOpsToIonQ
  • Eliminate unnecessary Ops() defensive copies on read-only paths in compose.go, densitymatrix Apply, analysis BuildTimelines, transpile passes, and clifford sim
  • Pre-allocate slices outside hot loop in applyControlledGateN
  • Hoist c.Ops() above shots loop in clifford simulator

- Make KAK delegate to KAKForBasis, removing ~170 lines of near-duplicate
  ZYZ-specific functions (kakGeneral, oneCNOTCircuit, twoCNOTCircuit,
  threeCNOTCircuit, tryLocalDecompose)
- Add runParallel3q helper for 3-qubit kernels, matching the existing
  runParallel2q pattern and eliminating ~100 lines of boilerplate
- Replace hand-rolled sortInts with slices.Sort
- Fix kernel2qCZ discarding blockStride2 return values then recomputing
- Remove dead assignments across 7 files (_ = iter, _ = cg, _ = detPhase,
  _ = newDim, _ = round)
- Fix CommuteThroughCNOT calling c.Ops() twice (two defensive copies)
- Remove redundant name variable in expandOpsToIonQ
- Eliminate unnecessary Ops() defensive copies on read-only paths in
  compose.go, densitymatrix Apply, analysis BuildTimelines, transpile
  passes, and clifford sim
- Pre-allocate slices outside hot loop in applyControlledGateN
- Hoist c.Ops() above shots loop in clifford simulator
@splch splch merged commit c4b760c into main Mar 17, 2026
6 checks passed
@splch splch deleted the refactor/simplify-codebase branch March 17, 2026 20:41
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