Signed-off-by: Edoardo Paone <
pa...@elet.polimi.it>
---
rtlib/monitors/op_manager.cc | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/rtlib/monitors/op_manager.cc b/rtlib/monitors/op_manager.cc
index 95f19e8..3df9026 100644
--- a/rtlib/monitors/op_manager.cc
+++ b/rtlib/monitors/op_manager.cc
@@ -61,6 +61,7 @@ bool OPManager::getHigherOP(OperatingPoint &op) {
if (vectorId == 0)
return false;
+ vectorId--;
op = operatingPoints[vectorId];
return true;
}
@@ -109,7 +110,10 @@ bool OPManager::getLowerOP(OperatingPoint &op, const OPFilterList &opFilters) {
}
bool OPManager::getHigherOP(OperatingPoint &op, const OPFilterList &opFilters) {
- for (int id = vectorId-1;id > 0; --id){
+ if (vectorId == 0)
+ return false;
+
+ for (int id = vectorId-1; id >= 0; --id){
if (isValidOP(operatingPoints[id], opFilters)){
vectorId = id;
op = operatingPoints[id];
--
1.7.9.5