MCPcopy Create free account
hub / github.com/ERGO-Code/HiGHS / updateValueDistribution

Function updateValueDistribution

highs/util/HighsUtils.cpp:749–774  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

747}
748
749bool updateValueDistribution(const double value,
750 HighsValueDistribution& value_distribution) {
751 if (value_distribution.num_count_ < 0) return false;
752 value_distribution.sum_count_++;
753 const double abs_value = fabs(value);
754 value_distribution.min_value_ =
755 std::min(abs_value, value_distribution.min_value_);
756 value_distribution.max_value_ =
757 std::max(abs_value, value_distribution.max_value_);
758 if (!abs_value) {
759 value_distribution.num_zero_++;
760 return true;
761 }
762 if (abs_value == 1.0) {
763 value_distribution.num_one_++;
764 return true;
765 }
766 for (HighsInt i = 0; i < value_distribution.num_count_; i++) {
767 if (abs_value < value_distribution.limit_[i]) {
768 value_distribution.count_[i]++;
769 return true;
770 }
771 }
772 value_distribution.count_[value_distribution.num_count_]++;
773 return true;
774}
775
776double doublePercentage(const HighsInt of, const HighsInt in) {
777 return ((100.0 * of) / in);

Callers 2

iterationRecordMethod · 0.85
operationRecordAfterMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected