diff --git a/src/main/java/org/apache/sysds/runtime/util/UtilFunctions.java b/src/main/java/org/apache/sysds/runtime/util/UtilFunctions.java index 0530c0b6bc7..f233b69a11c 100644 --- a/src/main/java/org/apache/sysds/runtime/util/UtilFunctions.java +++ b/src/main/java/org/apache/sysds/runtime/util/UtilFunctions.java @@ -448,7 +448,10 @@ public static long getSeqLength(double from, double to, double incr, boolean che return 0; // invalid loop configuration } long tmp = (long) Math.floor(to/incr - from/incr); - return 1L + tmp + ((from+tmp*incr < to) ? 1 : 0); + if( incr > 0 ) + return 1L + tmp + ((from+(tmp+1)*incr <= to) ? 1 : 0); + else + return 1L + tmp + ((from+(tmp+1)*incr >= to) ? 1 : 0); } /**