bstride0 = bstride[0];
rptr = ret->data;
sptr = array->data;
+
+ if ((shift >= 0 ? shift : -shift ) > len)
+ {
+ shift = len;
+ len = 0;
+ }
+ else
+ {
+ if (shift > 0)
+ len = len - shift;
+ else
+ len = len + shift;
+ }
+
if (bound)
bptr = bound->data;
else
bptr = zeros;
- if (shift > 0)
- len = len - shift;
- else
- len = len + shift;
-
while (rptr)
{
/* Do the shift for this dimension. */