function y=cshift1d(x,nshift)
% CSHIFT1D circular shift operation 
% cshift(x,shift)
[nx nz]=size(x);
if nz > nx, nx=nz; end

if nshift < 0

	for i=1:nx+nshift
	    y(i)=x(i-nshift);
	end
	for i=1:abs(nshift)
	    y(nx+nshift+i)=x(i);
	end

end

if nshift > 0

	for i=nshift+1:nx
	    y(i)=x(i-nshift);
	end
	for i=1:nshift
	    y(i)=x(nx-nshift+i);
	end 

end

if nshift == 0

y=x;

end
