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

Issue1089 #168

Merged
merged 4 commits into from Aug 4, 2023
Merged

Issue1089 #168

merged 4 commits into from Aug 4, 2023

Conversation

ClemensBuechner
Copy link
Contributor

No description provided.

Copy link
Contributor

@salome-eriksson salome-eriksson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. I also grepped for "obedient" in the source code and it only occurs in the documentation note, so nothing seems to have gone under the radar.

NECESSARY = 3,
GREEDY_NECESSARY = 2,
NATURAL = 1,
REASONABLE = 0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could theoretically cause problems if the code refers to the number instead of the name anywhere, but I certainly hope this is not the case. I quickly grepped for 4/3/2/1/0 and did not notice anything (of course quite possible that I would have missed it).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree it's a bit risky but I've talked about this with Malte and we think it's best to start the counting at 0. There's certainly some clauses like if (order_type >= EdgeType::NATURAL) but a simple shift does clearly not affect these cases.
Now we're at least two who tried to find further usages but weren't able to. :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's never acceptable to use numbers instead of symbolic names for constants like these, so I wouldn't worry about the possibility that we do this anywhere in the code. If you want, we can also remove the numbers entirely and rely on the automatic numbers of enum values. But then we have to reverse the order, i.e., list them in the order REASONABLE, NATURAL, ... because numbering goes from 0 onwards.

@ClemensBuechner ClemensBuechner merged commit bd3c636 into aibasel:main Aug 4, 2023
12 checks passed
@ClemensBuechner ClemensBuechner deleted the issue1089 branch August 4, 2023 11:52
@@ -10,13 +10,12 @@ class LandmarkFactoryReasonableOrdersHPS : public LandmarkFactory {
virtual void generate_landmarks(const std::shared_ptr<AbstractTask> &task) override;

void approximate_reasonable_orders(
const TaskProxy &task_proxy, bool obedient_orders);
const TaskProxy &task_proxy);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line break no longer needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants