The current implementation of ExternalLibraryManager::hasBounds is as follows:
bool ExternalLibraryManager::hasBounds(const std::string& l,
const std::string& f,
const std::string& h,
const std::string& n) {
const auto vn = decomposeVariableName(n);
const auto n1 = f + "_" + h + "_" + vn + "_LowerBound";
const auto n2 = f + "_" + h + "_" + vn + "_UpperBound";
const auto n3 = f + "_" + n + "_LowerBound";
const auto n4 = f + "_" + n + "_UpperBound";
return ((this->contains(l, n1)) || (this->contains(l, n2)) || (this->contains(l, n3)) ||
(this->contains(l, n4)));
} // end of ExternalLibraryManager::hasBounds
The definition of n3 and n4 is wrong and the implementation shall be:
bool ExternalLibraryManager::hasBounds(const std::string& l,
const std::string& f,
const std::string& h,
const std::string& n) {
const auto vn = decomposeVariableName(n);
const auto n1 = f + "_" + h + "_" + vn + "_LowerBound";
const auto n2 = f + "_" + h + "_" + vn + "_UpperBound";
const auto n3 = f + "_" + vn + "_LowerBound";
const auto n4 = f + "_" + vn + "_UpperBound";
return ((this->contains(l, n1)) || (this->contains(l, n2)) || (this->contains(l, n3)) ||
(this->contains(l, n4)));
} // end of ExternalLibraryManager::hasBounds
Fixed in:
rliv-3.1rliv-3.2trunk