OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "courgette/adjustment_method.h" | 5 #include "courgette/adjustment_method.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <limits> | 8 #include <limits> |
9 #include <list> | 9 #include <list> |
10 #include <map> | 10 #include <map> |
(...skipping 970 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
981 AddPatternToQueues(*p); | 981 AddPatternToQueues(*p); |
982 } | 982 } |
983 variable_queue_.ApplyPendingUpdates(); | 983 variable_queue_.ApplyPendingUpdates(); |
984 } | 984 } |
985 | 985 |
986 void RemovePatternFromQueues(const ShinglePattern* pattern) { | 986 void RemovePatternFromQueues(const ShinglePattern* pattern) { |
987 int single_use_score = SingleUseScore(pattern); | 987 int single_use_score = SingleUseScore(pattern); |
988 if (single_use_score > 0) { | 988 if (single_use_score > 0) { |
989 size_t n = single_use_pattern_queue_.erase(pattern); | 989 size_t n = single_use_pattern_queue_.erase(pattern); |
990 LOG_ASSERT(n == 1); | 990 LOG_ASSERT(n == 1); |
991 } else if (pattern->program_histogram_.size() == 0 && | 991 } else if (pattern->program_histogram_.empty() && |
992 pattern->model_histogram_.size() == 0) { | 992 pattern->model_histogram_.empty()) { |
993 NOTREACHED(); // Should not come back to life. | 993 NOTREACHED(); // Should not come back to life. |
994 } else if (pattern->program_histogram_.size() == 0) { | 994 } else if (pattern->program_histogram_.empty()) { |
995 // Useless pattern. | 995 // Useless pattern. |
996 } else { | 996 } else { |
997 active_non_single_use_patterns_.erase(pattern); | 997 active_non_single_use_patterns_.erase(pattern); |
998 AddPatternToLabelQueue(pattern, -1); | 998 AddPatternToLabelQueue(pattern, -1); |
999 } | 999 } |
1000 } | 1000 } |
1001 | 1001 |
1002 void AddPatternToQueues(const ShinglePattern* pattern) { | 1002 void AddPatternToQueues(const ShinglePattern* pattern) { |
1003 int single_use_score = SingleUseScore(pattern); | 1003 int single_use_score = SingleUseScore(pattern); |
1004 if (single_use_score > 0) { | 1004 if (single_use_score > 0) { |
1005 single_use_pattern_queue_.insert(pattern); | 1005 single_use_pattern_queue_.insert(pattern); |
1006 } else if (pattern->program_histogram_.size() == 0 && | 1006 } else if (pattern->program_histogram_.empty() && |
1007 pattern->model_histogram_.size() == 0) { | 1007 pattern->model_histogram_.empty()) { |
1008 } else if (pattern->program_histogram_.size() == 0) { | 1008 } else if (pattern->program_histogram_.empty()) { |
1009 // Useless pattern. | 1009 // Useless pattern. |
1010 } else { | 1010 } else { |
1011 active_non_single_use_patterns_.insert(pattern); | 1011 active_non_single_use_patterns_.insert(pattern); |
1012 AddPatternToLabelQueue(pattern, +1); | 1012 AddPatternToLabelQueue(pattern, +1); |
1013 } | 1013 } |
1014 } | 1014 } |
1015 | 1015 |
1016 void AddPatternToLabelQueue(const ShinglePattern* pattern, int sign) { | 1016 void AddPatternToLabelQueue(const ShinglePattern* pattern, int sign) { |
1017 // For each possible assignment in this pattern, update the potential | 1017 // For each possible assignment in this pattern, update the potential |
1018 // contributions to the LabelInfo queues. | 1018 // contributions to the LabelInfo queues. |
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1292 | 1292 |
1293 //////////////////////////////////////////////////////////////////////////////// | 1293 //////////////////////////////////////////////////////////////////////////////// |
1294 | 1294 |
1295 } // namespace adjustment_method_2 | 1295 } // namespace adjustment_method_2 |
1296 | 1296 |
1297 AdjustmentMethod* AdjustmentMethod::MakeShingleAdjustmentMethod() { | 1297 AdjustmentMethod* AdjustmentMethod::MakeShingleAdjustmentMethod() { |
1298 return new adjustment_method_2::Adjuster(); | 1298 return new adjustment_method_2::Adjuster(); |
1299 } | 1299 } |
1300 | 1300 |
1301 } // namespace courgette | 1301 } // namespace courgette |
OLD | NEW |