slicelength. Include his test case.
vereq(a[-100:100:], a)
vereq(a[100:-100:-1], a[::-1])
vereq(a[-100L:100L:2L], [0,2,4])
+vereq(a[1000:2000:2], [])
+vereq(a[-1000:-2000:-2], [])
# deletion
del a[::2]
vereq(a, [1,3])
if (*stop < 0) *stop = -1;
if (*stop > length) *stop = length;
}
-
- if (*step < 0) {
+
+ if ((*stop - *start)*(*step) <= 0) {
+ *slicelength = 0;
+ }
+ else if (*step < 0) {
*slicelength = (*stop-*start+1)/(*step)+1;
} else {
*slicelength = (*stop-*start-1)/(*step)+1;
}
- if (*slicelength < 0) *slicelength = 0;
return 0;
}