-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
✨ Add hexagonalization algorithm to pyfiction #295
Merged
simon1hofmann
merged 6 commits into
cda-tum:pyml
from
simon1hofmann:expose_mapping_algorithm
Sep 22, 2023
Merged
✨ Add hexagonalization algorithm to pyfiction #295
simon1hofmann
merged 6 commits into
cda-tum:pyml
from
simon1hofmann:expose_mapping_algorithm
Sep 22, 2023
Conversation
This file contains 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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
bindings/pyfiction/include/pyfiction/algorithms/physical_design/hexagonalization.hpp
Show resolved
Hide resolved
simon1hofmann
changed the title
✨ add hexagonalization algorithm to pyfiction
✨ Add hexagonalization algorithm to pyfiction
Sep 22, 2023
marcelwa
approved these changes
Sep 22, 2023
marcelwa
added a commit
that referenced
this pull request
Apr 22, 2024
* 💚 Adjusted start directory path * 💚 Adjusted the start directory path once more * 🚨 Removed the build-verbosity flag for cibuildwheels, because it is set by default in build mode * 💚 Use `python` instead of `python3` to rely on specified version * 👷 Added two more Python versions (3.7 and 3.8) to the CI * 👷 Changed job name * 🐛 Fix test skips based on Z3 (#195) * use dotenv for compatibility * declare dotenv a dependency * use older version due to python version requirements * use optional dependecies * fix typo * install test dependencies for deployment * use test extras instead of test requires * 📝 Added more documentation on pyfiction * 🙈 Added `dist/` to the ignored paths * 🎨 No need for second `mockturtle` link here * 🎨 Added another __init__.py file content * 👷 Trigger dispatch workflow on push such that it appears on GitHub * ✨ Added shifted_cartesian_layout to pyfiction * 👷 Set the Z3 environment variable before wheels are build * 👷 Set the Z3 environment variable before wheels are build * ✨ Added `pyfiction` documentation to read the docs (#190) * Add pyfiction documentation to read the docs * revert change in conf.py for local doc building * add removed empty line * Update requirements.txt * Add docs * change Mathjax commands to also work in pyfiction docs * try to order members by source * exclude mkdoc script from clang-tidy-review * fix documentation for cartesian layout * exclude documentation.hpp in clang-tidy review * update exclude pattern in clang-tidy-review * move header inside tab * move header inside individual tabs * change version requirement for Z3 * override hexagonal layout Python docs * update hexagonal layout Python docs --------- Co-authored-by: Marcel Walter <[email protected]> * 📝 Adjusted the documentation for shifted_cartesian_layout * 🐛 Fixed the absence of several docstrings by re-running pybind11_mkdoc * 🎨 Fixed an inconsistency and removed MUGEN from docstring generation * 📝 Adjusted the README on pyfiction * 🔥 Removed all remnants of Mugen from pyfiction since it cannot work in its current form * 🔥 Removed old LGTM config file * 🔥 Removed (probably unneeded) find Python directive * 👷 Try removing the before all clause again * 📝 Fixed hexagonal_layout documentation * 📝 Added pyfiction RST documentation on shifted_cartesian_layout * 📝 Added missing pyfiction RST documentation * ✨ Added read_sqd_layout to pyfiction * 🏗️ Enable position independent code for tinyxml2 to fix linker errors in pyfiction * 📝 Adjusted documentation string for read_sqd_layout * Add gate type checks to pyfiction (#204) * ✨ Added missing coordinate types to pyfiction * 📝 Updated docstrings * ✨ Added missing coordinate functions and documentation * 🎨 Improved structure of `charge_distribution_surface` * 🎨 Added `charge_distribution_surface` to pyfiction * 📝 Small documentation fix * 📝 Small documentation fix * 🐛 Fixed documentation build * 🐛 Fixed documentation build * ✏️ Fixed a typo * 👷 Use mold for Python bindings builds as well * 🐛 Fixed const parameter * 🐛 Fixed merge artifact * 🐛 Fixed merge artifact * 🐛 Fixed documentation build * 📝 Updated docstrings * ✨ Added `sidb_simulation_result` to pyfiction * ✨ Add bounding box to pyfiction (#235) * expose bounding box to pyfiction * ✨ Added SiDB simulation to pyfiction * 🚨 Attempt to fix the compiler issue in RTD * 📝 Updated mkdoc_docstrings * ✨ Added time_to_solution and occupation_probability_of_excited_states to pyfiction * 🔥 Removed unnecessary namespace aliases * 📝 Added RTD documentation for all SiDB simulation functions * Pyml tests for simulators (#237) * 🎨 test added for several functions. * 🎨 constructor added to use layout as input in charge_distribution_surface.hpp. * 🎨 add test for the simulators. * 🎨 add test for the simulators. * ✅ Fixed several of the failing pyfiction SiDB simulation tests. Some are still failing though. * ✅ Fixed all SiDB simulator test cases in pyfiction * 🎨 Added ``assertLessEqual`` to fix Python test under macOS (#246) * ✨ Added additionally cell-level layout features to pyfiction's charge_distribution_surface * 👽 Fixed merge conflicts occurred due to architectural changes made to `main` * ✨ Added 2DDWave distance, post-layout optimization and hexagonalization to pyfiction * expose is_dead function (#290) * 🐛 Fix docstring generator (#292) * Update pyfiction-docstring-generator.yml * ✨ Add post layout optimization to pyfiction and update docstrings (#293) * expose post layout optimization algorithm * Update pyfiction-docstring-generator.yml * fix post layout optimiztaion binding * Update pyfiction-docstring-generator.yml * clang-format * ✨ Add hexagonalization algorithm to pyfiction (#295) * 🔀 Resolve merge conflicts with `main` * 🐛 Added the position independent code requirement for tinyxml * 📝 Added latest docstrings * 💚 Attempt to fix sdist * ⚡ Enable target stripping, IPO, PCH, and unity builds for pyfiction * 👷 Use ccache in pypi CI * 🐛 Fix target name * 🐛 Attempt to fix sdist * 👷 Make the pyfiction CI fail fast * 🐛 Remove target stripping from pyfiction * 🐛 Attempt to fix sdist * 💚 Attempt to fix RTD * ✨ Expose gate-level layout reader and writer (#308) * expose gate-level layout reader and writer * clang-format * fix tests and add docs * remove unnecessary imports * 🐛 Fix Pyfiction CI * ✨ Add naming utils to logic network (#311) * add naming utils to logic network * add po to index functions * 🚚 Renamed the `io` folder to `inout` to avoid conflicts with Python's packaging * 📝 Updated the documentation with the new GitHub link * 🐛 Fixed includes in accordance to new header location * 🥅 Added a definition to help spot errors * ✨ Added `sidb_nanometer_distance` to pyfiction * ✨ Enable the usage of path finding algorithms on unclocked layouts in pyfiction * ✨ Added a stub for `design_sidb_gates` in pyfiction to be enabled once CDS works for that function as an input type * 🔀 Fix merge conflicts * ✨ Added new function to CDS in pyfiction * ✨ Added truth table utils and critical temperature simulation to pyfiction * ✨ Added positive charge detection to pyfiction * 🎨 Test naming consistency fixes * ✨ Added detect_bdl_pairs to pyfiction * ✨ Added detect_bdl_pairs to pyfiction * ✨ Added is_operational to pyfiction * 🎨 Consistency fixes for is_operational * 📝 Added missing SiDB simulation documentation for pyfiction * 📝 Added missing utils documentation for pyfiction * ✨ Added potential support for defect influences to pyfiction once it supports CDS arguments * 📝 Updated mkdoc docstrings * ✨ Added operational_domain computation to pyfiction * ✅ Updated Python test * ✨ Added QuickExact to pyfiction * 📝 Added missing docstring * ✨ Added code for the random SiDB layout generator to pyfiction. Needs type fixing together with a couple of other bindings. * 📝 Added missing docstrings * ✨ Added time_to_solution to pyfiction * 🎨 ClangFormat * ✨ Added assess_physical_population_stability and convert_potential_to_distance to pyfiction * 🐛 Fix bug in documentation * ✨ Added proper layout printing to pyfiction * ✨ Finalized I/O package in pyfiction * ✨ Finalized technology package in pyfiction * 🐛 Attempt to fix RTD processing * ✨ Added all meaningful layout utils to pyfiction * ✨ Added all meaningful routing utils to pyfiction * ✨ Added all meaningful name utils to pyfiction * ✨ Added some meaningful network utils to pyfiction * ✨ Added some meaningful placement utils to pyfiction * 🐛 Attempt to fix ReadTheDocs compilation issue * 📝 Adjusted the PR template with pyfiction in mind * 📝 Adjusted MathJaX comments * 🐛 Fix documentation bugs * 🐛 Fix Sphinx compilation issue * 🐛 Fix exception naming * 🎨 Improve structure and documentation of the SiDB defects * ✨ Added network dot drawers to pyfiction * 🎨 Renamed package to `mnt.pyfiction` * 📝 Fix small documentation inconsistency * 🚀 Deploy to PyPI * 🍱 Added static documentation graphics to the sdist * 📝 Added documentation on mnt.pyfiction * 📝 Added documentation on cube coordinates * 🍱 Added static documentation graphics to the sdist * ✅ add test for cds. * ✅ add test for cds. * ✅ add layout for unit tests. * 🎨 consistent name for the simulation parameters. * ✅ add more tests for pyfiction * 🎨 small changes. * 🎨 Enable the usage of py_sidb_layout instead of py_charge_distribution_surface in simulation algorithms * 🎨 allow offset coordinates. * 🎨 allow offset coordinates. * 🎨 delete redundant static_assert * 🐛 convert siqad to offset coordinates. * ✨ add time_to_solution function to pyfiction. * 🎨 typo. * 🎨 add final line. * ✅ add unit test for random layout generator * 🎨 Renamed pyfiction's `logic_network` to `technology_network` in accordance with fiction * 🎨 Change parameter type of pyfiction's time_to_solution to py_sidb_layout * 🎨 ClangFormat changes Signed-off-by: ClangFormat <[email protected]> * 👷 Reverted changes made for testing. Publish to PyPI only on release. * 🔧 Added a note for developers regarding Python bindings * Apply Simon's suggestions Co-authored-by: simon1hofmann <[email protected]> * 📝 small fix. * 🎨 ClangFormat changes Signed-off-by: ClangFormat <[email protected]> * 🎨 change test so that no positively charged SiDBs are allowed. * 🎨 small changes. * 🎨 use lambda expression due to new template parameter. * 🎨 small change. * ✅ update test. * ⬆️ upgrade ``pybind11``. * 👷 change pypa version. * ✅ add pybind unit test for sidb gate design. * ✅ choose correct inverter gate with input tags. * 🎨 small fixes. * 🎨 add missing headers. * 🎨 use offset instead of siqad coordinates. * 📝 use ``autoclass``. * 📝 replace ` by `` to use markdown in documentation. * 📝 undo changes. * 📝 small fix. * 📝 small fix. * 📝 update design_sidb_gates.rst * 📝 add empty line between the header and the doxygenclass. * 📝 fix small issue. * 🔀 merge ``main`` in. WIP code. * 🎨 ClangFormat changes Signed-off-by: ClangFormat <[email protected]> * 🎨 first working version with Si-lattice support. * 🎨 small fix. * 🎨 add ``operational_input_patterns`` function. * 🎨 extensive change, expose new functions to pyfiction, add more unit tests. * 🎨 111-support. * ✅ add more unit tests. * 🎨 ClangFormat changes Signed-off-by: ClangFormat <[email protected]> * 📝 update docu. * 📝 update docu. * 🎨 update experiments. * 🎨 update DOC reference. * 🎨 update DOC reference. * 🎨 update sidb_lattice.rst * 🎨 rename function and change folder location. * 🎨 rename function and update docu. * 🐛 small bug fix in opdomain unit test. * 📝 update docu. * 📝 small fix in docu. * 📝 use correct docstring. * 🎨 template deduction is working. * 🎨 template deduction is working. * 🎨 ClangFormat changes Signed-off-by: ClangFormat <[email protected]> * 🎨 small changes. * 🎨 small fix. * 🎨 update docu. * 🎨 small changes. * 🎨 update the unordered map. * 🐛 Fixed bug in the RST documentation of `one_pass_synthesis` * 🎨 Incorporated pre-commit fixes * 🔀 merge with ``main``. * 🐛 use correct limit. * 🎨 use ``FICTION_EXECUTION_POLICY_SEQ`` for random sampling. * ✅ fix unit test after merge. * 🎨 revert execution policy setting and update unit test. * 🎨 define hash function and use set to have unique random sample points. * 🔥 remove hash function for step point. --------- Signed-off-by: ClangFormat <[email protected]> Co-authored-by: simon1hofmann <[email protected]> Co-authored-by: Jan Drewniok <[email protected]> Co-authored-by: Simon Hofmann <[email protected]> Co-authored-by: Simon <[email protected]> Co-authored-by: Drewniok <[email protected]> Co-authored-by: ClangFormat <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
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.
Description
Added the
hexagonalization
algorithm topyfiction
.Checklist: