Repository navigation
Feat/ancilla - #171
Merged
Merged
Feat/ancilla#171
Conversation
…ssical_controlled_tableaux and pauli_rotations, mark the degadgetizable tableaux, todo : apply degadgetize funciton.
…mpilation 或是環境變數的客製化
CMake ≥ 3.29,並說明如何檢查與升級 明確列出 C++20 與編譯器 (g++-11 / clang++-16+) 說明需要 BLAS/LAPACK (OpenBLAS / LAPACK) Linux:改寫為用預設 gcc/g++,並提到可用環境變數或 .env.local 覆寫編譯器。 macOS: 保留 LLVM 選項,並新增 GCC 選項(遇到 fmt/consteval 錯誤時建議用 GCC) 說明用 .env.local 指定 Homebrew GCC 的路徑與範例 Local overrides (.env.local) 新章節: 說明 .env.local 為選用、僅在檔案存在時被讀取、且被 git 忽略 建議 cp .env.local.example .env.local 再編輯 給出 CC / CXX 的範例 Docker Builds: 強調可直接 docker run ... 使用預建映像 註明 make build-docker 需要映像內 CMake ≥ 3.29
- Add -Wno-error=cast-user-defined for qsyn executable and libqsyn when using GNU compiler. GCC 15 treats C-style cast in ordered_hashtable (pair<K,V> to pair<const K,V>&) as -Werror=cast-user-defined; this keeps the build passing while preserving the warning. Made-with: Cursor
- Include .env.local when present so CC, CXX (and other vars) can be overridden per-developer without touching the repo. - Only include if .env.local exists (wildcard check). - Clarify comment for platform default compiler block. Made-with: Cursor
Made-with: Cursor
apply with tableau o a, follow by tableau m r, if degadgetize, apply with talbeau m d after T-opt
1. added FastT-Merge and decomposition methods for CCX/CCZ gates 2. optionally choose to do properize/T-merge before H-gadget 3. FastTODD algorithm finalize
added tie-breaker FastTODD for better ancilla-T search adder classial topological-aware circuit conversion to qcir datatype and export topological-aware circuit as .qasm file.
…age logs Co-authored-by: Cursor <cursoragent@cursor.com>
Keep unify/reorder/tie-search and restore develop Clifford synthesis, manager APIs, and resyn strategies so the branch builds on current develop. Co-authored-by: Cursor <cursoragent@cursor.com>
Bring in GridSynth from PR #170 while keeping ancilla GCC 15 flags and local-env gitignore. Co-authored-by: Cursor <cursoragent@cursor.com>
Match develop's manager-level filename/procedure API, omit empty measurement counts in QCir print, and refresh goldens that now show parsed creg bits. Co-authored-by: Cursor <cursoragent@cursor.com>
Docker/CI GCC treats the unknown diagnostic name as -Werror=pragmas. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Clang defines __GNUC__ but rejects -Wmaybe-uninitialized under -Werror. Co-authored-by: Cursor <cursoragent@cursor.com>
GitHub Actions now fails the job on the unknown 'sources' key. Co-authored-by: Cursor <cursoragent@cursor.com>
4.13.0 fails on newer Clang (static_matrix get/get_elem). Pin macos CI to llvm@18 and install GMP/MPFR. Co-authored-by: Cursor <cursoragent@cursor.com>
4.13.x still fails under LLVM 18; which clang++ can pick Homebrew llvm@20. Co-authored-by: Cursor <cursoragent@cursor.com>
…lang++. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Check List
make test?make test-docker?make lintbefore submission?Locally: Catch2 unit tests and
scripts/RUN_TESTS(74 dofiles) pass on the merged tree.make lintandmake test-dockerwere not run for this update.Added
tableau o unify) and SMT gadget/PR width search (tableau o reorder).tie-search(and-t-only) to co-optimize T and ancilla from QCir, then convert back.ClassicalControlTableau, measurement/reset/if-else in QCir, and QASMcreg/ measure export for gadgetized circuits.Changed
unify/reorderreplace the old gadgetH / ancillaryTopt / minimize_q flow; T/A stage logs at warning.UnifyTOpt/SatReorder/TieSearchare recorded withtableau_mgr.add_procedure.convert tableau qciris eager HOpt + naive rotations, with CZ-aware naive synth and CCT/reset emission.creg.Fixed
develop(manager APIs, Clifford CX synthesizers, resyn strategies, GridSynth Reapply "Merge pull request #165 from LonerDavid/feat/gridsynth" #170).cast-user-definedonordered_hashtableso libqsyn/unit-test still build.Removed
get_filename/add_procedure(duplicates of the manager).Known follow-ups
convert tableau qcir -s lazy/-s unifiedstill error; only eager is wired through CCT.S*in some.qcinputs is accepted on this branch; develop’s reader still rejectsT*/S*on a few TODD files.