aboutsummaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2019-06-12 08:50:39 -0700
committerEddie Hung <eddie@fpgeh.com>2019-06-12 08:50:39 -0700
commitf7a9769c140f6a56e51d7384dfd8e76bf2aef66d (patch)
tree4be49b8b30a03ac7d4deafaa7318de275d5c3a7f /libs
parentac2aff9e28a087a9a2697cd6ccf754af738903a7 (diff)
parenta91ea6612a73568782c80bd12ce2875353e2b5c5 (diff)
downloadyosys-f7a9769c140f6a56e51d7384dfd8e76bf2aef66d.tar.gz
yosys-f7a9769c140f6a56e51d7384dfd8e76bf2aef66d.tar.bz2
yosys-f7a9769c140f6a56e51d7384dfd8e76bf2aef66d.zip
Merge remote-tracking branch 'origin/master' into xaig
Diffstat (limited to 'libs')
-rw-r--r--libs/subcircuit/subcircuit.cc10
1 files changed, 4 insertions, 6 deletions
diff --git a/libs/subcircuit/subcircuit.cc b/libs/subcircuit/subcircuit.cc
index 7c7236833..e8361a67e 100644
--- a/libs/subcircuit/subcircuit.cc
+++ b/libs/subcircuit/subcircuit.cc
@@ -320,12 +320,10 @@ class SubCircuit::SolverWorker
static int numberOfPermutations(const std::vector<std::string> &list)
{
- int numPermutations = 1;
- for (int i = 0; i < int(list.size()); i++) {
- assert(numPermutations < maxPermutationsLimit);
- numPermutations *= i+1;
- }
- return numPermutations;
+ constexpr size_t mappedPermutationsSize = 10;
+ constexpr int mappedPermutations[mappedPermutationsSize] = {1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880};
+ assert(list.size() < mappedPermutationsSize);
+ return mappedPermutations[list.size()];
}
static void permutateVectorToMap(std::map<std::string, std::string> &map, const std::vector<std::string> &list, int idx)