Skip to content
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

✨ Sorting designed SiDB gates #552

Open
wants to merge 157 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
157 commits
Select commit Hold shift + click to select a range
e2846f7
:bug: the `AFTER_FIRST_SOLUTION` mode now actually terminates after t…
wlambooy Oct 28, 2024
108bb40
:zap: operational status assessment can now return the simulation res…
wlambooy Oct 28, 2024
3424cec
:pencil2: typo
wlambooy Oct 28, 2024
8ec3abd
:sparkles: Exhaustive SiDB design can now sort on ground state isolation
wlambooy Oct 29, 2024
a07c6a0
Merge branch 'main' into designed_gates_sorting
wlambooy Oct 30, 2024
d914aa0
:white_check_mark: Removed redundant test
wlambooy Oct 30, 2024
32db7bc
:memo: Update pyfiction docstrings
actions-user Oct 30, 2024
1a4c2d0
:sparkles: Added average ground state isolation as tie-breaker
wlambooy Oct 30, 2024
92045d6
:white_check_mark: Added test
wlambooy Oct 30, 2024
1a8cecd
:memo: Update pyfiction docstrings
actions-user Oct 30, 2024
19ec6a7
🎨 Incorporated pre-commit fixes
pre-commit-ci[bot] Oct 30, 2024
805aa23
:bug: forgotten deref
wlambooy Nov 12, 2024
ef68da7
🎨 Incorporated pre-commit fixes
pre-commit-ci[bot] Nov 12, 2024
9a09663
:bug: forgotten deref
wlambooy Nov 12, 2024
54c078e
Merge remote-tracking branch 'fork/designed_gates_sorting' into desig…
wlambooy Nov 12, 2024
34c4093
:bug: forgotten deref
wlambooy Nov 12, 2024
c109e6c
🎨 Incorporated pre-commit fixes
pre-commit-ci[bot] Nov 12, 2024
eed0cd4
:bug: forgotten deref
wlambooy Nov 13, 2024
019be95
Merge remote-tracking branch 'fork/designed_gates_sorting' into desig…
wlambooy Nov 13, 2024
65049a8
Merge branch 'main' into designed_gates_sorting
wlambooy Feb 3, 2025
f8fae78
🎨 Incorporated pre-commit fixes
pre-commit-ci[bot] Feb 3, 2025
9213881
:memo: Update pyfiction docstrings
actions-user Feb 3, 2025
2e9181c
:art: Post-fix `&&`
wlambooy Feb 3, 2025
73c0786
Merge remote-tracking branch 'fork/designed_gates_sorting' into desig…
wlambooy Feb 3, 2025
de1982a
:snake: Adjusted bindings for `is_operational`
wlambooy Feb 3, 2025
b0efb10
Merge branch 'main' into designed_gates_sorting
wlambooy Feb 3, 2025
9bbfc83
:snake: Fixed bindings for `is_operational`
wlambooy Feb 3, 2025
ca25236
:adhesive_bandage: Changed the way `set_simulation_results_retention_…
wlambooy Feb 3, 2025
3fa58ab
:memo: Update pyfiction docstrings
actions-user Feb 3, 2025
d5866a4
:adhesive_bandage: Renaming artifact
wlambooy Feb 3, 2025
dfc364c
Merge remote-tracking branch 'fork/designed_gates_sorting' into desig…
wlambooy Feb 3, 2025
1feeb56
:adhesive_bandage: Removed duplicate definitions
wlambooy Feb 3, 2025
f0bf4ff
:snake: Added missing identifiers to `__init__.py`
wlambooy Feb 3, 2025
617cde2
:art: Missing import
wlambooy Feb 3, 2025
98ddfae
Merge branch 'main' into designed_gates_sorting
wlambooy Feb 3, 2025
8f171d2
:art: Renamed return value
wlambooy Feb 3, 2025
1b4fefb
:adhesive_bandage: Added forgotten parameter
wlambooy Feb 3, 2025
b70565c
🎨 Incorporated pre-commit fixes
pre-commit-ci[bot] Feb 3, 2025
e80df55
:white_check_mark: Increased test coverage
wlambooy Feb 3, 2025
46d6884
🎨 Incorporated pre-commit fixes
pre-commit-ci[bot] Feb 3, 2025
40822a6
:snake: Different lattice instantiations get different identifiers in…
wlambooy Feb 3, 2025
d7967a2
Merge branch 'main' into designed_gates_sorting
wlambooy Feb 4, 2025
756f523
:sparkles: Generic framework for comparing SiDB gates
wlambooy Feb 5, 2025
469bcae
Merge remote-tracking branch 'fork/designed_gates_sorting' into desig…
wlambooy Feb 5, 2025
ecec062
:memo: Update pyfiction docstrings
actions-user Feb 5, 2025
eb1367d
:art: Removed duplicate `namespace py = pybind11`
wlambooy Feb 6, 2025
42f8113
:rotating_light: Fixed compiler warning (unused `this` in Release)
wlambooy Feb 6, 2025
fd8cdd1
:memo: Cleaned up docstring
wlambooy Feb 6, 2025
d8294ac
:bug: Fixed a case where `|determine_all_combinations_of_distributing…
wlambooy Feb 6, 2025
0fd5669
:art: Removed `inline` specifier where Clang-Tidy suggested to do so
wlambooy Feb 6, 2025
e756bdb
:recycle: Refactor/Clean-up of `design_sidb_gates.hpp`
wlambooy Feb 6, 2025
6945649
🎨 Incorporated pre-commit fixes
pre-commit-ci[bot] Feb 6, 2025
9a06c96
:memo: Update pyfiction docstrings
actions-user Feb 6, 2025
bfb10c0
:sparkles: Extendable framework for comparing designed SiDB gates
wlambooy Feb 7, 2025
0b7b6da
:safety_vest: Fixed `assert`
wlambooy Feb 7, 2025
2c0396d
:sparkles: Added the `ALL_INPUT_COMBINATIONS_ASSESSED` (non-default) …
wlambooy Feb 7, 2025
c5f8479
:memo: Update pyfiction docstrings
actions-user Feb 7, 2025
dd4b476
🎨 Incorporated pre-commit fixes
pre-commit-ci[bot] Feb 7, 2025
9b8abbb
:bug: Simulation results can now be retained for operational gates wi…
wlambooy Feb 10, 2025
f28ffbf
:art: Updated `design_sidb_gates` to work with the new changes to `is…
wlambooy Feb 10, 2025
7b3125f
:art: Format
wlambooy Feb 10, 2025
1a31304
:rotating_light: Fixed some compiler warnings and one-click Clang-Tid…
wlambooy Feb 10, 2025
7db9661
:adhesive_bandage: Compatibility fixes w.r.t. the changes to `design_…
wlambooy Feb 10, 2025
ac9663a
:snake: Adjusted Python bindings for `is_operational`
wlambooy Feb 10, 2025
46e86a9
:truck: Shortened `automatic_exhaustive_gate_designer` to `exhaustive…
wlambooy Feb 10, 2025
4f7c1fe
:snake: Added read-only access to member variables of `design_sidb_ga…
wlambooy Feb 10, 2025
063d7a6
:bug: Fixed wrong CMake message
wlambooy Feb 10, 2025
d002690
:snake: Adjusted bindings for `design_sidb_gates`
wlambooy Feb 10, 2025
9192c83
:art: Missing import
wlambooy Feb 10, 2025
37484b0
:art: Change nested enum naming scheme to option (2)
wlambooy Feb 10, 2025
6e26b08
Merge branch 'main' into designed_gates_sorting
wlambooy Feb 10, 2025
3527432
:snake: Adjusted Python bindings test for `is_operational`
wlambooy Feb 10, 2025
8d53a92
🎨 Incorporated pre-commit fixes
pre-commit-ci[bot] Feb 10, 2025
8dbf313
:memo: Update pyfiction docstrings
actions-user Feb 10, 2025
50337f9
:rotating_light: Fixed compiler warning
wlambooy Feb 10, 2025
bb3c512
:art: Adjust template argument that is passed to `design_sidb_gates_p…
wlambooy Feb 10, 2025
d37aa97
:art: Removed unused imports
wlambooy Feb 10, 2025
a87c6c5
:memo: Missing docstrings
wlambooy Feb 10, 2025
65d113a
🎨 Incorporated pre-commit fixes
pre-commit-ci[bot] Feb 10, 2025
528d79e
:memo: Missing docstrings
wlambooy Feb 10, 2025
6903e15
Merge remote-tracking branch 'fork/designed_gates_sorting' into desig…
wlambooy Feb 10, 2025
1dd2771
:bug: Fixed a mistake in `__init__.py`
wlambooy Feb 10, 2025
87e670b
:adhesive_bandage: Adjusted the usage of the return type of a `is_ope…
wlambooy Feb 10, 2025
1171966
:art: Reformat
wlambooy Feb 12, 2025
247e5db
:pencil2: Fixed typo
wlambooy Feb 12, 2025
368a521
:adhesive_bandage: Fixed template errors
wlambooy Feb 12, 2025
1314879
:memo: Update pyfiction docstrings
actions-user Feb 12, 2025
479ab7c
:snake: Fixed missing lattice postfix
wlambooy Feb 12, 2025
4479f15
Merge remote-tracking branch 'fork/designed_gates_sorting' into desig…
wlambooy Feb 12, 2025
94a7f18
:memo: Fixed python docstrings
wlambooy Feb 12, 2025
9328c15
:memo: Update pyfiction docstrings
actions-user Feb 12, 2025
d091501
:memo: Fixed python docstrings
wlambooy Feb 12, 2025
6aab3f7
:memo: Update pyfiction docstrings
actions-user Feb 12, 2025
1905e66
:green_heart: Do not run pyfiction docstring generator upon edits to …
wlambooy Feb 12, 2025
4e3c86e
:memo: Fixed pyfiction docstrings
wlambooy Feb 12, 2025
17c7f9f
:art: Clang-Tidy suggestions
wlambooy Feb 12, 2025
2735012
:memo: Update pyfiction docstrings
actions-user Feb 12, 2025
30e4b7c
:memo: Fixed pyfiction docstrings
wlambooy Feb 12, 2025
155ab73
:memo: Added a docstring to `order_designed_sidb_gates`
wlambooy Feb 12, 2025
9dcfd48
:snake: Fixed duplicate definition of nested enum definitions
wlambooy Feb 12, 2025
414dfd6
🎨 Incorporated pre-commit fixes
pre-commit-ci[bot] Feb 12, 2025
3f3fa84
:memo: Update pyfiction docstrings
actions-user Feb 12, 2025
145084b
:memo: Fixed pyfiction docstrings
wlambooy Feb 12, 2025
c4de4d8
:art: Renamed to `designed_sidb_gate_comparator`
wlambooy Feb 12, 2025
495beb6
:memo: Added some docstrings
wlambooy Feb 12, 2025
4f27b59
:snake: Dangling identifier in `__init__.py`
wlambooy Feb 12, 2025
7ba74b1
Revert ":green_heart: Do not run pyfiction docstring generator upon e…
wlambooy Feb 12, 2025
dab05b8
:memo: Added `_overridden` pyfiction docstrings
wlambooy Feb 12, 2025
8ee0c69
🎨 Incorporated pre-commit fixes
pre-commit-ci[bot] Feb 12, 2025
7361029
:memo: Update pyfiction docstrings
actions-user Feb 12, 2025
6b52427
:memo: Finished the docstrings for `compare_designed_sidb_gates.hpp`
wlambooy Feb 12, 2025
9ae9997
:memo: Update pyfiction docstrings
actions-user Feb 12, 2025
fe26104
:art: Added `noexcept`
wlambooy Feb 12, 2025
1e81996
:snake: Made selector types lattice-specific.
wlambooy Feb 13, 2025
52a4107
Merge branch 'main' into designed_gates_sorting
wlambooy Feb 13, 2025
77ee78d
:art: Make the `params` member variable `const`
wlambooy Feb 13, 2025
8aaf1d2
:adhesive_bandage: Forgotten template argument adjustments
wlambooy Feb 13, 2025
a6889b4
:memo: Update pyfiction docstrings
actions-user Feb 13, 2025
9e02436
:art: reformat
wlambooy Feb 13, 2025
a27a132
Merge branch 'main' into designed_gates_sorting
wlambooy Feb 13, 2025
377c5ff
:snake: Forgot to adjust a test after changing the return type of `is…
wlambooy Feb 13, 2025
34323b5
:art: Removed extra semicolon
wlambooy Feb 13, 2025
de6b494
:sparkles: Added `operational_condition_positive_charges`
wlambooy Feb 13, 2025
8c4e2ec
🎨 Incorporated pre-commit fixes
pre-commit-ci[bot] Feb 13, 2025
0ca3566
:memo: Update pyfiction docstrings
actions-user Feb 13, 2025
f916cef
:adhesive_bandage: Renaming artifacts
wlambooy Feb 13, 2025
2c44699
🎨 Incorporated pre-commit fixes
pre-commit-ci[bot] Feb 13, 2025
e6ad6a1
:adhesive_bandage: Renaming artifacts
wlambooy Feb 13, 2025
f46772f
🎨 Incorporated pre-commit fixes
pre-commit-ci[bot] Feb 13, 2025
693096d
:snake: Forgotton postfix
wlambooy Feb 13, 2025
9dc0093
:adhesive_bandage: Renaming artifact
wlambooy Feb 13, 2025
1a5af50
🎨 Incorporated pre-commit fixes
pre-commit-ci[bot] Feb 13, 2025
252a2b8
:adhesive_bandage: Renaming artifact
wlambooy Feb 13, 2025
8a1e61b
:adhesive_bandage: Renaming artifact
wlambooy Feb 13, 2025
d675a0d
:adhesive_bandage: Renaming artifact
wlambooy Feb 13, 2025
dc6ff04
🎨 Incorporated pre-commit fixes
pre-commit-ci[bot] Feb 13, 2025
a34e291
:adhesive_bandage: Renaming artifact
wlambooy Feb 13, 2025
c448c4b
:adhesive_bandage: Renaming artifact
wlambooy Feb 13, 2025
c2d3c15
:adhesive_bandage: Renaming artifact
wlambooy Feb 13, 2025
dd2e286
🎨 Incorporated pre-commit fixes
pre-commit-ci[bot] Feb 13, 2025
812f523
:adhesive_bandage: Renaming artifact
wlambooy Feb 13, 2025
81879ac
🎨 Incorporated pre-commit fixes
pre-commit-ci[bot] Feb 13, 2025
f5e3cac
:adhesive_bandage: Renaming artifact
wlambooy Feb 13, 2025
6f6e59d
🎨 Incorporated pre-commit fixes
pre-commit-ci[bot] Feb 13, 2025
d7c14bd
:adhesive_bandage: Renaming artifact
wlambooy Feb 14, 2025
f044060
🎨 Incorporated pre-commit fixes
pre-commit-ci[bot] Feb 14, 2025
a553d91
:adhesive_bandage: Renaming artifact
wlambooy Feb 14, 2025
a785c36
🎨 Incorporated pre-commit fixes
pre-commit-ci[bot] Feb 14, 2025
8777bf1
:adhesive_bandage: Renaming artifact
wlambooy Feb 14, 2025
007aa9e
Merge branch 'main' into designed_gates_sorting
wlambooy Feb 14, 2025
9212f4c
:adhesive_bandage: Forgot to put `op_condition_positive_charges` check
wlambooy Feb 14, 2025
a25ccf3
🎨 Incorporated pre-commit fixes
pre-commit-ci[bot] Feb 14, 2025
930ba6b
Merge branch 'main' into designed_gates_sorting
wlambooy Feb 17, 2025
74e3ece
Merge branch 'main' into designed_gates_sorting
wlambooy Feb 17, 2025
a2dd43e
:alembic: Added benchmark for `is_operational`
wlambooy Feb 19, 2025
f9ac5d7
:alembic: Added benchmark results (slight improvement for `design_sid…
wlambooy Feb 19, 2025
132f4c3
Merge remote-tracking branch 'fork/designed_gates_sorting' into desig…
wlambooy Feb 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ inline void design_sidb_gates(pybind11::module& m)
/**
* Design approach selector type.
*/
pybind11::enum_<typename fiction::design_sidb_gates_params<fiction::offset::ucoord_t>::design_sidb_gates_mode>(
py::enum_<typename fiction::design_sidb_gates_params<fiction::offset::ucoord_t>::design_sidb_gates_mode>(
m, "design_sidb_gates_mode", DOC(fiction_design_sidb_gates_params_design_sidb_gates_mode))
.value("QUICKCELL",
fiction::design_sidb_gates_params<fiction::offset::ucoord_t>::design_sidb_gates_mode::QUICKCELL,
Expand All @@ -60,6 +60,32 @@ inline void design_sidb_gates(pybind11::module& m)
.value("RANDOM", fiction::design_sidb_gates_params<fiction::offset::ucoord_t>::design_sidb_gates_mode::RANDOM,
DOC(fiction_design_sidb_gates_params_design_sidb_gates_mode_RANDOM));

/**
* Termination condition selector type.
*/
py::enum_<typename fiction::design_sidb_gates_params<fiction::offset::ucoord_t>::termination_condition>(
m, "termination_condition", DOC(fiction_design_sidb_gates_params_termination_condition))
.value(
"AFTER_FIRST_SOLUTION",
fiction::design_sidb_gates_params<fiction::offset::ucoord_t>::termination_condition::AFTER_FIRST_SOLUTION,
DOC(fiction_design_sidb_gates_params_termination_condition_AFTER_FIRST_SOLUTION))
.value("ALL_COMBINATIONS_ENUMERATED",
fiction::design_sidb_gates_params<
fiction::offset::ucoord_t>::termination_condition::ALL_COMBINATIONS_ENUMERATED,
DOC(fiction_design_sidb_gates_params_termination_condition_ALL_COMBINATIONS_ENUMERATED));

/**
* Post-design processes selector type.
*/
py::enum_<typename fiction::design_sidb_gates_params<fiction::offset::ucoord_t>::post_design_mode>(
m, "post_design_mode", DOC(fiction_design_sidb_gates_params_post_design_mode))
.value("DO_NOTHING", fiction::design_sidb_gates_params<fiction::offset::ucoord_t>::post_design_mode::DO_NOTHING,
DOC(fiction_design_sidb_gates_params_post_design_mode_DO_NOTHING))
.value("PREFER_ENERGETICALLY_ISOLATED_GROUND_STATES",
fiction::design_sidb_gates_params<
fiction::offset::ucoord_t>::post_design_mode::PREFER_ENERGETICALLY_ISOLATED_GROUND_STATES,
DOC(fiction_design_sidb_gates_params_post_design_mode_PREFER_ENERGETICALLY_ISOLATED_GROUND_STATES));

/**
* Parameters.
*/
Expand All @@ -75,7 +101,13 @@ inline void design_sidb_gates(pybind11::module& m)
DOC(fiction_design_sidb_gates_params_canvas))
.def_readwrite("number_of_sidbs",
&fiction::design_sidb_gates_params<fiction::offset::ucoord_t>::number_of_sidbs,
DOC(fiction_design_sidb_gates_params_number_of_sidbs));
DOC(fiction_design_sidb_gates_params_number_of_sidbs))
.def_readwrite("termination_cond",
&fiction::design_sidb_gates_params<fiction::offset::ucoord_t>::termination_cond,
DOC(fiction_design_sidb_gates_params_termination_cond))
.def_readwrite("post_design_process",
&fiction::design_sidb_gates_params<fiction::offset::ucoord_t>::post_design_process,
DOC(fiction_design_sidb_gates_params_post_design_process));

