From 17df5fd296aaff18123c53a777f24111b3dd7336 Mon Sep 17 00:00:00 2001 From: Philip Hyunsu Cho Date: Wed, 1 May 2019 16:59:53 -0700 Subject: [PATCH] Simplify bound checking in feature interaction constraints (#4428) --- src/tree/split_evaluator.cc | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/tree/split_evaluator.cc b/src/tree/split_evaluator.cc index f12af9b19..55d2b99ff 100644 --- a/src/tree/split_evaluator.cc +++ b/src/tree/split_evaluator.cc @@ -515,12 +515,8 @@ class InteractionConstraint final : public SplitEvaluator { // permissible in a given node; returns false otherwise inline bool CheckInteractionConstraint(bst_uint featureid, bst_uint nodeid) const { // short-circuit if no constraint is specified - if (params_.interaction_constraints.empty()) { - return true; - } - CHECK_LT(nodeid, int_cont_.size()) << "Invariant violated: nodeid = " - << nodeid << ", int_cont_.size() = " << int_cont_.size(); - return (int_cont_[nodeid].count(featureid) > 0); + return (params_.interaction_constraints.empty() + || int_cont_.at(nodeid).count(featureid) > 0); } };