Browse Source

Fixed a couple of warnings

main
TimQu 8 years ago
parent
commit
43fdf0a89b
  1. 24
      src/storm/storage/geometry/NativePolytope.cpp
  2. 2
      src/storm/storage/geometry/nativepolytopeconversion/HyperplaneEnumeration.cpp
  3. 6
      src/storm/storage/geometry/nativepolytopeconversion/QuickHull.cpp

24
src/storm/storage/geometry/NativePolytope.cpp

@ -25,8 +25,8 @@ namespace storm {
uint_fast64_t maxCol = halfspaces.front().normalVector().size();
uint_fast64_t maxRow = halfspaces.size();
A = EigenMatrix(maxRow, maxCol);
b = EigenVector(static_cast<unsigned long int>(maxRow));
for ( uint_fast64_t row = 0; row < maxRow; ++row ){
b = EigenVector(maxRow);
for (int_fast64_t row = 0; row < A.rows(); ++row ){
assert(halfspaces[row].normalVector().size() == maxCol);
b(row) = halfspaces[row].offset();
A.row(row) = storm::adapters::EigenAdapter::toEigenVector(halfspaces[row].normalVector());
@ -107,7 +107,7 @@ namespace storm {
std::vector<Halfspace<ValueType>> result;
result.reserve(A.rows());
for(uint_fast64_t row=0; row < A.rows(); ++row){
for (int_fast64_t row=0; row < A.rows(); ++row){
result.emplace_back(storm::adapters::EigenAdapter::toStdVector(EigenVector(A.row(row))), b(row));
}
return result;
@ -145,7 +145,7 @@ namespace storm {
template <typename ValueType>
bool NativePolytope<ValueType>::contains(Point const& point) const{
EigenVector x = storm::adapters::EigenAdapter::toEigenVector(point);
for(uint_fast64_t row=0; row < A.rows(); ++row){
for (int_fast64_t row=0; row < A.rows(); ++row){
if ((A.row(row) * x)(0) > b(row)){
return false;
}
@ -252,7 +252,7 @@ namespace storm {
resultConstraints.reserve(A.rows() + nativeRhs.A.rows());
// evaluation of rhs in directions of lhs
for (uint_fast64_t i = 0; i < A.rows(); ++i) {
for (int_fast64_t i = 0; i < A.rows(); ++i) {
auto optimizationRes = nativeRhs.optimize(A.row(i));
if ( optimizationRes.second ) {
resultConstraints.emplace_back(A.row(i), b(i) + (A.row(i) * optimizationRes.first)(0));
@ -261,7 +261,7 @@ namespace storm {
}
// evaluation of lhs in directions of rhs
for (uint_fast64_t i = 0; i < nativeRhs.A.rows(); ++i) {
for (int_fast64_t i = 0; i < nativeRhs.A.rows(); ++i) {
auto optimizationRes = optimize(nativeRhs.A.row(i));
if ( optimizationRes.second ) {
resultConstraints.emplace_back(nativeRhs.A.row(i), nativeRhs.b(i) + (nativeRhs.A.row(i) * optimizationRes.first)(0));
@ -274,7 +274,7 @@ namespace storm {
} else {
EigenMatrix newA(resultConstraints.size(), resultConstraints.front().first.rows());
EigenVector newb(resultConstraints.size());
for(uint_fast64_t i = 0; i < newA.rows(); ++i) {
for (int_fast64_t i = 0; i < newA.rows(); ++i) {
newA.row(i) = resultConstraints[i].first;
newb(i) = resultConstraints[i].second;
}
@ -308,7 +308,7 @@ namespace storm {
storm::solver::Z3LpSolver solver(storm::solver::OptimizationDirection::Maximize);
std::vector<storm::expressions::Variable> variables;
variables.reserve(A.cols());
for (uint_fast64_t i = 0; i < A.cols(); ++i) {
for (int_fast64_t i = 0; i < A.cols(); ++i) {
variables.push_back(solver.addUnboundedContinuousVariable("x" + std::to_string(i), direction[i]));
}
std::vector<storm::expressions::Expression> constraints = getConstraints(solver.getManager(), variables);
@ -339,7 +339,7 @@ namespace storm {
storm::solver::Z3LpSolver solver(storm::solver::OptimizationDirection::Maximize);
std::vector<storm::expressions::Variable> variables;
variables.reserve(A.cols());
for (uint_fast64_t i = 0; i < A.cols(); ++i) {
for (int_fast64_t i = 0; i < A.cols(); ++i) {
variables.push_back(solver.addUnboundedContinuousVariable("x" + std::to_string(i), direction(i)));
}
std::vector<storm::expressions::Expression> constraints = getConstraints(solver.getManager(), variables);
@ -375,7 +375,7 @@ namespace storm {
std::vector<storm::expressions::Variable> NativePolytope<ValueType>::declareVariables(storm::expressions::ExpressionManager& manager, std::string const& namePrefix) const {
std::vector<storm::expressions::Variable> result;
result.reserve(A.cols());
for(uint_fast64_t col=0; col < A.cols(); ++col){
for (int_fast64_t col=0; col < A.cols(); ++col){
result.push_back(manager.declareVariable(namePrefix + std::to_string(col), manager.getRationalType()));
}
return result;
@ -384,9 +384,9 @@ namespace storm {
template <typename ValueType>
std::vector<storm::expressions::Expression> NativePolytope<ValueType>::getConstraints(storm::expressions::ExpressionManager const& manager, std::vector<storm::expressions::Variable> const& variables) const {
std::vector<storm::expressions::Expression> result;
for(uint_fast64_t row = 0; row < A.rows(); ++row) {
for (int_fast64_t row = 0; row < A.rows(); ++row) {
storm::expressions::Expression lhs = manager.rational(A(row,0)) * variables[0].getExpression();
for(uint_fast64_t col=1; col < A.cols(); ++col) {
for (int_fast64_t col=1; col < A.cols(); ++col) {
lhs = lhs + manager.rational(A(row,col)) * variables[col].getExpression();
}
result.push_back(lhs <= manager.rational(b(row)));

2
src/storm/storage/geometry/nativepolytopeconversion/HyperplaneEnumeration.cpp

@ -91,7 +91,7 @@ namespace storm {
for(auto const& mapEntry : vertexCollector){
for(auto const& oldHyperplaneIndex : mapEntry.second){
//ignore the hyperplanes which are redundant, i.e. for which there is no new index
if(oldToNewIndexMapping[oldHyperplaneIndex] < relevantVector.rows()){
if((int_fast64_t) oldToNewIndexMapping[oldHyperplaneIndex] < relevantVector.rows()){
vertexSets[oldToNewIndexMapping[oldHyperplaneIndex]].insert(resultVertices.size());
}
}

6
src/storm/storage/geometry/nativepolytopeconversion/QuickHull.cpp

@ -117,7 +117,7 @@ namespace storm {
vectorMatrix.col(i) << points[subset[i]], storm::utility::one<ValueType>();
}
vectorMatrix.col(subset.size()) << points[item], storm::utility::one<ValueType>();
return (vectorMatrix.fullPivLu().rank() > subset.size());
return (vectorMatrix.fullPivLu().rank() > (int_fast64_t) subset.size());
}
template<typename ValueType>
@ -383,7 +383,7 @@ namespace storm {
std::unordered_map<EigenVector, std::vector<uint_fast64_t>> relevantVerticesMap;
relevantVerticesMap.reserve(points.size());
for (uint_fast64_t vertexIndex = 0; vertexIndex < hyperplanesOnVertexCounter.size(); ++vertexIndex){
if(hyperplanesOnVertexCounter[vertexIndex] >= points.front().rows()){
if ((int_fast64_t) hyperplanesOnVertexCounter[vertexIndex] >= points.front().rows()){
auto mapEntry = relevantVerticesMap.insert(typename std::unordered_map<EigenVector, std::vector<uint_fast64_t>>::value_type(points[vertexIndex], std::vector<uint_fast64_t>())).first;
mapEntry->second.push_back(vertexIndex);
}
@ -402,7 +402,7 @@ namespace storm {
for (auto& vertexVector : vertexSets){
std::set<uint_fast64_t> vertexSet;
for (auto const& oldIndex : vertexVector){
if(hyperplanesOnVertexCounter[oldIndex] >= points.front().rows()){
if ((int_fast64_t) hyperplanesOnVertexCounter[oldIndex] >= points.front().rows()){
vertexSet.insert(oldToNewIndexMapping[oldIndex]);
}
}

Loading…
Cancel
Save