detail::design_sidb_gates<py_sidb_100_lattice>(m);
detail::design_sidb_gates<py_sidb_111_lattice>(m);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ namespace detail
{

template <typename Lyt>
void is_operational(pybind11::module& m)
void is_operational(pybind11::module& m, const std::string& lattice = "")
{
using namespace pybind11::literals;

Expand All @@ -32,6 +32,15 @@ void is_operational(pybind11::module& m)

m.def("operational_input_patterns", &fiction::operational_input_patterns<Lyt, py_tt>, "lyt"_a, "spec"_a,
"params"_a = fiction::is_operational_params{}, DOC(fiction_operational_input_patterns));

pybind11::class_<fiction::operational_status_assessment_stats<Lyt>>(
m, fmt::format("sidb_simulation_result{}", lattice).c_str(), DOC(fiction_operational_status_assessment_stats))
.def(pybind11::init<>())
.def_readwrite("simulation_results", &fiction::operational_status_assessment_stats<Lyt>::simulation_results,
DOC(fiction_operational_status_assessment_stats_simulation_results))
.def_readwrite("number_of_simulator_invocations",
&fiction::operational_status_assessment_stats<Lyt>::number_of_simulator_invocations,
DOC(fiction_operational_status_assessment_stats_number_of_simulator_invocations));
}

} // namespace detail
Expand All @@ -51,6 +60,15 @@ inline void is_operational(pybind11::module& m)
.value("REJECT_KINKS", fiction::operational_condition::REJECT_KINKS,
DOC(fiction_operational_condition_REJECT_KINKS));

