-
Notifications
You must be signed in to change notification settings - Fork 21
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
🚧 Displacement Robustness Domain Simulation #416
base: main
Are you sure you want to change the base?
Conversation
# Conflicts: # include/fiction/io/print_layout.hpp # include/fiction/types.hpp # include/fiction/utils/layout_utils.hpp
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
include/fiction/algorithms/simulation/sidb/displacement_robustness.hpp
Outdated
Show resolved
Hide resolved
@Drewniok will you provide Python bindings for this algorithm? |
Yes, I will do that when we are clear about the structure. |
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.
Here are a few comments regarding the general structure of the code. Hope we can iterate from here 🙂
include/fiction/algorithms/simulation/sidb/displacement_robustness.hpp
Outdated
Show resolved
Hide resolved
include/fiction/algorithms/simulation/sidb/displacement_robustness.hpp
Outdated
Show resolved
Hide resolved
include/fiction/algorithms/simulation/sidb/displacement_robustness.hpp
Outdated
Show resolved
Hide resolved
include/fiction/algorithms/simulation/sidb/displacement_robustness.hpp
Outdated
Show resolved
Hide resolved
include/fiction/algorithms/simulation/sidb/displacement_robustness.hpp
Outdated
Show resolved
Hide resolved
include/fiction/algorithms/simulation/sidb/displacement_robustness.hpp
Outdated
Show resolved
Hide resolved
include/fiction/algorithms/simulation/sidb/displacement_robustness.hpp
Outdated
Show resolved
Hide resolved
include/fiction/algorithms/simulation/sidb/displacement_robustness.hpp
Outdated
Show resolved
Hide resolved
Thanks for your feedback! 🙏 I will address them asap. |
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
/** | ||
* The SiDB cell-level layout/SiDB gate for which the displacement robustness calculation is performed. | ||
*/ | ||
const Lyt& layout; |
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.
warning: member 'layout' of type 'const Lyt &' is a reference [cppcoreguidelines-avoid-const-or-ref-data-members]
const Lyt& layout;
^
/** | ||
* The statistics of the displacement robustness computation. | ||
*/ | ||
displacement_robustness_domain_stats& stats; |
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.
warning: member 'stats' of type 'displacement_robustness_domain_stats &' is a reference [cppcoreguidelines-avoid-const-or-ref-data-members]
displacement_robustness_domain_stats& stats;
^
/** | ||
* The specification of the layout. | ||
*/ | ||
const std::vector<TT>& truth_table; |
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.
warning: member 'truth_table' of type 'const std::vector &' is a reference [cppcoreguidelines-avoid-const-or-ref-data-members]
const std::vector<TT>& truth_table;
^
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
*/ | ||
const Lyt& layout; | ||
/** | ||
* The parameters for the displacement robustness computation. |
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.
warning: member 'layout' of type 'const Lyt &' is a reference [cppcoreguidelines-avoid-const-or-ref-data-members]
const Lyt& layout;
^
*/ | ||
displacement_robustness_domain_stats& stats; | ||
/** | ||
* This stores all possible displacements for all SiDBs in the SiDB layout. This means e.g. the first vector |
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.
warning: member 'stats' of type 'displacement_robustness_domain_stats &' is a reference [cppcoreguidelines-avoid-const-or-ref-data-members]
displacement_robustness_domain_stats& stats;
^
*/ | ||
const std::vector<TT>& truth_table; | ||
/** | ||
* Random device for obtaining seed for the random number generator. |
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.
warning: member 'truth_table' of type 'const std::vector &' is a reference [cppcoreguidelines-avoid-const-or-ref-data-members]
const std::vector<TT>& truth_table;
^
include/fiction/algorithms/simulation/sidb/determine_displacement_robustness.hpp
Outdated
Show resolved
Hide resolved
include/fiction/algorithms/simulation/sidb/determine_displacement_robustness.hpp
Outdated
Show resolved
Hide resolved
include/fiction/algorithms/simulation/sidb/determine_displacement_robustness.hpp
Outdated
Show resolved
Hide resolved
include/fiction/algorithms/simulation/sidb/determine_displacement_robustness.hpp
Outdated
Show resolved
Hide resolved
include/fiction/algorithms/simulation/sidb/determine_displacement_robustness.hpp
Outdated
Show resolved
Hide resolved
include/fiction/algorithms/simulation/sidb/determine_displacement_robustness.hpp
Outdated
Show resolved
Hide resolved
include/fiction/algorithms/simulation/sidb/determine_displacement_robustness.hpp
Outdated
Show resolved
Hide resolved
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
/** | ||
* The SiDB layout for which the displacement robustness calculation is performed. | ||
*/ | ||
const Lyt& layout; |
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.
warning: member 'layout' of type 'const Lyt &' is a reference [cppcoreguidelines-avoid-const-or-ref-data-members]
const Lyt& layout;
^
/** | ||
* The statistics of the displacement robustness computation. | ||
*/ | ||
displacement_robustness_domain_stats& stats; |
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.
warning: member 'stats' of type 'displacement_robustness_domain_stats &' is a reference [cppcoreguidelines-avoid-const-or-ref-data-members]
displacement_robustness_domain_stats& stats;
^
/** | ||
* The logical specification of the layout. | ||
*/ | ||
const std::vector<TT>& truth_table; |
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.
warning: member 'truth_table' of type 'const std::vector &' is a reference [cppcoreguidelines-avoid-const-or-ref-data-members]
const std::vector<TT>& truth_table;
^
Description
This PR presents the first version of the Displacement Robustness Domain Simulation. It is a starting point and further ideas will be incorporated step by step.
Checklist: