lib/stack.utility.js
function(o,start,end){
       var i = 0,len = o.length;
       if(!len || len <= 0) return false;
       start = Math.abs(start); end = Math.abs(end);
       if(end > (len - start)){
        end = (len - start);
      }

      for(; i < len; i++){
        o[i] = o[start];
        start +=1;
        if(i >= end) break;
      }

      o.length = end;
      return o;

    }
function(o,start,end){
       var i = 0,len = o.length;
       if(!len || len <= 0) return false;
       start = Math.abs(start); end = Math.abs(end);
       if(end > (len - start)){
        end = (len - start);
      }

      for(; i < len; i++){
        o[i] = o[start];
        start +=1;
        if(i >= end) break;
      }

      o.length = end;
      return o;

    }
function ( o , start , end ) { var i = 0 , len = o . length ; if ( ! len || len <= 0 ) return false ; start = Math . abs ( start ) ; end = Math . abs ( end ) ; if ( end > ( len - start ) ) { end = ( len - start ) ; } for ( ; i < len ; i ++ ) { o [ i ] = o [ start ] ; start += 1 ; if ( i >= end ) break ; } o . length = end ; return o ; }
destructive splice,changes the giving array instead of returning a new one writing to only work with positive numbers only
destructive splice changes the giving array instead of returning a new one writing to only work with positive numbers only