py::enum_<typename fiction::is_operational_params::simulation_results_mode>(
m, "simulation_results_mode", DOC(fiction_is_operational_params_simulation_results_mode))
.value("KEEP_SIMULATION_RESULTS",
fiction::is_operational_params::simulation_results_mode::KEEP_SIMULATION_RESULTS,
DOC(fiction_is_operational_params_simulation_results_mode_KEEP_SIMULATION_RESULTS))
.value("DISCARD_SIMULATION_RESULTS",
fiction::is_operational_params::simulation_results_mode::DISCARD_SIMULATION_RESULTS,
DOC(fiction_is_operational_params_simulation_results_mode_DISCARD_SIMULATION_RESULTS));

py::class_<fiction::is_operational_params>(m, "is_operational_params", DOC(fiction_is_operational_params))
.def(py::init<>())
.def_readwrite("simulation_parameters", &fiction::is_operational_params::simulation_parameters,
Expand All @@ -63,8 +81,8 @@ inline void is_operational(pybind11::module& m)
DOC(fiction_is_operational_params_op_condition));

// NOTE be careful with the order of the following calls! Python will resolve the first matching overload!
detail::is_operational<py_sidb_100_lattice>(m);
detail::is_operational<py_sidb_111_lattice>(m);
detail::is_operational<py_sidb_100_lattice>(m, "_100");
detail::is_operational<py_sidb_111_lattice>(m, "_111");
}

} // namespace pyfiction
Expand Down
91 changes: 81 additions & 10 deletions bindings/pyfiction/include/pyfiction/pybind11_mkdoc_docstrings.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3816,6 +3816,20 @@ static const char *__doc_fiction_design_sidb_gates_params_number_of_sidbs = R"do

static const char *__doc_fiction_design_sidb_gates_params_operational_params = R"doc(Parameters for the `is_operational` function.)doc";

static const char *__doc_fiction_design_sidb_gates_params_post_design_mode = R"doc(Selector for the available post-design processes.)doc";

static const char *__doc_fiction_design_sidb_gates_params_post_design_mode_DO_NOTHING = R"doc(No post-design operation is performed.)doc";

static const char *__doc_fiction_design_sidb_gates_params_post_design_mode_PREFER_ENERGETICALLY_ISOLATED_GROUND_STATES =
R"doc(The designed gates are sorted by how energetically isolated the ground
state is from the first excited state.)doc";

static const char *__doc_fiction_design_sidb_gates_params_post_design_process =
R"doc(After the design process, the returned gates are not sorted.

@note This parameter has no effect unless the gate design is
exhaustive and all combinations are enumerated.)doc";

static const char *__doc_fiction_design_sidb_gates_params_termination_cond =
R"doc(The design process is terminated after a valid SiDB gate design is
found.
Expand Down Expand Up @@ -4803,6 +4817,19 @@ Parameter ``layout``:
Parameter ``input_index``:
The index representing the current input pattern.)doc";

static const char *__doc_fiction_detail_design_sidb_gates_impl_set_simulation_results_retention_accordingly =
R"doc(This function makes sure that the underlying parameters for
`is_operational` allow simulation results to be used when the given
parameter set indicates the use for it.

Parameter ``Parameters``:
and settings for the gate designer.

Returns:
Parameters and settings for the gate designer for which the
simulation results retention of the underlying parameter for
operational status assessment is set accordingly.)doc";

static const char *__doc_fiction_detail_design_sidb_gates_impl_skeleton_layout =
R"doc(The skeleton layout serves as a starting layout to which SiDBs are
added to create unique SiDB layouts and, if possible, working gates.
Expand All @@ -4819,6 +4846,19 @@ Parameter ``cell_indices``:
A copy of the original layout (`skeleton_layout`) with SiDB cells
added at specified indices.)doc";

static const char *__doc_fiction_detail_design_sidb_gates_impl_sort_designed_gate_layouts_by_ground_state_isolation =
R"doc(Performs a sorting operation on the designed gate layouts, putting
those in front for which the energetic gap between the ground state
and the first excited state is larger. For each designed gate layout,
the minimum energetic gap is taken over each input.

Parameter ``designed_gate_layouts``:
A vector of designed gate layouts to sort in place.

Parameter ``sim_results_per_input_for_each_gate_design``:
The simulation results for each input of each designed gate
layout.)doc";

static const char *__doc_fiction_detail_design_sidb_gates_impl_stats = R"doc(The statistics of the gate design.)doc";

static const char *__doc_fiction_detail_design_sidb_gates_impl_truth_table = R"doc(Truth table of the given gate.)doc";
Expand Down Expand Up @@ -6823,11 +6863,12 @@ Parameter ``bdl``:
Returns:
`true` if `0` is encoded, `false` otherwise.)doc";

static const char *__doc_fiction_detail_is_operational_impl_get_number_of_simulator_invocations =
R"doc(Returns the total number of simulator invocations.
static const char *__doc_fiction_detail_is_operational_impl_get_operational_status_assessment_stats =
R"doc(Returns auxiliary results from the operational status assessment,
including the number of simulator invocations.

Returns:
The number of simulator invocations.)doc";
Auxiliary results from the operational status assessment.)doc";

static const char *__doc_fiction_detail_is_operational_impl_input_bdl_wires = R"doc(Input BDL wires.)doc";

Expand Down Expand Up @@ -6897,7 +6938,9 @@ the gate layout and parameters provided during initialization.
The operational status of the gate layout (either `OPERATIONAL` or
`NON_OPERATIONAL`).)doc";

static const char *__doc_fiction_detail_is_operational_impl_simulator_invocations = R"doc(Number of simulator invocations.)doc";
static const char *__doc_fiction_detail_is_operational_impl_stats =
R"doc(Auxiliary results from the operational status assessment, including
the number of simulator invocations.)doc";

static const char *__doc_fiction_detail_is_operational_impl_truth_table = R"doc(The specification of the layout.)doc";

Expand Down Expand Up @@ -13610,16 +13653,16 @@ Parameter ``input_bdl_wire_direction``:

