diff --git a/driver/portfolio_runner.py b/driver/portfolio_runner.py index 3f0a7a3f5f..011ecff050 100644 --- a/driver/portfolio_runner.py +++ b/driver/portfolio_runner.py @@ -83,9 +83,10 @@ def compute_run_time(timeout, configs, pos): print("remaining time: {}".format(remaining_time)) relative_time = configs[pos][0] remaining_relative_time = sum(config[0] for config in configs[pos:]) - print("config {}: relative time {}, remaining {}".format( - pos, relative_time, remaining_relative_time)) - return limits.round_time_limit(remaining_time * relative_time / remaining_relative_time) + absolute_time_limit = limits.round_time_limit(remaining_time * relative_time / remaining_relative_time) + print("config {}: relative time {}, remaining time {}, absolute time {}".format( + pos, relative_time, remaining_relative_time, absolute_time_limit)) + return absolute_time_limit def run_sat_config(configs, pos, search_cost_type, heuristic_cost_type, @@ -120,7 +121,7 @@ def run_sat(configs, executable, sas_file, plan_manager, final_config, configs, pos, search_cost_type, heuristic_cost_type, executable, sas_file, plan_manager, timeout, memory) if exitcode is None: - return + continue yield exitcode if exitcode == returncodes.SEARCH_UNSOLVABLE: diff --git a/misc/style/run-all-style-checks.py b/misc/style/run-all-style-checks.py index 94a6347678..b6ef8e4339 100755 --- a/misc/style/run-all-style-checks.py +++ b/misc/style/run-all-style-checks.py @@ -25,7 +25,7 @@ def check_python_style(): "flake8", # https://flake8.pycqa.org/en/latest/user/error-codes.html "--extend-ignore", "E128,E129,E131,E261,E266,E301,E302,E305,E306,E402,E501,E741,F401", - "--exclude", "run-clang-tidy.py,txt2tags.py,.tox", + "--exclude", "run-clang-tidy.py,txt2tags.py,.tox,.venv", "src/translate/", "driver/", "misc/", "build.py", "build_configs.py", "fast-downward.py"], cwd=REPO) except FileNotFoundError: diff --git a/misc/tox.ini b/misc/tox.ini index afd0e2be39..4d1f03d865 100644 --- a/misc/tox.ini +++ b/misc/tox.ini @@ -70,7 +70,6 @@ commands = [testenv:clang-tidy] changedir = {toxinidir}/style/ -deps = PyYAML==6.0.1 commands = python run-clang-tidy.py diff --git a/src/search/algorithms/int_packer.cc b/src/search/algorithms/int_packer.cc index d98da22927..6888156122 100644 --- a/src/search/algorithms/int_packer.cc +++ b/src/search/algorithms/int_packer.cc @@ -23,6 +23,11 @@ static IntPacker::Bin get_bit_mask(int from, int to) { } static int get_bit_size_for_range(int range) { + assert(range >= 1); + // Domains in domain-abstracted tasks may have size one. + if (range == 1) { + return 1; + } int num_bits = 0; while ((1U << num_bits) < static_cast(range)) ++num_bits; diff --git a/src/search/algorithms/named_vector.h b/src/search/algorithms/named_vector.h index 47f2cb71b1..619053acf6 100644 --- a/src/search/algorithms/named_vector.h +++ b/src/search/algorithms/named_vector.h @@ -28,6 +28,10 @@ class NamedVector { elements.push_back(element); } + void push_back(T &&element) { + elements.push_back(std::move(element)); + } + T &operator[](int index) { return elements[index]; } diff --git a/src/search/operator_id.h b/src/search/operator_id.h index 0e8f5f8b3e..beb520ac5a 100644 --- a/src/search/operator_id.h +++ b/src/search/operator_id.h @@ -45,6 +45,10 @@ class OperatorID { return !(*this == other); } + bool operator<(const OperatorID &other) const { + return index < other.index; + } + int hash() const { return index; }