diff options
author | Aman Goel <amangoel@umich.edu> | 2019-09-27 12:30:27 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-27 12:30:27 -0400 |
commit | cb0dc6e68b9432edc9c30c153954be53c8576911 (patch) | |
tree | c137f970f949117d04632158d73bfe1f9c146e6f /libs/subcircuit/subcircuit.cc | |
parent | 4d343fc1cdafe469484846051680ca0b1f948549 (diff) | |
parent | 4b15cf5f76e2226bbce1a73d1e0ff54fbf093fe8 (diff) | |
download | yosys-cb0dc6e68b9432edc9c30c153954be53c8576911.tar.gz yosys-cb0dc6e68b9432edc9c30c153954be53c8576911.tar.bz2 yosys-cb0dc6e68b9432edc9c30c153954be53c8576911.zip |
Merge pull request #7 from YosysHQ/master
Syncing with official repo
Diffstat (limited to 'libs/subcircuit/subcircuit.cc')
-rw-r--r-- | libs/subcircuit/subcircuit.cc | 10 |
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) |