Returns:
A pair containing the operational status of the gate layout
(either `OPERATIONAL` or `NON_OPERATIONAL`) and the number of
input combinations tested.)doc";
(either `OPERATIONAL` or `NON_OPERATIONAL`) along with auxiliary
statistics.)doc";

static const char *__doc_fiction_is_operational_params = R"doc(Parameters for the `is_operational` algorithm.)doc";

static const char *__doc_fiction_is_operational_params_input_bdl_iterator_params = R"doc(Parameters for the BDL input iterator.)doc";

static const char *__doc_fiction_is_operational_params_op_condition =
R"doc(Condition which is used to decide if a layout is `operational` or
`non-operational`.)doc";
R"doc(Condition that is used to decide if a layout is `operational` or `non-
operational`.)doc";

static const char *__doc_fiction_is_operational_params_sim_engine =
R"doc(The simulation engine to be used for the operational domain
Expand All @@ -13629,6 +13672,20 @@ static const char *__doc_fiction_is_operational_params_simulation_parameters =
R"doc(The simulation parameters for the physical simulation of the ground
state.)doc";

static const char *__doc_fiction_is_operational_params_simulation_results_mode = R"doc(Selector for the different ways to handle obtained simulation results.)doc";

static const char *__doc_fiction_is_operational_params_simulation_results_mode_DISCARD_SIMULATION_RESULTS =
R"doc(The simulation results are discarded after the operational status was
assessed.)doc";

static const char *__doc_fiction_is_operational_params_simulation_results_mode_KEEP_SIMULATION_RESULTS =
R"doc(The simulation results for each input pattern are returned for
operational gates.)doc";

static const char *__doc_fiction_is_operational_params_simulation_results_retention =
R"doc(Simulation results that are used to certify the status `OPERATIONAL`
are not kept by default.)doc";

static const char *__doc_fiction_is_positively_charged_defect =
R"doc(Checks whether the given defect has a positive charge value assigned
to it. This function is irrespective of the associated defect type.
Expand Down Expand Up @@ -13877,7 +13934,7 @@ Template parameter ``InputIt``:
Must meet the requirements of `LegacyInputIterator`.

Parameter ``first``:
Begin of the range to examime.
Begin of the range to examine.

Parameter ``last``:
End of the range to examine.
Expand All @@ -13895,7 +13952,7 @@ Template parameter ``InputIt``:
Must meet the requirements of `LegacyInputIterator`.

Parameter ``first``:
Begin of the range to examime.
Begin of the range to examine.

Parameter ``last``:
End of the range to examine.
Expand Down Expand Up @@ -14717,6 +14774,20 @@ static const char *__doc_fiction_operational_status_NON_OPERATIONAL = R"doc(The

static const char *__doc_fiction_operational_status_OPERATIONAL = R"doc(The layout is operational.)doc";

static const char *__doc_fiction_operational_status_assessment_stats =
R"doc(This struct is used to collect auxiliary results from the operational
status assessment.

Template parameter ``SiDB``:
cell-level layout type.)doc";

static const char *__doc_fiction_operational_status_assessment_stats_number_of_simulator_invocations = R"doc(The number of input combinations tested.)doc";

static const char *__doc_fiction_operational_status_assessment_stats_simulation_results =
R"doc(The charge distributions obtained for each input combination tested,
sorted by the binary representation of the respectively associated
input combinations.)doc";

static const char *__doc_fiction_orthogonal =
R"doc(A scalable placement & routing approach based on orthogonal graph
drawing as originally proposed in \"Scalable Design for Field-coupled
Expand Down
Loading
Loading