ortools/sat/linear_programming_constraint.cc
bool AddLinearExpressionMultiple(
    IntegerValue multiplier,
    const std::vector<std::pair<ColIndex, IntegerValue>>& terms,
    gtl::ITIVector<ColIndex, IntegerValue>* dense_vector) {
  for (const std::pair<ColIndex, IntegerValue> term : terms) {
    if (!AddProductTo(multiplier, term.second, &(*dense_vector)[term.first])) {
      return false;
    }
  }
  return true;
}
// Returns false in case of overflow
Returns false in case of overflow
Returns false in case of overflow
bool AddLinearExpressionMultiple(
    IntegerValue multiplier,
    const std::vector<std::pair<ColIndex, IntegerValue>>& terms,
    gtl::ITIVector<ColIndex, IntegerValue>* dense_vector) {
  for (const std::pair<ColIndex, IntegerValue> term : terms) {
    if (!AddProductTo(multiplier, term.second, &(*dense_vector)[term.first])) {
      return false;
    }
  }
  return true;
}
bool AddLinearExpressionMultiple ( IntegerValue multiplier , const std :: vector < std :: pair < ColIndex , IntegerValue > > & terms , gtl :: ITIVector < ColIndex , IntegerValue > * dense_vector ) { for ( const std :: pair < ColIndex , IntegerValue > term : terms ) { if ( ! AddProductTo ( multiplier , term . second , & ( * dense_vector ) [ term . first ] ) ) { return false ; } } return true ; }
Returns false in case of overflow
Returns false in case of overflow